单片机第六章_单片机第6章
单片机第六章由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机第6章”。
第六章3、89C51定时器有哪几种工作模式?有何区别?
答:有四种工作模式:模式0,模式1,模式2,模式3
(1)模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲
(2)模式1:与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲
(3)模式2:把TL0和TL1配置成一个自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲
(4)模式3:对T0和T1不大相同
若设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。
4、89C51内部设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?
答:89C51单片机内有两个16位定时器/计数器,即T0和T1。
T0由两个8位特殊功能寄存器TH0和TL0组成;T1由TH1和TL1组成。
6、简述定时器4种工作模式的特点,如何选择设定?
答:(1)模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。
定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲
置TMOD中的M1M0为00
(2)模式1:与模式0的唯一差别是寄存器TH和TL以全部16位参与操作。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲
置TMOD中的M1M0为01
(3)模式2:把TL0和TL1配置成一个自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。
定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲
置TMOD中的M1M0为10
(4)模式3:对T0和T1不大相同
若设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。
TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。
定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。置TMOD中的M1M0为1111、89C51定时器作定时和计数时其计数脉冲分别由谁提供?
答:作定时器时计数脉冲由89C51片内振荡器输出经12分频后的脉冲提供,作计数时计数脉冲由外部信号通过引脚P3.4和P3.5提供。
15、单片机8031的时钟频率为6MHz,若要求定时值分别为0.1ms,1ms,10ms,定时器0工作在模式0、模式1和模式2时,其定时器初值各应是多少?
解:(1)0.1ms
模式0:
T0低5位01110B=0EH
T0高8位:11111110B=FEH
模式1:
模式2:
(2)1ms
模式0:
T0低5位01100B=0CH
T0高8位:11110000B=F0H
模式1:
模式2:
在此情况下最长定时为512μs,无法一次实现定时1ms,可用0.1ms循环10次
(3)10ms
模式0:
T0低5位11000B=18H
T0高8位:01100011B=63H
模式1:
模式2:在此情况下最长定时为512μs,无法一次实现定时10ms,可用0.1ms循环100次 第七章4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?
答:89C51串行口有4种工作方式:
方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位
异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位
方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)
方式2:方式2波特率≌2SMOD/64×fosc
方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)
如果T1采用模式2则:
5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波
特率是多少?
答:已知每分钟传送3600个字符,方式3每个字符11位,则:
波特率=(11b/字符)×(3600字符/60s)=660b/s