24
单片机原理 STC15F2K60S2 微机原理与单片机接口技术复习要点 第一章 微型计算机概述(了解概念) 1.1.2 微型计算机基本构成(基本结构由哪些部分构成) 1.1.3 单片微型计算机简介(什么是单片机,单片机的结构及各个部分的功能, 常见的单片机有哪些) 1>.微型计算机基本构成:微处理器,存储器(ROM RAM)与输入输出接口(I/O 接口)及外部设备及连接他们的系统总线组成。 2>.已知一个 8 位数据的存储器有 16 根地址总线,则该存储器的容量为 64KB。 (2 16 =64K) 3>.微机的系统总线结构是:三总线结构:地址总线、数据总线、控制总线、 第二章 微型计算机的基础知识(熟悉) 微型计算机的数制及其编码(会转换)微型计算机的常用技术术语和常见技术(熟悉概念) 熟悉概念:汉子区位码,国标码,汉子机内码,汉子字形码 计算机的冯诺依曼结构与哈佛结构 第三章计算机系统的组成和工作原理(掌握重点) 3.1 模型机的工作过程(了解) 3.1 单片机的结构(熟悉) 1>.关于 STC15F2K60S2 系列单片机的典型资源(熟悉): ①.有 8 通道 10 位 ADC 转换。 ②.两个全双工异步串行口。 ③.三个定时器 T0 T1 T2。(其中 T0 有 4 种工作方式,T1 有 3 种工作方式, T2 有 1 种工作方式。但是 T1 和 T2 可以作为波特率发生器)

第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

单片机原理 STC15F2K60S2 微机原理与单片机接口技术复习要点

第一章 微型计算机概述(了解概念)

1.1.2 微型计算机基本构成(基本结构由哪些部分构成)

1.1.3 单片微型计算机简介(什么是单片机,单片机的结构及各个部分的功能,

常见的单片机有哪些)

1>.微型计算机基本构成:微处理器,存储器(ROM RAM)与输入输出接口(I/O

接口)及外部设备及连接他们的系统总线组成。

2>.已知一个 8 位数据的存储器有 16 根地址总线,则该存储器的容量为 64KB。

(216=64K)

3>.微机的系统总线结构是:三总线结构:地址总线、数据总线、控制总线、

第二章 微型计算机的基础知识(熟悉)

微型计算机的数制及其编码(会转换),

微型计算机的常用技术术语和常见技术(熟悉概念)

熟悉概念:汉子区位码,国标码,汉子机内码,汉子字形码

计算机的冯诺依曼结构与哈佛结构

第三章计算机系统的组成和工作原理(掌握重点)

3.1 模型机的工作过程(了解)

3.1 单片机的结构(熟悉)

1>.关于 STC15F2K60S2 系列单片机的典型资源(熟悉):

①.有 8通道 10位 ADC转换。

②.两个全双工异步串行口。

③.三个定时器 T0 T1 T2。(其中 T0有 4种工作方式,T1有 3种工作方式,

T2有 1 种工作方式。但是 T1和 T2可以作为波特率发生器)

Page 2: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

④.增强型 8051 CPU,每个机器周期只有一个系统时钟,时钟频率分为 12

分频或不分频。

⑤.60KB Flash程序存储器;1KB数据 Flash(EEPROM); 2048 字节的 SRAM

⑥. 一个高速同步串行通信端口(SPI)

⑦.3通道 PWM/可编程计数器阵列/捕获/比较单元

⑧.内部高可靠上电复位电路和硬件看门狗

⑨.内部集成高精度 R/C时钟,常温时,可省去外部晶振电路

2>.单片机的中央处理器是由运算器和控制器组成。

程序状态字(PSW)各位的定义(记住)

3>.STC15 单片机的储存结构。(要有印象)

结构特点: 程序存储器和数据存储器的寻址空间分开。

结构划分:片内集成 4个物理上相互独立的存储器空间: 程序 Flash 存储器

(60K)、数据 Flash 存储器(1K)、内部数据存储器和扩展数据存储器。

内部数据存储器分为低 128 字节 RAM(地址 00H—7FH)、高 128 字节的 RAM

(地址 80H—FFH),和特殊功能寄存器(SFR)(地址 80H—FFH)

其中低 128字节又分为工作寄存器区(00H—1FH),位寻址区(20H—2FH)。

用户与堆栈 RAM 区(30H—7FH)。工作寄存器区的功能由 RS0与 RS1 决定。

位寻址区:片内的基本 RAM的 20H----2FH 共 16个字节是位寻址区,每个字

