2021-2022学年高三单片机技术及应用练习题+答案 项目五(5-5).docx
任务5-5数码电子钟设计任务5-5-1简易数码秒表程序设计思考与练习.简述MCS-51单片机的中断结构。单片机的中断系统能够加强CPU对多任务事件的处理能力,从而使它 的应用范围进一步扩大。MCS-51单片机提供了 5个中断源,两个中断 优先级控制,可实现两个中断服务嵌套。当CPU支持中断屏蔽指令后, 可将一部分或所有的中断关断,只有打开相应的中断控制位后,方可接 收相应的中断请求。程序设置中断的允许或屏蔽,也可设置中断的优先 级。MCS-51单片机有5个中断源:外部中断0 、定时/计数器TO、外部中 断1、定时/计数器T1、串口中断TI或RI。有两个中断控制寄存器,其 中中断允许寄存器IE控制中断源的使用与屏蔽。中断优先级寄存器IP 实现中断源的两个优先级控制。1 . MCS-51单片机有哪些中断源?MCS-51单片机有5个中断源,它们是两个外中断INTO (P3.2)和INTI (P3.3)、两个片内定时/计数器溢出中断TFO和TF1,一个片内串行口 中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进 行控制。2 .简述MCS-51单片机特殊功能寄存器TCON低4位的控制功能。TCON寄存器低4位控制功能简要说明如下:(1) IE1 :外部中断的中断请求标志位。当单片机外部有中断请求信号(低电平或负跳变)输入P3.3引脚时,IE1 会被硬件自动置。在CPU响应中断后,硬件自动将IE1清"0”。(2) IT1:外部中断的触发方式控制位,可以通过软件置位或复位,用 于控制外部中断的中断信号触发方式。IT1二1时 外部中断为负跳变边沿触发方式(即由"1”到“0”跳变时 触发外部中断)打1二0时,外部中断为低电平触发方式(即低电平“0” 期间触发外部中断)o(3) IE0 :外部中断的中断请求标志位。当单片机外部有中断请求信号(低电平或负跳变)输入P3.2弓I脚时,IE0 会被硬件自动置。在CPU响应中断后,硬件自动将IE0清"0"。(4) IT0:外部中断的触发方式控制位,可以通过软件置位或复位,用 于控制外部中断的中断信号触发方式。IT0二1时,外部中断为负跳变边沿触发方式(即由“1”到“0”跳变时 触发外部中断);rro二o时,外部中断为低电平触发方式(即低电平“o” 期间触发外部中断)。4 .简述MCS-51单片机中断允许控制寄存器IE的结构格式和各控制位 功能。中断允许控制寄存器IE的结构格式如下表所示:IE寄存器结构IE D7D6D5 D4D3D2DIDOEA - - ES ET1 EXI ETO EXO位地址AFHACHABHAAHA9HA8HIE寄存器的各控制位功能说明如下:EA :中断总控制位。EA=1, CPU开放中断;EA=0, CPU禁止所有中断。EXO :外中断的中断控制位。EXO=1,允许使用外中断的中断;EXO=0,禁止使用外中断的中断。ETO :定时/计数器T0的中断控制位。ET1 = 1,允许使用T0的中断;ET1=O,禁止使用T0的中断。EX1 :外中断的中断控制位。EX1二L允许使用外中断的中断;EX1=0,禁止使用外中断的中断。ET1 :定时/计数器T1的中断控制位。ET1 = 1,允许使用T1的中断;ET1=O,禁止使用T1的中断。ES :串行口中断控制位。ES二1允许使用串行口的中断;ES=O,屏蔽串行口的中断。5 .简述MCS-51单片机中断优先级控制寄存器IP的结构格式和各控制 位功能。中断优先级控制寄存器IP的结构格式如下表所示:IP寄存器结构IP D7 D6 D5 D4 D3 D2 DI DO-PS PT1PxlPTOPXO位地址BCHBBHBAHB9HB8HIP寄存器的各控制位功能说明如下:PXO :外中断优先级控制位。PXO=1,声明外中断为高优先级中断;PXO=0,定义外中断为低优先 级中断。PTO :定时/计数器T0优先级控制位。PTO=1,声明定时/计数器TO为高优先级中断;PTO=0,定义定时/计数 器T0为低优先级中断。PX1:外中断优先级控制位。PX1 = 1,声明外中断为高优先级中断;PX1=0,定义外中断为低优先 级中断。PT1 :定时/计数器T1优先级控制位。PT1=1,声明定时/计数器T1为高优先级中断;PT1=0,定义定时/计数 器T1为低优先级中断。PS :串行口中断口优先级控制位。PS=声明串行口中断为高优先级中断;PS=0,定义串行口中断为低优 先级中断。6 .调整本节示例程序使用计数器T1定时,完成相应的流水灯C语言源 程序设计。(略).将上题中的C语言源程序编译生成HEX文件后,用Proteus软件仿 真验证程序的正确性。(略).将第6题中设计的C语言源程序编译生成的HEX文件,用 STC_ISP_V488程序烧录软件载入制作的单片机实验板中运行,验证程序 的正确性。(略)任务5-5-2可调时数码电子钟程序设计思考与练习简述独立键盘的工作原理。对于应用多个独立按键进行控制的单片机程序,为了便于集中控制, 常常将多个独立按键看作一个整体性的由独立按键构成的独立键盘,通 常独立键盘中的独立按键数是四个。下面简要说明独立键盘的工作原理: CPU按程序编写的指令顺序执行程序,通常情况下执行到键盘扫描子程 序时,才开始键盘扫描。也就是说,只有在CPU空闲时才能去扫描键 盘。这常常导致因为按键时CPU忙而按键无效。为了克服这一缺陷,提 高按键的灵敏度与有效性,就必须在足够短的时间里对键盘进行定期重 复扫描。通常的做法是将键盘扫描子程序放置在定时器中断服务程序中, 搭载定时器中断服务程序运行键盘扫描子程序,以保证很好地实现按键 控制功能。是否有键按下的判断方法如下:先将4个独立按键的接口 P1 口的高4位(P1.4P1.7)均置高电平“1"(Pl=0xf0)o此时如果有某一按键按下,则按键连接的相应位会被强制 出“0”。然后再读取这4位的电平,就会有一位不为“1”,P1 的 状态将不再为“OxfO”,说明有键按下。用C语言的编程语句可表示如 下:Pl=OxfO;/ Pl=1111 0000B, P1,4 P1,7 均置高电平 1if(Pl&OxfO)!= OxfO); 条件判断:P1 跟 OxfO (1111 0000B)按位“与”运算后的结果是否为OxfO上述条件语句中的表达式,在无键按下时为"假二不需进行键盘扫描, 结束本次键盘扫描子程序的运行;上述条件语句中的表达式,在有键按 下时为“真二需要继续进行键盘扫描检测,确认到底是哪一个按键被按 下。上述条件语句中的表达式为“真”时,说明有键被按下,在继续进行键 盘扫描检测前,为防止按键抖动的干扰,需要接着进行软件消抖。软件消抖之后就要进行按键(键值)的确认。按键确认可采用逐位扫描 的方法。1 .升级本节示例程序,增加闹钟报时与停止功能,完成相应的流水灯C 语言源程序设计。(略).将上题中的C语言源程序编译生成HEX文件后,用Proteus软件仿 真验证程序的正确性。(略).将第2题中设计的C语言源程序编译生成的HEX文件,用 STC_ISP_V488程序烧录软件载入制作的单片机实验板中运行,验证程序 的正确性。(略)