《2022年单片机重点知识归纳》由会员分享,可在线阅读,更多相关《2022年单片机重点知识归纳(12页珍藏版)》请在金锄头文库上搜索。
1、、预留存储单元及作用入口单元地址预留目的存储单元范围0000H 复位后初始化引导程序0000H-0002H 0003H 外部中断0 服务程序0003H-000AH 000BH 定时器 0 溢出中断服务程序000BH-0012H 0013H 外部中断1 服务程序0013H-001AH 0001BH 定时器 1 溢出中断服务程序001BH-0022H 0023H 串行端口中断服务程序0023H-002AH 002BH 定时器 2 中断( 8052)服务程序002BH 2、程序状态字( PSW)寄存器位地址D7H D6H D5H D4H D3H D2H D1H D0H 位序PSW.7 PSW.6 P
2、SW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 位标志CY AC F0 RS1 RS0 OV (F1) P CY 或 C(PSW.7) 进位标志位 AC(PSW.6)辅助进位标志位F0(PSW.5) 用户标志位 F1(PSW.1) 用户标志位 (8052 中含有 ) RS1,RS0(PSW.4,PSW.3) 当前寄存器区选择位 OV(PSW.2) 溢出标志位P(PSW.0) 奇偶校验标志位3、寻址方式 :立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址寻址方式存储空间立即数寻址程序存储器(操作码常数)直接寻址内部数据存储器00H7FH 字节单元;
3、特殊功能寄存器寄存器寻址R0R7 , A,B,CY(位),DPTR 寄存器间接寻址内部数据存储器(R1,R0,SP) 外部数据存储器(R1,R0,DPTR )变址寻址程序存储器(A+DPTR,A+PC )相对寻址程序存储器(修改了PC 值)位寻址内部数据存储器20H2FH ;特殊功能寄存器中的某些单元的位4、各中断的矢量地址及优先级排序中断源中断入口地址请求标志位同一级的中断优先级外部中断0 中断0003H IE0 最高最低定时器 /计数器 T0 中断000BH TF0 外部中断1 中断0013H IE1 定时器 /计数器 T1 中断001BH TF1 串行口收发中断0023H TI/RI 4
4、.1 、4 个特殊功能寄存器:定时器控制寄存器TCON(用 6 位)、串行口控制寄存器SCON(用 2 位)、中断允许寄存器IE 和中断优先级寄存器IP。TCON 与 SCON只有一部分用于中断控制。4.2 、TCON 字节地址88H,可以位寻址TCON TF1 TF0 IE1 IT1 IE0 IT0 位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1(TF0) :定时器 /计数器 T1(T0)的溢出中断请求标志位IE1(IE0):外部中断1(0)的中断请求标志位IT1 (IT0 ):外部中断1(0)的中断触发方式控制位精选学习资料 - - - - - - - - -
5、 名师归纳总结 - - - - - - -第 1 页,共 12 页4.3 IE1 :当检测到外部中断1 的引脚上存在有效的中断请求信号时,由硬件使IE1 置 1.当 CPU响应该中断请求时若外部触发方式为边沿触发,则由硬件使IE1 清 0.若外部触发方式为电平触发,只要中断请求一直为低电平,就一直使IE1 置 1 标志直到中断请求变为高电平为止。这时由软件对IE1 清 0 的操作才真正生效。4.4 中断允许控制8051 对中断源的开放或屏蔽是由中断寄存器IE 控制的, IE 字节地址是DA8H IE EA ES ET1 EX1 ET0 EX0 位地址AFH ACH ABH AAH A9H A8
6、H 中断允许寄存器IE 对中断的开放和关闭实现两级控制即有一个总中断控制位EA(IE.7 )和各中断源自己的中断允许控制位。当EA=0 时屏蔽所有的中断申请当EA=1 时 CPU 开放中断,但各个中断源是否开放还要由IE 低 5 位分别控制中断的前提: EA=1 开放中断EA:中断允许总控制位, ES 串行口中断允许位 ET1(ET0): 定时器 /计数器 T1(T0) 的溢出中断允许位EX1(EX0) :外部中断 1(0) 中断允许位 (1 为允许中断 0 为禁止中断 ) 4.5 中断优先级寄存器IP 其字节地址为0B8H 可按位寻IP PS PT1 PX1 PT0 PX0 位地址BCH B
7、BH BAH B9H B8H PS :串行口中断优先级控制位;PT1/PT0 定时器 /计数器 T1(T0) 中断优先级控制位PX1(PX0): 外部中断1 中断优先级控制位单片机复位后,IP 被清 0,用户应根据需要对IP 中的相应位进行置1 或清 0(1 为高优先级,0 为低优先级)4.6 CPU 响应中断的基本条件有:1.中断源发出中断请求 2.中断总允许位EA=1 3. 发出中断请求的中断源所对应的中断允许位为“1“满足基本要求 ,可能发生中断 正在执行同级或更高级中断服务程序, 当前的指令周期末结束,现行指令为RETI 或是访问 IE 或 IP 的指令,该指令以及紧接着的下一条指令还
8、未执行完 4.7 执行中断返回指令RETI 的结果是消除优先级生效触发器,以使其他同级或低级中断能被响应 RETI 指令执行前应进行相应的出栈操作,目的:一.恢复保护数据二.使栈顶指针SP与保护断点后的值相同5、MCS-51 单片机的中断优先级有四条原则1)、不同级的中断源同时申请中断时,先高后低;2)、处理低级中断又收到高级中断请求时,停低转高;3)、处理高级中断却收到低级中断请求时,高不踩低;4)、同级中断源同时申请中断时,按照外部中断0、定时器T0、外部中断1、定时器T1、串行口中断的自然先后顺序响应。6、中断请求的撤除CPU 响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引
9、起另一次中断。定时器 0 或 1 溢出: CPU在响应中断后,硬件清除了有关的中断请求标志TF0 或 TF1,即中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或 IE1。串行口中断: CPU 响应中断后,没有用硬件清除TI、RI,故这些中断不能自动撤除,而要靠软件来清除相应的标志,如CLR TI 。这是与其它4 种中断源的不同之处。7、电平激活的外部中断源中断标志的撤除电平触发外部中断撤除方法较复杂。1)、因为在电平触发方式中,CPU 响应中断时不会自动清除IE1 或 IE0 标志,所以在响应中断后应立即撤除INT0 或 INT1 引脚
10、上的低电平。2)、在硬件上,CPU对 INT0 和 INT1 引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 12 页7.1 单片机系统实现定时有三种方法:软件定时硬件定时可编程定时器定时软件定时:不需要外加硬件电路,定时精确,占CPU的时间。、硬件定时:不占CPU时间,全由硬件电路完成,操作不方便不准确、。可编程定时器定时:不占CPU 的时间使用灵活方便。7.2 加 1 计数器的输入脉冲有两个来源:外部脉冲源TX(T0 和 T1) 端和系统的时钟振荡器定时器计数器的基本功能
11、是对输入脉冲进行计数。对输入脉冲的选择是有特殊功能寄存器的一位(CT)的内容决定的。TMOD 和 TCON 是两个专门用于定时器/计数器的控制寄存器,用户可用指令对其相应位进行清“ 0“或置” 1“操作同时利用外部引脚信号电平控制定时器 /计数器是可编程的7.3 T0 和 T1 是两个 16 位加 1 可编程定时器/计数器 简称定时器T0、T1 定时器 T0 的计数器由8 位特殊功能寄存器THO 和 TLO 组成定时器 T1 的计数器由8 位特殊功能寄存器TH1 和 TL1 组成定时器方式寄存器TMOD 用于控制和确定各定时器/计数器的功能和工作方式定时器控制寄存器TCON 用于控制定时器T0
12、、T1 的启动和停止,并包含它们的溢出标志位系统复位时TCON 和 TMOD 的所有位清“ 0“。7.8 定时器的控制寄存器TCON(内部 RAM 字节地址: 88H)定时器的控制寄存器TCON 具有中断控制和定时控制两种控制TCON TF1 TR1 TF0 TR0 位地址8FH 8EH 8DH 8CH 低四位字断与外部中断有关TF1(TCON.7)/ TF0(TCON.5)定时器 T1(T0) 的溢出中断标志位 TR1(TCON.6)/TRO(TCON.4) 定时器 T1/(T0) 运行控制位(TR1=0 停止运行 TR1=1 ,启动运行)7.9 定时器的方式寄存器TMOD( 内部 RAM
13、字节地址: 89H) 用于控制定时器/计数器的两种功能及四种工作模式,。TMOD GATE C/T M1 M0 GATE C/T M1 M0 高 4 位字段用于定时器T1 的工作方式控制低4 位用于定时器T0 的工作方式控制GATE:门控制位( TMOD;7 对应定时器T1,TMOD、3 对应定时器T0)C/T: 定时或计数功能选择控制位(TMOD、6 对应定时器T1,TMOD,2 对应定时器T0)8、定时器 /计数器工作方式控制关系M1 M0 工作方式功能说明定时初值计算0 0 方式 0 13 位定时器 /计数器位低位,高58/)2(13XTLxTHNfx0 1 方式 1 16 位定时器 /
14、计数器位低位,高88/)2(16XTLxTHNfx1 0 方式 2 自动重装初始值的8位定时器 /计数器Nfx /)2(8xTLTH位81 1 方式 3 仅 T0 分为两个 8 位定时器 /计数器280,2/)2(2x18TH0N1,)/f12(88xTLNfxx位位注: f输出计数器的脉冲频率它为晶体振荡器频率的1/12 ;N定时时间( x); X定时初值机器周期:12/f 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 12 页例 1:编写一段程序,让51MCU 的 P1.7 输出 1ms 的方波(用定时器T1 完成),fosc=1
15、2MHz 。定时器初值计算(TCY=1us )此时定时时间采用0.5ms 1、采用方式0:N=8192-500/1=7692=1E0CH 数据格式为: 1111000000001100B=0F00CH 所以( TH1)=0F0H ,( TL1)=0CH 2、采用方式1:N=65536-500/1=65036=0FE0C 所以( TH1)=0FEH ,( TL1)=0CH ORG 0000H ;主程序AJMP MAIN ORG 001BH;定时中断1 入口AJMP SERT1 ORG 0030H MAIN:SETB P1.7 MOV TMOD ,#10H ;设 T1 为方式 1 MOV TH1
16、,#0FEH ;给 T1 赋初值MOV TL1 ,#0CH SETB ET1;开定时器T1 中断SETB EA SETB TR1;启动定时器T1 SJMP $ SERT1:MOV TH1 ,#0FEH ;定时器回赋初值MOV TL1,#0CH CPL P1.7 RETI END 例 2:编写一段程序,让51MCU 的 P1.7 输出占空比为70% ,频率为100HZ 的矩形波(用定时器完成),fosc=6MHz 。思路:此题中,高电平时间为10ms 70%=7ms ,低电平为3ms 。对于这种高、低电平时间不一致的波形,通常取出两个时间的相同单位时间作为定时器的定时时间,对于不同的电平采用不同
17、的定时次数。此例中,可用1ms 作为定时器的定时时间。高电平段定时7 次,低电平段定时3 次,即可实现矩形波输出。定时器初值 =65536-1000/2=65036=FE0CH 程序清单: ORG 0000H ;主程序AJMP MAIN ORG 000BH;定时中断T0 入口AJMP SERT0 ORG 0030H MAIN :SETB P1.7 MOV TMOD ,#01H ;设 T0 为方式 1 MOV TH0 ,#0FEH ;给 T0 赋初值MOV TL0 ,#0CH MOV R0 ,#7 SETB ET0;开定时器T0 中断SETB EA SETB TR0;启动定时器T0 SJMP $
18、 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 12 页9、串行口工作方式表SM0 SM1 工作方式功能说明定时初值计算0 0 方式 0 8 位移位寄存器12/OSCf0 1 方式 1 10 位异步串行通讯的溢出率1322TSMOD1 0 方式 2 11 位异步串行通讯OSCSMODf6421 1 方式 3 11 位异步串行通讯的溢出率1322TSMOD9.1 通信主要有两种方式:并行通信和串行通信并行通信 ;是在传递数据过程中每个字节的各位、同时进行传送的通信方式串行通信:是指每个字节的各位分别进行传送的通信方式并行通信的传输速度比
19、串行通信要快并行通信用于短距离高速通信场合串行通信的两种数据传递方式:异步串行通信和同步串行通信串行通信按数据传送方向可分为单工、半双工、全双工通信方式9.2 波特率是表征串行口数据传送速率的量,其定义为每秒传送二进制数的位数单位为bit/s 常见 1200bit/s 2400 bit/s 4800 bit/s 9600 bit/s 9.3.与串行口有关的特殊功能寄存器有串行口缓冲器SBUF、串行口控制寄存器SCON和波特率控制寄存器PCON 9.4 串行口缓冲器SBUF的地址为99H,有两个物理单元串行口接收缓冲器和串行口发送缓冲器(可同时发送和接收数据)9.5 波特率控制寄存器PCON主要
20、用于波特率选择和断电控制,地址为87H D7 D6 D5 D4 D3 D2 D1 SMOD SMOD:波特率选择位。当SMOD=1 波特率提高一倍PCON的其它位主要用于掉电控制10、串行口控制器SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志;SCON字节地址98H SCON D7 D6 D5 D4 D3 D2 D1 D0 位地址SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 和 SM1 为工作方式选择位,可选择四种工作方式:SM0 SM1 工作方式说明波特率功能0 0 0 同步移位寄存器/12 同步移位寄存器0 1 1 10 位异
21、步收发由定时器控制8 位 UART 1 0 2 11 位异步收发/32 或/64 9 位 UART 不变波特率1 1 3 11 位异步收发由定时器控制9 位 UART 可变波特率SM2,多机通信控制位,主要用于方式2 和方式 3。当接收机的SM2=1 时可以利用收到的RB8 来控制是否激活RI。当 SM2=0 时,不论收到的RB8 为 0 和 1,均可以使收到的数据进入 SBUF,并激活 RI 。TB8,在方式2 或方式 3 中,是发送数据的第九位(位8)RB8,在方式2 或方式 3 中,是接收到数据的第九位(位8),TI,串行口发送中断标志位。RI,串行口接收中断标志位。REN 串行口允许接
22、受位2-3. 简述 8051 片内 RAM 的空间分配。答:低128B 位数据存储器区分为:工作寄存器区(00H1FH );位寻址区(20H2FH );一般数据存储区(30H7FH )高 128B 数据存储器区离散地分布着21 个特殊功能寄存器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 12 页2-8. 内RAM 低128B单元划分为哪三个主要区域?各区域主要功能是什么?答:地址范围为00H7FH 的128字节单元,按功能特点划分为不同的几个区,分述如下。(1) 工作寄存器区地址范围为00H1FH 的 32 字节存储器单元,分为四个
23、组,每组有8个工作寄存器字节单元,定名为R0、R1、R2、R3、 R4、R5、 R6 和 R7。通过改变程序状态字特殊功能寄存器PSW中 RS1,RS0 两位的内容,每组工作寄存器均可选作CPU的当前工作寄存器组。(2)位寻址区地址为20H2FH 的 16 个字节单元中共128 位,每一位都有相应的位地址,可用位寻址方式对其进行置位、复位、内容传送、逻辑运算等操作。(3)一般数据存储区地址范围为30H7FH 的区域,可用于原始数据及运算结果的存储。值得注意的是,30H7FH 中一部分字节单元可以开辟出一块遵守“ 后进先出 ” 或“ 先进后出 ”规则的特殊数据区堆栈。2-11. CPU 如何确定
24、和改变当前工作寄存器组?答:通过改变程序状态字特殊功能寄存器PSW 中 RS1,RS0 两位的内容,每组工作寄存器均可被选作当前工作寄存器。RS1 RS0 当前工作寄存器0 0 第 0 组0 1 第 1 组1 0 第 2 组1 1 第 3 组3-13 使用位操作指令实现下列逻辑操作,要求不更改单元其他位的内容。解:( 1)使 Acc.0 置1: SETB Acc.0 (2)清除累加器的高四位: ANL A ,#0FH 或 CLR Acc.733 CLR Acc.6 CLR Acc.5 CLR Acc.4 (3) 清除 Acc.3 ,Acc.4 ,Acc.5 ,Acc.6 :ANL A,#87H
25、 或 CLR Acc.3 CLR Acc.4 CLR Acc.5 CLR Acc.6 4-2 试编写程序,查找在内部RAM 20H-50H 单元中出现 00H的次数,并将查找的结果存入51H单元。解:程序如下:MOV R0,#20H MOV R7,#31H MOV 51H,#00H LOOP1: CJNE R0, #00H, LOOP INC 51H LOOP: INC R0 DJNZ R7, LOOP1 HERE: SJMP HERE 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 12 页4-11 已知片内 RAM 以ADDR 为起
26、始地址的区域中存放着24个无符号数,试编写程序找出最小值,并存入 MIN单元。解:根据题意,编写程序如下:MOV R0, #ADDR ;数据区首地址39 MOV R7, #18H ;数据区长度MOV A, R0 ;读第一个数DEC R7 LOOP: INC R0 MOV 2AH, R0 ;读下一个数CJNE A,2AH,CHK ;数值比较CHK: JC LOOP1 ; A 值小转移MOV A,R0 LOOP1: DJNZ R7,LOOP ;继续MOV 2BH,A ;极值送 2BH 单元HERE: AJMP HERE ;停止6-4 MCS-51的外部中断有哪两种触发方式?它们对触发脉冲或电平有什
27、么要求?应如何选择和设定?答: MCS-51 的外部中断有两种触发方式:边沿触发方式和电平触发方式。对于边沿触发方式, CPU 在每一个机器周期S5P2 期间采样外部中断l 请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断1请求信号为高电平,接着的下一个机器周期采样到外部中断1请求信号为低电平,出现了下跳沿,则使IEl 置1。直到 CPU 响应该中断时,才由硬件使IEl 清0。对于电平触发方式,CPU 在每一个机器周期S5P2 期间采样外部中断 1请求引脚的输入电平。若外部中断l 请求信号为低电平,则使IE1置 1,若外部中断1请求信号为高电平,则使IEl 清
28、0。可由 TCON 中对应的 IT0 (或 IT1 )位程控为低电平或下降沿有效。 IT0 (或 IT1 )=1时,外部中断0(或 1)程控为边沿触发方式。IT0 (或 IT1 )=0时,外部中断 0(或 1)程控为电平触发方式。6-6 某MCS-51 系统用于定时测试压力、温度,定时用T0来实现,压力超限和温度超限的报警信号分别由和输入,中断优先权排列顺序依次为压力超限温度超限定时检测,试确定专用寄存器IE 和IP的内容,并编写初始化程序。IE=87H IP=05H IE: 1 0 0 1 1 1 IP: 0 0 1 0 1 初始化程序如下:ORG 0000H AJMP MAIN ORG 0
29、003H AJMP W1 ORG 000BH AJMP W2 ORG 0013H AJMP W3 ORG 0050H MAIN: MOV IP,#05H MOV IE,#87H HERE: SJMP HERE 8051 不可位寻址的特殊寄存器名称:SP,DPH,DPL(或 DPTR) ,TMOD ,TH0,TL0,TH1,TL1,SBUF,PCON 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 12 页请写出 MCS-51可位寻址的特殊寄存器名称及其初始值(10 分) 。ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON
30、,SCON 初始值:除P0、P1、P2、P3为 FFH外其余都为0。请给出特殊寄存器TCON 、PSW 的各位名称及作用TCON:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TFX 定时器 / 计数器中断标志位 TRX 定时器 / 计数器打开位IEX 外部中断标志位 ITX 外部中断触发方式标志位PSW: Cy、Ac、F0、RS1 、RS0 、OV P Cy-进位 / 借位标志位 ; Ac-半字节进位 / 借位标志位;F0-用户标志位; RS1、RS0-通用工作寄存器定义位; OV-溢出标志位 ; P-奇偶标志位IE: EA - - ES ET1 EX1 ET0 EX0 E
31、A-中断总允许位;ES-串口中断允许位;ET1、ET0-定时器 / 计数器中断允许位;EX1 、EX0-外部中断允许位请写出特殊寄存器TMOD,SCON各位的名称及意义TMOD GATE C/T M1 M0 GATE C/T M1 M0 GATE 改位控制定时器计数器的运行是否受INT1、INT0 管脚是否为高电平的控制;C/T 改位为 1 是计数器功能,为0 是定时器功能;M1 M0 工作方式设置位;SCON : SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 为串行口工作方式设置位 SM2 多机通讯允许位REN 接收允许位 TB8 发送的第8 位 RB8 接收到
32、的第8 位TI 发送完成标志位 RI 接收完成标志位请写出 8051 中断子程序入口地址,并说明其检测位,中断优先级的高低,以及如何设置答案: 03H 外部中断0 子程序入口 , 检测位 IE0,中断优先级最高;0BH 定时器 / 计数器中断子程序入口,检测位TF0;13H外部中断1 子程序入口 , 检测位 IE1;1BH 定时器 / 计数器中断子程序入口,检测位TF1;23H串行口中断子程序入口, 检测位 TI,RI ,中断优先级最低;中断优先级高低的设置需设置IP 中的相应位。PS,PT1,PX1,PT0, PX0 。一、试简述如下器件的功能(5 分 ) : 8051- 内部只有4KROM
33、 的 8 位单片机 74LS373-地址锁存器27C64- 64K 位的程序只读存储器 ADC0809-8路 A/D 转换器 DAC0832-8 位 D/A 转换器 74138 3-8译码器62256 256K 位的数据存储器扩展芯片 DAC0832 8 位 D/A 转换器74LS373 8位锁存器 8255A 8并行接口74LS138: 3-8 译码器 ADC0809 :A/D 转换器 2764:8K 的 EPROM 8031:8031 单片机,内无程序存储器说明 MCS-51内部 RAM 的功能区并表明SP的初始地址 (8 分) 。通用工作寄存器区;位寻址区;一般数据存储区;SP的初始值为
34、07H 要求编写主程序段:将外部中断1 设置为最高优先级中断、信号下降沿检测方式并打开该中断( 5 分)。答案: SETB PX1 SETB IT1 SETB EX1 SETB EA 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 12 页画原理图并编程(20 分)。应用一只STC89S52芯片,应用4 只 74LS164,驱动 4 只共阴极数码管,应用延时子程序,使 4 只数码管显示从0-9999 的累加。注:显示码为3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH (0-9) 答案:图可参照下图。图:程
35、序: ORG 0H AJMP MAIN ORG 30H MAIN: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 LOOP: ACALL DISPLAY ACALL DELAY INC 30H MOV A,30H CJNE A,#10,LOOP MOV 30H,#0 INC 31H MOV A,31H CJNE A,#10,LOOP MOV 31H,#0 INC 32H MOV A,32H CJNE A,#10,LOOP MOV 32H,#0 INC 33H MOV A,33H CJNE A,#10,LOOP MOV 33H,#0 AJMP LOOP
36、DISPLAY: MOV DPTR,#TAB MOV R0,#30H DISLOP: MOV A,R0 MOVC A,A+DPTR MOV R4,#8 DISLOP2: RRC A CLR P1.7 MOV C,P1.6 SETB P1.7 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 12 页 DJNZ R4,DISLOP2 INC R0 CJNE R0,#34H,DISLOP RET DELAY: MOV R7,#02 DEL1: MOV R6,#0FH DEL2: MOV R5,#0FH DJNZ R5,$ DJNZ R6,DE
37、L2 DJNZ R7,DEL1 RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 试画出原理图并编写程序(20 分)。应用单片机的8 条 I/O 线,构建44 的行列式键盘,并编写键盘的识别程序。答案:图:程序: ORG 0H AJMP MAIN ORG 30H MAIN: CLR P1.4 JNB P1.0,KEY0 JNB P1.1,KEY4 JNB P1.2,KEY8 JNB P1.3,KEYC SETB P1.4 CLR P1.5 JNB P1.0,KEY1 JNB P1.1,KEY5 JNB P1.2,KEY9 JNB P
38、1.3,KEYD SETB P1.5 CLR P1.6 JNB P1.0,KEY2 JNB P1.1,KEY6 JNB P1.2,KEYA JNB P1.3,KEYE SETB P1.6 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 12 页 CLR P1.7 JNB P1.0,KEY3 JNB P1.1,KEY6 JNB P1.2,KEYA JNB P1.3,KEYF AJMP MAIN KEY0: AJMP KEY0DEAL KEY1: AJMP KEY1DEAL KEY2: AJMP KEY2DEAL 评分标准:. 图 10
39、分,未画上拉电阻的扣4 分;KEY9: AJMP KEY9DEAL 未用行列式的扣4 分KEYA: AJMP KEYADEAL 程序 10 分,有语法错误的最多扣4 分KEYB: AJMP KEYBDEAL 有逻辑错误的最多扣4 分。. 试设计红绿灯控制电路原理图及汇编语言程序(16 分) 。设上下方向依次为红、绿、黄灯,水平方向依次为红、绿、黄灯。程序: ORG 00H AJMP MAIN ORG 0030H MAIN:MOV P1,#00010001B MOV R4,#50 LOP1:ACALL DELAY1S DJNZ R4,LOP1 MOV P1,#00100001B MOV R4,#
40、5 LOP2:ACALL DELAY1S DJNZ R4,LOP2 MOV P1,#00001010B MOV R4,#50 LOP3:ACALL DELAY1S DJNZ R4,LOP3 MOV P1,#00010100B MOV R4,#5 LOP4:ACALL DELAY1S DJNZ R4,LOP4 AJMP MAIN END 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 12 页试编写程序使P1.0 口输出频率为2KHz的方波信号 (18 分) 。计算过程:设计定时器以及其初始值。程序: ORG 0H AJMP MAIN ORG 30H MAIN: MOV TMOD,#00 MOV TH1,#0FCH MOV TL1,#03H MOV IE,#00 SETB TR1 LOOP: JBC TF1,LOOP1 AJMP LOOP LOOP1: MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 AJMP LOOP 请画出 MCS-51的最小系统原理图(6 分) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 12 页