节 8 个位,共 128 位,其对应的地址分别为 00H-----7FH.位地址还可以用字

节地址加位号表示,如 20H的单位的 D5位,其地址可用 05H 表示,也可用

20.5H 表示。

用户与堆栈 RAM区;30H-----7FH共 80个字节 。其中高 128字节的 RAM的

地址为 80H--FFH .高 128字节的 RAM只能采用寄存器间接寻址方式访问;

特殊功能寄存器只能采用直接寻址方式,字节地址能被 8 整除的特殊功能

寄存器可以位寻址。

堆栈寻址只能采用直接寻址方式。

4>.关于 STC15F2K60S2 的引脚(有印象就行)

Page 3: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

数据总线:P0口

访问外部存储器时地址总线:P0口(低 8位);P2口(高 8位)

控制引脚:

① 地址锁存信号线(ALE):P4.5

② 外部存储器读操作(R__

D__

):P4.4

③ 外部存储器写操作(W__

R__

):P4.2

5>.STC15F2K60S2 的 I/O 口工作模式(掌握)

4 种工作模式:准双向口/弱上拉,推挽/强上拉,输入/高阻和开漏模式。

复位后为准双向口/弱上拉模式。

每个口的工作模式由 2个控制寄存器中的相应位控制(PnM0和 PnM1,

n=0,1,2,3,4,5)

例:若设置 P1.7为开漏模式, P1.6为强推挽输入输出模式, P1.5为高阻输入

模式, P1.4, P1.3, P1.2, P1.1 和 P1.0为弱上拉(准双向口 )模式,

则 P1M0 和 P1M1设置如下:

MOV P1M0, #11000000B

MOV P1M1, #10100000B

I/O 口 4 种工作模式的结构和工作原理,特别是准双向口/弱上拉的主要特点:

当从端口引脚上输入数据时,T4 应一直处于截止状态。假定在输入之前曾输

出锁存过数据 0,则 T4 导通,这样引脚上电位就被箝位在 0 电平, 使输入高电平无

法读入。

因此,作为准双向口使用时,输入数据时, 应先向口写 1, 使T4截止, 然后方可

作高阻抗输入。这是准双向口的主要特点。

Page 4: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

第四章 指令系统及汇编语言程序

1>.指令寻址方式:(要掌握会判断)

1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

CPU 在得到指令的同时也立即得到了操作数。

2. 寄存器寻址:指令所用操作数在 CPU的内部寄存器中, 指令中操作数用寄存

器名(A, R0~R7, B, DPTR)表示。一条指令中, 源操作数和目的操作数, 都

可采用寄存器寻址方式。

3. 寄存器间接寻址:操作数所在存储单元的有效地址在指定的寄存器中,指令

中给出的是存放这个地址的寄存器。用作寄存器间接寻址的寄存器有 R0, R1,

数据指针 DPTR。使用间接寻址的标志是在寄存器前面加一个“@”号,以区

别于寄存器寻址。

比如:MOV R0,#30H

MOV A,@RO

4. 直接寻址:指令的操作数在存储器中时,指令中给出的是该操作数所在存储

器的地址。

比如:MOV A,20H

5. 变址寻址:操作数地址=偏移量(A内容) +变址基值。两种寻址方式:1. PC

作基地址加上 A的内容形成操作数地址 A+PC。2. DPTR作基地址加上 A内

容形成操作数地址 A+DPTR。

两种:MOVC A,@A+DPTR,MOVC A,@A+PC,

6. 相对寻址:该寻址方式主要用于相对跳转指令。 把指令中给定的地址偏移

量与下一条指令所在单元地址(即程序计数器 PC中的内容)相加,即得到真

正的程序转移地址。

7. 位寻址:位操作指令能对位地址空间每一位进行运算和传送操作。

例如:MOV C, P1.0 ;将 P1.0的状态传送到 C

SETB 20H.6 ;将 20H单元的 D6位置为 1

CLR 25H ;将 25H位的内容清零

2>.指令表(必须记住,提供英文全称辅助记忆)

MOV Dest,Source 赋值(传送)(Move)

Page 5: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

MOVX Dest,Source (片外)赋值

MOVC Dest,Source (存储器)赋值(Move Code)

XCH Dest,Source (寄存器间)交换(Exchange)

XCHD Dest.,Source (寄存器间低 4位)交换

SWAP A (自己的低 4位与高 4 位)交换

PUSH Source 入栈操作

POP Dest 出栈操作

ADD/ADDC Dest,Source 加法/带进位的加法(Addition)

DA A 累加器十进制调整

SUBB Dest,Source 减法(Subtraction)

