第7章 定时(计数器)
- 格式:ppt
- 大小:9.53 MB
- 文档页数:8
第7章定时器/计数器MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1(8052提供3个,这第三个称定时器T2)。
它们既可用作定时器方式,又可用作计数器方式。
7 . 1定时器/计数器结构定时器/计数器的基本部件是两个8位的计数器(其中TH1,TL1是T1的计数器,TH0,TL0是T0的计数器)拼装而成。
在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器也可看作是对计算机机器周期的计数器(因为每个机器周期包含12个振荡周期,故每一个机器周期定时器加1,可以把输入的时钟脉冲看成机器周期信号)。
故其频率为晶振频率的1/12。
如果晶振频率为12MH Z,则定时器每接收一个输入脉冲的时间为1us。
当它用作对外部事件计数时,接相应的外部输入引脚T0(P3.4)或T1(P3.5)。
在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1(它在每个机器周期的S5P2时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,则计数器加1)。
加1操作发生在检测到这种跳变后的一个机器周期中的S3P1,因此需要两个机器周期来识别一个从“1”到“0”的跳变,故最高计数频率为晶振频率的1/24。
这就要求输入信号的电平要在跳变后至少应在一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次。
定时器/计数器有四种工作方式,其工作方式的选择及控制都由两个特殊功能寄存器(TMOD和TCON)的内容来决定。
用指令改变TMOD或TCON的内容后,则在下一条指令的第一个机器周期的S1P1时起作用。
1、定时器的方式寄存器TMOD图7-1 TMOD寄存器各位定义特殊功能寄存器TMOD为定时器的方式控制寄存器,寄存器中每位的定义如图7-1所示。
高4位用于定时器1,低4位用于定时器0。
其中M1,M0用来确定所选的工作方式,如表7-1所示。
①M1 M0 定时器/计数器四种工作方式选择,见表7-1所示。
第7章思考题及习题71.如果采用的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?答:晶振的频率为24MHz, 机器周期为µs。
方式0最大定时时间=µs×213=µs×8192=4096µs方式1最大定时时间=µs×216=µs×65536=327686µs方式2最大定时时间=µs×28=µs×256=128µs2.定时器/计数器用作计数器模式时,对外界计数频率有何限制?答:外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
3.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
4.TH x与TL x(x= 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
5.Proteus虚拟仿真使用定时器T0,采用方式2定时,在脚输出周期为400µs,占空比为4:1的矩形脉冲,要求在脚接有虚拟示波器,观察脚输出的矩形脉冲波形。
答:略6.Proteus虚拟仿真利用定时器T1的中断来使控制蜂鸣器发出1kHz的音频信号,假设系统时钟频率为12MHz。
答:利用定时器T1的中断控制引脚输出频率为1kHz的方波音频信号,驱动蜂鸣器发声。
系统时钟为12MHz。
方波音频信号的周期为1ms,因此T1的定时中断时间为 ms,进入中断服务程序后,对求反。
电路如图所示。
图控制蜂鸣器发出1kHz的音频信号先计算T1初值,系统时钟为12MHz,则方波的周期为1µs。
第7章思考题及习题71.如果采用的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少?答:晶振的频率为24MHz, 机器周期为0.5µs。
方式0最大定时时间=0.5µs×213=0.5µs×8192=4096µs方式1最大定时时间=0.5µs×216=0.5µs×65536=327686µs方式2最大定时时间=0.5µs×28=0.5µs×256=128µs2.定时器/计数器用作计数器模式时,对外界计数频率有何限制?答:外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
3.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
4.TH x与TL x(x= 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
5.Proteus虚拟仿真使用定时器T0,采用方式2定时,在P1.0脚输出周期为400µs,占空比为4:1的矩形脉冲,要求在P1.0脚接有虚拟示波器,观察P1.0脚输出的矩形脉冲波形。
答:略6.Proteus虚拟仿真利用定时器T1的中断来使P1.7控制蜂鸣器发出1kHz的音频信号,假设系统时钟频率为12MHz。
答:利用定时器T1的中断控制P1.7引脚输出频率为1kHz的方波音频信号,驱动蜂鸣器发声。
系统时钟为12MHz。
方波音频信号的周期为1ms,因此T1的定时中断时间为0.5 ms,进入中断服务程序后,对P1.7求反。
第七章习题参考答案一、填空题1、在串行通信中,有数据传送方向为单工、半双工和全双工三种方式。
2、要串口为10位UART,工作方式应选为方式1 。
3、用串口扩并口时,串行接口工作方式应选为方式0 。
4、计算机的数据传送有两种方式,即并行数据传送和串行数据传送方式,其中具有成本低特点的是串行数据传送方式。
5、串行通信按同步方式可分为异步通信和同步通信。
6、异步串行数据通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。
7、串行接口电路的主要功能是串行化和反串行化,把帧中格式信息滤除而保留数据位的操作是反串行化。
8、专用寄存器“串行数据缓冲寄存器”,实际上是发送缓冲寄存器和接收缓冲寄存器的总称。
9、MCS-51的串行口在工作方式0下,是把串行口作为同步移位寄存器来使用。
这样,在串入并出移位寄存器的配合下,就可以把串行口作为并行输出口使用,在并入串出移位寄存器的配合下,就可以把串行口作为并行输入口使用。
10、在串行通信中,收发双方对波特率的设定应该是约定的。
11、使用定时器/计数器设置串行通信的波特率时,应把定时器/计数器1设定作方式 2 ,即自动重新加载方式。
12、某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)组成。
当该串行口每分钟传送1800个字符时,则波特率应为300b/s 。
解答:串口每秒钟传送的字符为:1800/60=30个字符/秒所以波特率为:30个字符/秒×10位/个字符=300b/s13、8051单片机的串行接口由发送缓冲积存器SBUF、接收缓冲寄存器SBUF 、串行接口控制寄存器SCON、定时器T1构成的波特率发生器等部件组成。
14、当向SBUF发“写”命令时,即执行MOV SBUF,A 指令,即向发送缓冲寄存器SBUF装载并开始由TXD 引脚向外发送一帧数据,发送完后便使发送中断标志位TI 置“1”。
15、在满足串行接口接收中断标志位RI=0 的条件下,置允许接收位REN=1 ,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1,当发读SBUF命令时,即指令MOV A,SBUF 指令,便由接收缓冲寄存器SBUF取出信息同过8051内部总线送CPU。