1、复习 期末考试题型: 1、填空题(20%) 2、选择题(20%) 3、分析题(28%) 4、综合编程题(32%) 第一章 1、51单片机内部有哪些功能部件?(具体看课本P20~P21) 例:下面的哪一个功能部件不属于8051单片机的内部硬件。( B ) (A)串行口 (B)SPI接口 (C) 定时器 (D)中断系统 2、 CPU结构? 1)什么是PC指针?复位时PC指针的值?(见课本P25) 程序计数器PC(Program Counter):存放下一条要执行的指令在程序存储器中的地址。 复位时PC指针的值 0000H 2) 累加器A(见课
2、本P24页),寄存器B(见课本P24页),程序状态字PSW(见课本P24页),堆栈SP(见课本P30) 累加器A :使用最频繁的寄存器,也可写为Acc。是ALU单元的输入之一,又是运算结果的存放单元。A的进位标志Cy是特殊的,同时又是位处理机的位累加器。 寄存器B:运算结果的另一个存放单元。 程序状态字寄存器PSW: RS1 RS0 所选的4组寄存器 0 0 0区(内部RAM地址00H~07H) 0 1 1区(内部RAM地址08H~0FH) 1 0 2区(内部RAM地址10H
3、~17H) 1 1 3区(内部RAM地址18H~1FH) (5)OV(PSW.2)溢出标志位 指示运算是否产生溢出。各种算术运算指令对该位的影响情况较复杂,将在第3章介绍。 (6)PSW.1位: 保留位,未用 (7)P(PSW.0)奇偶标志位 P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数 堆栈指针SP :指示出堆栈区顶部在内部RAM块中的位置 复位后 ,SP中的内容为07H。 堆栈的作用:(1)保护断点(2)现场保护 堆栈的原则:先进后出
4、 堆栈的操作:入栈(PUSH):先(SP)+1,后把数据压入堆栈 出栈(POP):先把数据弹出堆栈,后(SP)-1 例:(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,执行指令POP DPH,POP DPL,POP SP后,DPTR、SP中的内容分别是( )。 (A)3C5F,50H (B)5F3CH,30H (C)3C5FH,30H (D)3C5FH,4FH 2、存储器结构 1)51单片机的寻址范围?(见课本P26)
5、51有16根地址线,最大寻址程序存储空间为64KB(寻址范围是:0000H~FFFFH 共64K),分为片内程序存储器、片外程序存储器,采用统一编址方式。 4KB的片内ROM编址范围为0000H~0FFFH; 64KB的片外ROM编址范围为0000H~FFFFH; 2) 两种工作模式:微处理器和微控制器(见课本p27) 微处理器(或称CPU,中央处理单元) 微控制器 MCU(MicroController Unit) 微处理器模式:类似于电脑的CPU,程序存取器、数据存储器及I/O设备都是外部提供的,即不使用51内部RAM、ROM等资源。此时,=0。 微控制器模式:该模式就是
6、充分利用51内部RAM、ROM、定时/计数器的资源进行编程工作的模式。此时,= 1。 3) 程序存储空间:内部,外部,范围(见课本P26) 程序存储空间地址范围64KB(ROM)。包括片内程序存储器(4KB)和片外程序存储器(64KB)。 4)数据存储空间:内部,外部(见课本P26) 外部:外RAM与I/O空间统一编址,范围0000H~FFFFH,共64K 内部:内RAM,SFR 内RAM分布:地址范围,工作寄存器区,位寻址区,通用区(见课本P28页) SFR:地址范围,位寻址(见P29页) 特殊功能寄存器SFR共21个,离散地分布在高128B片内RA
7、M的80H~FFH区域中。11个可以进行位寻址。特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。 数据存储空间地址范围64KB(RAM)。包括片内数据存储器(共256B,21个特殊功能寄存器与128B内部RAM)和片外数据存储器(64KB)。MCS-51单片机没有独立的I/O空间,而是将I/O空间与片外数据存储器空间共用64KB地址空间范围(共同编址)。 例:位地址为2BH的位具体是哪个字节的哪一位?( B ) [见课本P28页表] (A)24H.1 (B)25H.3 (C)26H.0 (D)27H.4
8、 3、最小系统 1)什么是最小系统? 最小系统:使得单片机能正常工作所必需的最少外部功能部件。 应包括:电源,时钟电路,复位电路,相应软件。 2)引脚功能 电源引脚Vcc、Vss; 时钟引脚XTAL1、XTAL2; 复位引脚RESET(即RST); 控制引脚PSEN、EA、ALE; I0引脚P0、P1、P2、P3,为4个8位I/O口的外部引脚; 重点掌握:EA、RST、P0~P3(见课本P23页) EA:访问程序存储控制信号(见课本P23页) 复位引脚:RST (见课本P22、P31~P36页) 1、P0口 三态复用口 功能(二者选其一)
9、基本输入输出端口(通用I/O端口) 片外总线(地址总线低8位与数据总线复用) 驱动能力:8个LSTTL门电路(1个LSTTL的驱动电流是:低电平时0.36mA,高电平时20uA) 2、 P1口 准双向 基本输入输出端口 驱动能力:4个LSTTL门电路 3、 P2口 准双向 功能 基本输入输出端口 总线(地址总线的高8位) 驱动能力:4个LSTTL门电路 4、 P3口 准双向 功能 基本输入输出端口 第二功能 驱动能力:4个LSTTL门电路 例:当单片机要求工作在微控制器模式,则EA=1; 当单片机要求工作在微处理器模式
10、则EA=0; 3)时钟电路(见课本P37页) 51系列单片机最高工作频率可达? AT系列:24MHz S系列:40MHz 时钟周期,机器周期,状态周期之间的关系。 时钟周期:单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。 机器周期:CPU完成一个基本操作所需要的时间称为机器周期。执行一条指令分为几个机 器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个时钟周期为一个机器周期, 状态周期:在51里,一个机器周期又分为6个状态:S1~S6。因此,一个状态周期为2个时钟周期。每个状态又分为两拍:P1和P2。因此,一个机
11、器周期中的12个时钟周期表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。 4)复位电路 51单片机的复位条件? 复位条件:引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。 复位时,SFR状态? SP,P0~P3 SFR的复位值:除PC之外,复位操作还对其它一些寄存器有影响,见表1-12。 SP=07H ,P0-P3的引脚均为高电平FFH。 第四-七章 一、4个8位并行I/O端口(见课本P23) 1、P1(基本输入输出,准双向) 操
12、作:输出 输入:必须先写1 2、P0,P2(总线或基本输入输出) P0:3态,作为基本I/0时,必须外加上拉电阻 3、 P3(第二功能或基本IO) 4、应用 ¨ P0口:8位,内部无上拉电阻 ² 访问外RAM或ROM时,分时复用作低8位地址及数据I/0口.具体看 ² 普通I/O口:当做输入口时,需要令P0口对应管脚为1. 这主要是因为I/O口有“线与”功能,就是说I/O线的电平状态是I/O两端共同决定的,一旦有一端为0,相与之后,I/O线的状态就肯定为0。所以,在作为输入口时,我们需要把相应端口拉高至1,这样,当另一端为0时,I/O线就为0;当另一端为1
13、时,I/O线就为1. ¨ P1口:8位,内部有上拉电阻 ² 普通I/O口,同P0口 ¨ P2口:8位,有上拉 ² 访问外RAM或ROM时,用作高8位地址 ² 普通I/O口,同P0口 ¨ P3口:8位,有上拉 ² 除了有丰富的第二功能外,与P1口相同 例:8051的准双向I/O端口有 P1 、 P2 、 P3 ,这是因为准双向口只有 高电平 态和 低电平 态。 例:要求系统使用P2口读入拨码开关的状态,并通过P1口使得发光二极管显示该状态,请设计硬件电路并编程。 #
14、include
15、 /* 无穷循环 */ { temp=P2; /* 将P2输入的数据直接放入变量temp当中 */ P1=temp; /* 将变量temp中的数据直接输出到Port 1*/ delay(); } } 二、中断系统 1、概念 什么是中断,中断源,中断嵌套,中断优先级 中断的定义:CPU正在执行程序时,单片机外部或内部发生的某一事件,请求CPU迅速去处理。CPU暂时中止当前的工作,转到中断服务处理程序处理所发生的事件。处理完该事件后,再回到原来被中止
16、的地方,继续原来的工作,这称为中断。 CPU处理事件的过程,称为CPU的中断响应过程。 中断源: (1)外围设备:A/D、键盘、打印机等。 (2)故障源:掉电、溢出 (3)定时器和实时时钟 (4)为调试程序设置的中断源(如单步调试) 中断嵌套:指CPU因响应和执行某一中断源的中断请求时,发生了另一个优先级比它高的中断源请求,那么CPU暂停原来执行的中断服务程序转而响应和处理中断优先级更高的中断源的中断请求,处理完以后,再回到原来继续执行低优级中断服务程序。 中断的优先级:针对同时有多个中断源进行中断请求时,CPU按优先级的高低来响应中断。 高
17、优先级 低优先级 同级中的优先权 2、51单片机的中断源、中断入口地址,中断优先级 中断源 MCS-51有5个中断源,两个中断优先级,可以实现两级中断服务程序嵌套。 中断源 中断入口地址 外部中断0 /INT0 0003H 定时器0 T0 000BH 外部中断1 /INT1 0013H 定时器1 T1 001BH 串行口 0023H 优先级结构: (1)低优先级中断可被高优先级中断所中断,反之不
18、能; (2)任何一种中断(不管是高级还是低级),一旦得到 响应,与它同级的中断源不能再中断它。 (3) 同级的中断源同时请求时,遵循辅助优先级顺序。 例:当IP=45H时,请排出5个中断源优先级的先后。 中断优先级控制寄存器IP中的数据是PX1=1,PX0=1. 外部中断0,外部中断1,定时器0,定时器1,串行口。 3、 外部中断触发方式(2种)(课本P126) 边沿触发方式和电平触发方式。 4、 中断标志位的清除方式 中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再
19、次进入该中断,引起死循环出错。 ⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。 ⑵对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。 ⑶对外中断电平触发方式,需要采取软硬结合的方法消除后果。 5、应用 初始化:SCON、TCON、IE、IP 中断系统初始化步骤 设置堆栈指针SP 设置中断优先级寄存器IP 若为外部中断,应设置触发方式(TCON) 设置中断使能寄存器IE,开相应中断 中断程序的编写 中断服务子程序的编写 在中断入口地址设置一条跳转指令 根据需要保护现场 中断源
20、请求中断服务要求的具体操作 若是外部中断电平触发方式,应有中断撤除操作 恢复现场 中断返回 三、定时计数器 1、两种工作模式的区别?本质上是增1计数器。 两种工作模式: (1)定时器工作模式:对片内机器周期脉冲计数。 (2)计数器工作模式:对外部事件脉冲计数。 (3)计数器工作模式的计数引脚:T0(P3.4),T1(P3.5) 4种工作方式:方式0-方式3。 例:当定时/计数器选定为定时器方式时,是对 对片内机器周期脉冲计数 进行计数,选定为计数器方式时,是对 对外部事件脉冲计数 进行计数。 2、 作为计数器使用
21、时对应的引脚? T0(P3.4),T1(P3.5) 3、4种工作方式的区别?分别可以定时和计数的最大范围是多少?(见课本P140~142) 4、 溢出后51单片机会有什么操作? 首先,把中断标志TF1或TF0清“0”,并重新计数;接着,如果有相应定时器中断服务子程序,就执行中断服务子程序里的程序。 5、应用 1)初值的计算 定时器/计数器初值计算 计数器 公式:2n-x=所要计的数 定时器 公式:(2n-x)T=所要定时时间 n—8、13、16; X—计算的初值; T—机器周期 2) 初始化:TCON,TMOD,THX,TLX,IE,IP 定时器/计数
22、器编程步骤 (1)设置工作模式、工作方式TMOD (2)赋初值THX、TLX (3)开中断IE和定义中断优先级IP(若有) (4)启动定时器/计数器TCON(SETB TRX) (5)等待中断或查询中断标志TCON.TFX 3) 程序编写:中断方式、查询方式 4)查询方式中注意标志位的清除 例:在P1.7口接有1个发光二极管,要求利用定时器T0控制使LED亮1S停1S,周而复始。 解:这是长延时例子,一般采用定时器定时和软件计数相结合的办法。 设T0为方式1,定时值为100ms,计数为10次,即100ms×10=1S。 (216-X)×2us =100000us
23、 解得X=15536=3CB0H 则TH0=3CH; TL0=B0H ORG 1000H START:MOV R7,#0AH MOV TMOD,#01H CPL P1.7 LOOP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 Wait: JBC TF0,Next ;软件查询方式 SJMP Wait Next: DJNZ R7,LOOP ;1S延时到否? SJMP START 四、串行口 1、概念:串行通信,并行
24、通信,同步通信、异步通信,波特率,通信制式 通信方式 (1)并行通信:是指数据的各位同时进行传送的通信方式。 优点:传输速度快。 缺点:占用I/O线多,传输距离短(<30m)。 (2)串行通信:是指数据一位一位顺序传送的通信方式。 优点:占用I/O线少(一对),传输距离远。 缺点:传输速度低。 (3)异步通信(Asynchronous Communication) 数据以字节为单位组成字符帧传送。字符帧由发送端一帧一帧地发送。两相邻字符帧之间可以无空闲位,也可以有若干空闲位。这就是异步概念。发送端和接收端的时钟各自独立。实现双方同步接收是靠字符帧的起始位和停止位。 字符帧格
25、式:起始位(1位)、数据位(1~8位)、奇偶校验位(1位)和停止位(1~2位)。 优点:不需要传送同步时钟。 缺点:字符帧中包含有起始位和停止位从而降低了有效数据 的传输速率,适用低速通信。 (4)同步通信(Synchronous Communication) 是一种连续串行传送数据的通信方式。1个信息帧中包含有若干数据字符。发送端和接收端的时钟必须同步。实现双方同步接收是靠信息帧中同步字符。数据字符之间无间隔。 信息帧格式:同步字符n、数据字符n、CRCH、CRCL 优点:高速传送数据。缺点:发送时钟和接收时钟保持严格同步,发送时钟传送到接收端。 波特率(baud
26、 rate)每秒钟传送二进制数码的位数(bit),单位bps(bit persecond),bit/s。 串行通信的制式 单工方式(Simplex):只允许数据向一个方向传送(A→B)。 半双工方式(Half Duplex):允许数据向两个方向中的一个方向传送,但每次只能一个站发送。 全双工方式(Full Duplex):允许数据同时双向传送。 例:串行通信根据通信的数据格式分有两种方式,分别是 异步通信 和 同步通信 。(p155) 2、51单片机的串行口通信的帧格式? 见上面红色字体 3、4种工作方式的区别?(课本P159) 方式 数据帧格式 0
27、 用于拓展I/O,没有规定的格式,我们一般从SBUF每8位一个段操作 1 1位起始位’0’ + 8位数据 + 1位停止位’1’ 2 与方式1相同 3 1位起始位’0’ + 9位数据(最后一位在TB8或RB8中) + 1位停止位’1’ 说明:起始位和停止位的发送都是通过拉高或拉低数据线拉实现的。 波特率= T1溢出率 T1工作于方式0 机器周期T=12/fosc,x——初值 T1溢出周期=(213-x)×T+执行T1中断服务程序机器周期数×T T1溢出周期=T×(213-x+执行T1中断服务程序机器周期
28、数) T1溢出率=1/T1溢出周期 T1工作在方式1 溢出周期=T×(216-x+执行T1中断服务程序机器周期数) T1工作在方式2 溢出周期=T×(28-x+执行T1中断服务程序机器周期数) 由于方式2的初值可自动装入,所以可以不产生中断,这时: 溢出周期=T×(28-x) 溢出率=1/溢出周期=1/T×(28-x) 4、应用 波特率的计算 初始化 程序编写:中断方式,查询方式 注意:标志位必须软件清除 第八章 1、 总线构造 系统总线按其功能通常把系统总线分为三组: 1.地址总线(Adress Bus,简写AB)
29、 2.数据总线(Data Bus,简写DB) 3.控制总线(Control Bus,简写CB) 2、存储器扩展 地址分配:单元选择,片选 地址范围的确定:看芯片连到单片机的哪些地址线上。 3、 I/O芯片的扩展 通过总线扩展与存储器扩展方法相同。 注意: 1、片外I/O设备与片外数据存储器采用的是统一编址,共同占用64K空间,因此,当系统既要扩展多片片外RAM,又要扩展多片片外I/O设备芯片时,因综合考虑存储器地址的分配问题。 2、访问方式与片外RAM的访问方式相同,用的是MOVX。 4、访问操作(MOVX) 例:下图为8031扩展3片8K的程序存储器2764,图中硬件电路已经连接了一部分,请用片选法将剩下的相关硬件电路连接完成,并写出每一片2764的地址范围。