MUL AB 乘法(Multiplication)

DIV AB 除法(Division)

INC Dest 自加(Increment)

DEC Dest 自减(Decrement)

ANL A(或 direct),Source 逻辑与(And Logic)

ORL A(或 direct),Source 逻辑或(Or Logic)

XRL A(或 direct),Source 逻辑异或(Exclusive Or Logic)

ANL C,bit(或/bit) 位与

ORL C,bit(或/bit) 位或)

CLR A(或 C,或 bit) 清零(Clear)

SETB C(或 bit)

CPL A(或 C,或 bit) 取反(Converse Position Logical)

RL A 循环左移(Rotate Left)

RLC A 循环左移加 CY(Rotate Left with CY)

RR A 循环右移(Rotate Right)

RRC A 循环右移加 CY(Rotate Right with CY)

AJMP addr 短转移(绝对转移)(Absolute Jump)

LJMP addr 长转移(Long Jump)

SJMP addr 相对转移(Short Jump)

Page 6: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

JMP @A+DPTR 相对转移(Short Jump)

NOP 空操作(Not Operation)

JZ addr 为 0转移(Jump if Zero)

JNZ addr 非 0转移(Jump if Not Zero)

CJNE Dest,Source,addr 比较不等转移(Compare Jump if Not Equal)

DJNZ Dest,addr 减 1非 0转移(Decrement Jump if Not Zero)

JC addr C为 1转移(Jump if C=1)

JNC addr C非 1转移(Jump if Not C=1)

JB bit, addr 直接地址位为 1转移(Jump if bit=1)

JNB bit, addr 直接地址位非 1 转移(Jump if Not bit=1)

JBC bit, addr 直接地址位为 1转移(Jump if bit=1),且令 bit=0

LCALL addr 子程序长调用(Long Call)

ACALL addr 子程序绝对调用(Absolute Call)

RET 子程序返回(Return)

RETI 中断返回( Return from Interruption)

(备注:Source,Dest 为源操作数和目的操作数,addr为地址(符号名地址)

或相对偏移量)。

3>.伪指令(会用)

起始地址设置伪指令 ORG

数据定义伪指令 DB,DW

例如:

ORG 1000H

SEG: DB 23H ;定义一个字节

DW 1000H ;定义一个字

DB ‘MCS-51’ ;定义一个字符串

等值伪指令 EQU;例如:BUFFER DATA 40H

DATA 指令; 例如: BUFFER DATA 40H

XDATA 指令; 例如:BUFFER DATA 40H

定义位命令 BIT ;例如: DOGOUT BIT P3.4;

Page 7: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

文件包含命令 INCLUDE;例如:$INCLUDE (STC15.INC)

条件汇编控制指令

汇编结束伪指令 END

4>.4.9 节能读懂程序(),4.10 结合到综合训练课中

第五章(要学会应用)

结合到综合训练课中,掌握作业内容。

第六章 中断(概念、原理)

1. 什么是中断?所谓中断是指 CPU在正常执行程序的过程中,由于某种随机

发生的事件使它暂停当前正在执行的程序,转而去执行另外的一段程序(中

断服务程序),在这段程序完成后自动返回被打断的程序处继续执行,这一

过程称为中断。

2. 中断和调用子程序之间的主要区别

中 断 调用子程序

产生时刻是随机的 程序事先安排好的

既保护断点(自动), 又保护现场(程序) 可只保护断点(自动)

处理程序的入口地址是单片机硬件确定的, 用户不

能改变

子程序的入口地址是程序编

排的

3. .什么是中断源?STC15F2K60S2 单片机有哪几个中断源?

中断源是指能发出中断请求,引起中断的装置或事件。

STC15F2K60S2单片机提供 14个中断请求源:

5个外部中断请求(INT0,INT1,/INT2,/INT3,/INT4,),3个片内定时/计数器

(T0,T1,T2)溢出中断请求,2个片内异步串行口(UART)中断请求,1个 ADC中

断,1个 SPI中断,1 个低电压检测中断,1个 PCA中断。

4. STC15F2K60S2 单片机的 14 个中断中,哪些具有 2 个中断优先级,

可实现二级中断服务程序嵌套?哪些中断只有固定的最低优先级

Page 8: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

中断?

14个中断中,下列中断具有 2个中断优先级:2个外部中断(INT0,INT1),2个

片内定时/计数器(T0,T1)溢出中断,2个片内异步串行口(UART)中断,1 个 ADC

中断,1 个 SPI中断,1个低电压检测中断,1 个 PCA中断。

