学习任务五单片机定时计数器应用——交通灯控制系统设计课后练习题带答案 单片机应用技术 中职 高三 工信版
学习任务五 课后习题答案
- AT89S51单片机中有几个定时/计数器?它们是由哪些特殊功能寄存器组成的?
答:AT89S51单片机内部有两个定时/计数器T0和T1,每个定时/计数器都可以实现定时和计数功能,定时/计数器T0的基本部件是两个8位寄存器TH0及TL0组合的16位加法计数器,用于对定时或计数脉冲进行加法计数。定时/计数器T1也是由两个8位寄存器TH1和 TL1组合的16位加法计数器,用于对定时或计数脉冲进行加法计数。
- 51系列单片机定时/计数器T0和T1有哪几种工作方式?它们有什么区别?
答:51系列单片机定时/计数器T0和T1有4种工作方式,分别为方式0、方式1、方式2和方式3。当方式控制寄存器TMOD中的M1M0取不同值时,对应的工作方式不同,他们之间的区别见下表。
M1M0 | 方 式 | 说 明 |
0 0 | 方式0 | TLi的低5位与THi的8位构成13位计数器 |
0 1 | 方式1 | TLi的8位与THi的8位构成16位计数器 |
1 0 | 方式2 | 具有自动重装初值功能的8位计数器 |
1 1 | 方式3 | T0分成两个独立的计数器,T1可工作在方式0~方式2 |
- AT89S51单片机定时/计数器在定时或计数工作方式下,其计数脉冲分别由谁提供?定时时间与哪些因素有关?
答:当计数脉冲来自内部时钟脉冲,即机器周期(fosc/12)时,定时/计数器作定时
学科网(北京)股份有限公司
器使用。定时时间与定时器的初始值有关,也与单片机的晶振频率有关。
当计数脉冲来自与外部引脚T0/T1上的输入脉冲时,定时/计数器作计数器使用。如果在第一个周期检测到T0/T1引脚的脉冲信号为1,第二个机器周期检测到T0/T1引脚的脉冲信号为0,即出现从高电平到低电平的跳变时,计数器加1。由于检测到一次负跳变需要两个机器周期,所以最高的外部计数脉冲的频率不能超过时钟频率的1/24,并且要求外部计数脉冲的高电平和低电平的持续时间不能小于一个机器周期。
- 利用单片机的定时/计数器,编写延时300ms的两个发光二极管闪烁程序,模拟汽车在紧急情况下的“双闪”。晶振为12MHz,控制端口自定。
答:设单片机的晶振频率f =12MHz,单片机的机器周期与采用的晶振频率有关,晶振频率的倒数就是单片机的时钟周期,单片机的一个机器周期等于12个时钟周期,所以一个机器周期T=1/12MHz×12=1us,由前面定时器的学习可知,定时器T0和T1工作在方式1时M的值为65536,所以方式1的最大定时为65.536ms。如果要定时50ms,每计数一次需要1us,所需计数值的计算方法:
C = 定时时间/机器周期 = t/T=50ms/1us=50000
计数初值为:
Tc=M-C=65536-50000=15536=3CB0H
ORG 00H
MOV TMOD, #01H ; 置T0工作在方式1定时
MOV TH0, #3CH ; 置T0定时50ms初值,送T0的高8位。
MOV TL0, #0B0H ; 置T0定时50ms初值,送T0的低8位。
CLR TF0
SETB TR0
MOV R4, #6 ;闪烁300ms的初值,50 ms×6=300ms
MOV A,#7EH
学科网(北京)股份有限公司