剩下的 4个中断只有固定的最低优先级中断:外部中断/INT2,/INT3,/INT4 和定

时器 2(T2)。

5. STC15F2K60S2 单片机对中断源的允许和禁止由哪几级允许控制

组成?IE、IE2、IP、IP2 和外部中断使能和时钟输出寄存器

INT_CLKO 的相应位的作用是什么?

IE

IE2

时钟输出寄存器 INT_CLKO

IP 位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 PPCA PLVD PADC PS PT1 PX1 PT0 PX0

IP2

单片机对中断源的允许和禁止由两级允许控制组成,即总控

制和对每个中断源的分别控制。

各位的作用(简答,这里从略)

6. 哪些中断中断标志是硬件自动清零?哪些中断中断标志必须由用

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 EA ELVD EADC ES ET1 EX1 ET0 EX0

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 ET2 ESPI ES2

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 EX4 EX3 EX2 LVD_WAKE T2CLKO T1CLKO T0CLKO

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 PSPI PS2

Page 9: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

户在软件清零?

定时器/计数器 T0、T1的中断标志 TF0或 TF1,外部中断 0和外部中断 1的中

断标志 IE0和 IE1都是硬件自动清零。外部中断 2、3和 4和定时器 2(T2)的中断

请求标志对用户不可见, CPU 响应外部中断 2~4 后,由硬件自动清除中断请求标

志,无需用户清 0。

串行口中断标志(UART1 为 TI和 RI,UART2为 S2TI和 S2RI)、ADC中断请求标

志 ADC_FLAG、SPI中断请求标志位 SPIF、 PCA中断请求标志位 CF/CCF0/CCF1/CCF2

和低电压检测中断请求标志位 LVDF不能自动硬件自动清除,必须由用户在软件清

零。

7. STC15F2K60S2 单片机中断响应的条件有哪些?CPU 响应中断

时,将执行哪些操作?

单片机响应中断的条件:

中断源有请求。(相应中断标志位为 1)

相应的中断允许位设置为 1。

CPU中断允许总控制位开放 (EA=1);

无同级或高级中断正在处理。

CPU 响应中断时,将执行如下操作:

(1)当前正被执行的指令执行完毕,如果当前正在执行的指令是 RETI 或任

何访问 IE、IP寄存器的指令,则应至少再执行一条其他指令。

(2)(下一条指令)PC值被压入堆栈;(断点保护(自动))

(3)现场保护;

(4)阻止同级别其他中断;

(5)将中断服务程序的入口地址(中断向量地址)装载到程序计数器 PC;

(6)执行相应的中断服务程序 ISR。

(7)恢复现场后,中断服务程序 ISR以 RETI(中断返回)指令结束,将 PC值从

堆栈中取回, 之后从程序的断点处继续执行。

8. 中断服务程序由哪几个部分组成?

中断服务程序由四个部分组成,即保护现场、中断服务、恢复现场以及中断

返回。

9. 中断服务程序入口地址:(了解)

Page 10: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

外部中断 0 0003H

定时器/计数器 T0 中断 000BH

外部中断 1 0013H

定时器/计数器 T1 中断 001BH

串行口中断 0023H

A/D 转换中断 002BH

LVD 中断 0033H

PCA 中断 003BH

串行口 2中断 0043H

SPI 中断 004BH

外部中断 2 0053H

外部中断 3 005BH

定时器 T2中断 0063H

预留中断 006BH、0073H、007BH

外部中断 4 0083H

第七章 定时计数器与可编程计数器阵列()

1. 定时/计数器 0,1,2 都有哪几种工作方式?定时器工作方式控制寄

存器 TMOD 中 M1,M0,C/T 位的作用是怎样的?

定时器工作方式控制寄存器 TMOD

位号 D7 D6 D5 D4 D3 D2 D1 D0

定时器名 定时器 1 定时器 0

位名称 GATE C/T M1 M0 GATE C/T M1 M0

T0、T1工作方式:(建议记住)

M1 M0 工作方式 功能

0 0 方式 0 16位自动重装初值

0 1 方式 1 16位定时,不自动重载初值

1 0 方式 2 8位自动重载初值

Page 11: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

1 1 方式 3 留作备用

2. 定时器控制寄存器 TCON 的位 TF1,TF0,FR1,TR0 的作用?

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

3. 辅助寄存器 AUXR 的各位的作用?

位号 D7 D6 D5 D4 D3 D2 D1 D0

位名称 T0x12 T1x12 UART_M0x6 T2R T2_C / T T2x12 EXTRAM S1ST2

4. 假设定时器的系统时钟频率已知(例如 6MHz),在 12 分频或不

分频的情况下,定时器 0(1,2)的最大定时能力是多少?若给定

定时时间(例如 1ms, 1s),如何计算定时器的计数次数?如何设

置定时器 0(1,2)的计数初值?如何进行定时器初始化工作(初

始化的一般步骤)?以定时器 0 为例具体定时器的初始化编程?

解:以定时器 0,系统时钟频率 6MHz, 用 12 分频,需定时 1ms 为例,

单位时间:Tu=12/6000000=2μs

对方式 0 和方式 1: 16 位定时器最大定时能力为: T= (216

- 0)×2μs=131072μs=

131.072ms

对方式 2, 8 位定时器最大定时能力为: T= (28 - 0)×2μs=512μs

计数次数:1000/2=500

对方式 0 和方式 1, 计数初值: 216

- 500= 65036 =0FE0CH

(TH0 装入 FEH,TL0 装入 0CH)。

定时/计数器初始化的一般步骤大致如下:

1) 设置工作方式,将控制字写入 TMOD 寄存器 (对 T0 和 T1)或 AUXR(对 T2)。

(注意 TMOD 不能进行位寻址)。

2) 设置分频方式,将控制字写入 AUXR 寄存器。默认的情况是 12 分频(兼容

传统 8051 单片机),如使用传统 8051 单片机模式,无需设置。

3) 计算定时/计数初值, 并将其装入 TLx、THx 寄存器(对于 T0 和 T1), 或 T2L、

Page 12: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

T2H 寄存器(对于 T2)。

4) 置位 ETx 和 EA 允许定时/计数器中断(若需要),必要时,还需要对 IP操

作,确定各个中断源的优先级。。

5) 置位 TRx (对于 T0 和 T1) 或 T2R (对于 T2) 以启动定时/计数。

以定时器 0,系统时钟频率 6MHz, 用 12 分频,需定时 1ms 中断为例, 初始化编

程如下:

MOV TMOD, #01H ;T0 初始化, 方式 1, 16 位定时器方式

MOV TL0, #0CH ;计数初值 9E58H

MOV TH0, #0FEH ; 装入时间常数

MOV AUXR, #00H ; AUXR 初始化为 0,也可不设置

SETB ET0 ;允外 T0 中断

SETB EA ;CPU 开中断

SETB TR0 ;启动 T0 计数

5. STC15F2K60S2 单片机提供了 4 路可编程时钟输出功能(了解即

可)。

MCLKO/P5.4,

T0CLKO/P3.5,

T1CLKO/P3.4,

T2CLKO/P3.0。

第 8 章 数据通信

1.并行和串行通信的区别是什么?有哪些优缺点?

答:并行通信是以字节(Byte)或字节的倍数为传输单位;一次传送一个或一

个以上字节的数据,数据的各位同时进行传送。优点是:控制简单,传送速度快。

缺点是:由于传输线较多,长距离传送成本较高,因此仅适用于短距离传送。

串行通信是通信双方使用一根或两根数据信号线相连,同一时刻,数据在一

根数据信号线上一位一位地顺序传送,每一位数据都占据一个固定的时间长度。

优点是:传输线少,长距离传送成本很低,适合远距离传送及易于扩展。缺点是:

Page 13: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

速度慢、传输时间长等。。缺点是传输速度慢,因此适用于长距离传输。

2. 同步通信和异步通信的区别是什么?有哪些优缺点?

答:异步通信的数据通常是以字符(或字节)为单位组成字符帧传送的。优

点是不需要传送同步时钟,字符帧长度不受限制,故而设备简单。缺点是字符帧

中因为包含起始位和停止位而降低了有效数据的传输速率。

同步通信是一种连续串行传送数据的通信方式,一次通信传输一组数据(包

含若干个字符数据)。优点是数据传输速率较高,通常可达 56000 bit/s 或更

高。缺点是要求发送时钟和接收时钟必须保持严格同步,硬件电路也很复杂。

3.串口 1 的通信模式及波特率的计算(了解)

4.串口 1 的编程要点

1)设置串口的工作模式

设置 SCON寄存器的内容。若要串口接收,需将其中的 REN位置 1。

Page 14: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

串口 1控制寄存器 SCON

2)设置正确的波特率(结合定时器的初始化)

①使用定时器 1作为波特率发生器时, 需设置定时器 1的工作方式和时间

常数(设置 TMOD和 TH1,TL1寄存器内容), PCON. SMOD位;启动定时器 1(置位 TCON.

TR1)。

②使用定时器 2 作为波特率发生器时, 需设置定时器 2 寄存器和相应的

位, 包括: 定时器 2 自动重装寄存器 T2H 和 T2L, AUXR. T2_C/ 位, T2x12

位。启动 T2(置位 T2R), T2 开始计数。

3)设置串口的中断优先级 (根据需要设置 IP 寄存器 PS 位, 也可以不设置,取

默认值), 设置相应的中断控制位(IE. ES和 IE. EA)。

4)如要串口 1发送,将数据送入 SBUF。

5)编制串行中断服务程序,在中断服务程序中要有清除中断标志指令(将 SCON.

TI和 RI 清 0)。

5. 单片机用串口 1 工作于方式 1 与计算机通信,允许接收数

据,串口开中断,单片机的系统时钟为 11.0592MHz,通信参数为

“9600,n,8,1” (这是常见通信参数表示方法, 即波特率为

9600bit/s, 无奇偶校验(n: none) (或 E:Even, O:Odd) , 8 个

数据位, 1 个停止位)。试编写串口 1 的初始化程序(只写初始化

程序)。参考作业 8-6。

第 9 章模数转换器与数模转换器()

1. 逐次逼近式模数转换器的工作原理

Page 15: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

比较器

D/A转换

SAR

时序及控制逻辑

VC

状态线 转换命令

Vx

数字量

输出

基准电源

2. 选择 A/D 模块的重要的指标是:转换精度和转换速度。转换精度

常用分辨率和转换误差来描述,而分辨率是 A/D 转换器能分辨最

小信号的能力, 表示数字量变化一个相邻数码所需输入模拟电压

的变化量。分辨率常用 A/D 转换器输出的二进制位数表示。

3. STC15F2K60S2 单片机 ADC 模块的编程要点

1) 设置 P1 口中的相应口线作为 A/D 转换通道 (设置 P1ASF 寄存器)。根据

需要设置转换结果存储格式(设置 CLK_DIV 中的 ADRJ位)。

位号 D7 D6 D5 D4 D3 D2 D1 D0

名称 P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF

2) 设置 ADC_CONTR(包括打开 ADC电源, 时钟速度,通道选择,开启) 。

位号 D7 D6 D5 D4 D3 D2 D1 D0

名称 ADC_

POWER SPEED1 SPEED0

ADC_

FLAG

ADC_

START CHS2 CHS1 CHS0

3) 适当延时,等内部模拟电源稳定,设置值稳定 。一般延时 1ms以内即可。

4) 查询 A/D转换结束标志 ADC_FLAG,判断 A/D转换是否完成,若完成,则

读出结果(结果保存在 ADC_RES和 ADC_RESL寄存器中),并进行数据处理。

如果是多通道模拟量进行转换,则更换 A/D 转换通道后要适当延时,使

Page 16: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

输入电压稳定,延时量取 20-200μs即可(与输入电压源的内阻有关),

如果输入电压源的内阻在 10KΩ以下,可不加延时。

5) 若用中断方式, 还需进行中断设置(EADC 置 1,EA置 1)。

6) 在中断服务程序中读取 ADC转换结果,并将 ADC中断请求标志 ADC_FLAG

4. 权电阻型数/模转换器的原理

27

25

24

23

22

20

VOUT

Rf

D6

D7

VB

S6 21

R

S5 22 R

S4 23R

S3 24R

S2 25R

S126R

S0 27R

26

D5

D4

D3

D2

21

D1

D0

-A

S720 R

D7

S

21R

22R

20RV0

V1

V223R

V324R

V425R

V526R

V627R

V7

VOUT

Rf

-A

Page 17: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

第 10 章 人机交互接口()

1. 非编码简易键盘接口电路

+5V

CD4068

1

R0 R1 R2 R3 R4 R5 R6 R7

S0 S1 S2 S3 S4 S5 S6 S7

INT0

2

3

4

5

9

10

11

12

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

STC15F2K60S2

2. 为什么进行按键消抖?有哪些方法?

键盘在使用中考虑到人员操作或机械特性在接触时产生的抖动问题,即按键

开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期,在此期间的电

平变化波形如图所示。

tH tHtLtW1 tW2

抖动期一般不超过 10 ms。在口线电平抖动期间,单片机无法准确检测出口线电

平的正确值,必须采取一定的措施进行鉴别。

常用的方法是延时消抖法,例如遇到由高向低的电平转换后先不急于读取口

线键值,而是在中断服务程序的开始执行一段 10~20 ms的延时程序。若延时程

Page 18: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

序后再次判断口线仍为低电平则进入口线的键值读取程序,否则放弃键值读取操

作。

3. 矩阵式编码键盘接口电路

R4 R5 R6 R7

R0

R1

R2

R3

+5V

INT0

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

STC12C5A60S2

4. 共阴极七段码 LED 静态显示接口电路

Q1Q2Q3Q4Q5Q6Q7Q8END

CP STQS

CD4094

+5VQ1Q2Q3Q4Q5Q6Q7Q8

END

CP STQS

CD4094

+5VQ1Q2Q3Q4Q5Q6Q7Q8

END

CP STQS

CD4094

+5V

RXD

TXDP1.0

ST

C15

F2K

60S

2

5. LED 动态显示接口的具体电路

a

bc

defg

dp

a

bc

defg

dp

a

bc

defg

dp

a

bc

defg

dp

5.1kΩ 5.1kΩ 5.1kΩ 5.1kΩ

+5V

P0.0P0.1P0.2

P0.3P0.4P0.5P0.6P0.7

P2.0

P2.1

P2.2

P2.3

1G 2G

74LS244

560Ω ×8

STC15F2K60S2

Page 19: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

第 11 章 复位、时钟和省电方式控制()

1.STC15F2K60S2 单片机的复位有哪几种?哪些是热启动复位?哪

些是冷启动复位?

七种:

1) 外部 RST引脚复位

2) 软件复位

3) 内部低电压检测复位

4) 看门狗复位

5) 及程序地址非法复位。

6) 掉电复位/上电复位(并可选择增加额外的复位延时 180ms,也叫 MAX810

专用复位电路,其实就是在上电复位后增加一个 180ms复位延时)

7) MAX810专用复位电路复位

其中,1)-5)5种复位是热启动复位,6),7)种是冷启动复位。

2. STC15F2K60S2 单片机内置的看门狗电路的作用是什么?大致原

理是怎样的?

单片机为防止系统在异常情况下受到干扰, CPU 程序跑飞, 导致系统长时

间异常工作, 往往需在系统中使用看门狗(Watch Dog)电路。

看门狗电路的基本作用就是监视 CPU的工作。如果 CPU在规定的时间内没有

按要求访问看门狗, 就认为 CPU处于异常状态, 看门狗就会强迫CPU复位, 使系

统重新从头开始按规律执行用户程序。

大致原理:正常工作时,单片机可通过一个 I/O 引脚定时向看门狗脉冲

输入端输入脉冲(脉冲宽度只要不超出看门狗电路的溢出时间即可)。当系统死

机时, 单片机就会停止向看门狗脉冲输入端输入脉冲, 超过一定时间后, 看门

狗电路就会发出复位信号, 将系统复位, 使系统恢复正常工作

3. STC15F2K60S2 单片机有哪几种 3 种省电模式可以降低功耗?怎

Page 20: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

么退出掉电模式和空闲模式?

1) 3 种省电模式可以降低功耗

低速模式

空闲模式

掉电模式

2) 进入掉电模式的单片机可由外部中断唤醒。

可将 CPU 从掉电模式唤醒的外部管脚 (除 ADC,SPI)有 : INT0/P3.2,

INT1/P3.3, /INT2/P3.6, /INT3/P3.7, /INT4/P3.0, CCP0/CCP1/CCP2,

RxD/RxD2,T0/T1/T2 和内部低功耗掉电唤醒专用定时器。(内部低电压检测中断

也能)

STC15F2K60S2 单片机进入停机模式/掉电模式后, 除了可以通过外部中断

源进行唤醒外, 用掉电唤醒专用定时器, 也可将进入掉电模式后的单片机唤醒,

使其恢复到正常工作状态。

附加重点:(特殊功能寄存器 1、2、3、4 必须掌握)

特殊功能寄存器(从上到下依次对应寄存器的高位到低位)

1、程序状态标志寄存器 PSW

CY:进位标志。执行加减指令时,如果操作结果的最高位 D7进/借位,则 CY

位置 1。否则置 0,执行乘法指令时,CY 清 0。

AC:辅助进位标志。当执行加减指令时,如果低四位数向高四位数产生进/

借位。则 AC置 1,否则置 0。

F0:用户自定义。

RS1 RS0:工作寄存器组选择控制位。

OV:溢出标志位,指示运算过程中是否发生了溢出,有溢出时,OV为 1。否则

为 0。

F1:用户标志位 1

P:奇偶标志位,如果累加器 ACC中的 1的个数为偶数,P=0,否则 P=1。

Page 21: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

2、辅助寄存器 AUXR

T0x12:决定定时器 T0是否 12分频。

0:12分频,定时周期为 1μs。

1:不分频,定时周期为 1T。

T1x12:决定定时器 T1是否 12分频。

0:12分频,定时周期为 1μs。

1:不分频,定时周期为 1T。

UART_M0x6:串行口模式 0状态下的速度设置。

TR2:定时/计数器 T2运行控制位。

T2_C/T__

:定时/计数器 T2功能选择位。

T2x12:T2是否 12 分频。

EXTRAM:内部扩展 RAM访问控制位。

S1ST2:串行口 1 波特率发生器选择位。

0:选择 T1为波特率发生器。

1:选择 T2为波特率发生器。

3、中断允许控制器 IE(0:关闭中断;1:开放中断)

EA:中断总开关。

ELVD:低电压中断允许控制位。

EADC:A/D转换中断允许位。

ES:串行口中断允许标志。

ET1:定时器 T1中断允许控制位。

EX1:外部中断 1 允许控制位。

ET0:定时器 T0中断允许控制位。

EX0:外部中断 0 允许控制位。

4、工作方式寄存器 TMOD

GATE:门控位。

C/T__

:功能选择位。

0:设定为定时器工作模式。

1:设定为计数器工作模式。

Page 22: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

M1 MO:选择定时器/计数器工作模式。

5、中断优先级控制寄存器 IP(0:低优先级;1:高优先级)

PPCA:PCA中断优先级。

PLVD:低电压中断优先级。

PADC:A/D转换中断优先级。

PS:串行口中断优先级。

PT1:定时/计数器 T1中断优先级。

PX1:外部中断 1 优先级。

PT0:定时/计数器 T0中断优先级。

PX0:外部中断 0 优先级。

6、定时/计数器控制寄存器 TCON

TF1:T1溢出中断请求标志。

TR1:T1的运行控制位。

0:T1停止运行。

1:T1启动运行。

TF0:T0溢出中断请求标志。

TR0:T0的运行控制位。

0:T0停止运行。

1:T0启动运行。

IE1:外部中断 1的中断请求标志。

IT1:外部中断 1的中断触发方式控制位。

IE0: 外部中断 0的中断请求标志。

IT0:外部中断 0的中断触发控制位。

7、串口 1控制寄存器 SCON

SM0/FE:为 1时,该位用于帧错误检测,它必须由软件清零。为 0时,SM0/FE

位和 SM1一起指定串行通信的工作方式。

SM1:多机通信控制位。

SM2:多机通信控制位。

REN:允许接收控制位。

Page 23: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

1:允许串行口接收数据;

0:禁止串行口接收数据。

TB8:在方式 2和 3 时,它是要发送的第 9个数据位,按需要由软件进行置位

或清零。该位可用作数据的奇偶校验位,或在多机通信中用作地址帧/数据

帧的标志位。

RB8:在方式 2 和 3 时,它是接收到的第 9 位数据,为奇偶检验位或地址帧/

数据帧标志位。在方式 1 时,若 SM2=0,则 RB8 是接收到的停止位。在方式

0时,不使用 RB8。

TI:发送中断标志位,必须用软件清零。

RI:接收中断标志位。

8、掉电控制寄存器 PCON

SMOD:串行口波特率系数控制位。

1:使方式 1、方式 2和方式 3的波特率加倍。

0:各工作方式的波特率不加倍。

SMOD0:帧错误检测有效控制位。

1:SCON寄存器中的 SM0/FE位用于 FE(帧错误检测)功能。

0:SCON寄存器中的 SM0/FE位用于 SM0 功能,和 SM1一起指定串行通信

的工作方式。

LVDF:片内低电压检测中断请求标志位。

9、ADC控制寄存器 ADC_CONTR

ADC_POWER:ADC电源控制位。

SPEED1:ADC转换速度控制位。

SPEED0:ADC转换速度控制位。

ADC_FLAG:A/D转换结束标志位。

ADC_START:A/D转换起动控制位。

CHS2:模拟输入通道选择。

CHS1:模拟输入通道选择。

CHS0:模拟输入通道选择。

10、模拟功能控制寄存器 P1ASF

Page 24: 第一章 - 卓越课程中心3.0 · 第四章 指令系统及汇编语言程序 1>.指令寻址方式:(要掌握会判断) 1. 立即数寻址:指令中,操作所需要操作数就在指令中,是指令的组成部分,

P17ASF

P16ASF

P15ASF

P14ASF

P13ASF

P12ASF

P11ASF

P10ASF

功能:如果要使用相应口的模拟功能,需将 P1ASF特殊功能寄存器中的相应

位置为 1。