版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-116.3 80C51单片机的定时单片机的定时/计数器计数器结构结构基本型:基本型:T0T0,定时、计数。,定时、计数。 T1T1,定时、计数、串口波特率发生器。,定时、计数、串口波特率发生器。 增强型:增加了增强型:增加了T2T2。见。见6.46.4节。节。 6.3.1 6.3.1 定时定时/ /计数器的结构和工作原理计数器的结构和工作原理 TH1TH1、TL1TL1TH0TH0、TL0TL0TCONTCONTMODTMOD2022-5-12工作原理工作原理-实质是实质是1616位加位加1 1计数器计数器定时器定时器模式时,对内部模式时,对内部机器周期机器周期计数。计数。定时时
2、间定时时间= =计数值计数值* *机器周期机器周期计数器计数器模式时,是对模式时,是对外部脉冲外部脉冲计数。脉冲由计数。脉冲由T0T0(P3.4P3.4)或或T1T1( (P3.5P3.5) )引脚输入。引脚输入。 注意注意:(:(若若计数值计数值为为N N, ,计数初值计数初值为为X X) )溢出信号使溢出信号使TF0TF0或或TF1TF1置置1 1,并,并发出中断请求发出中断请求,1616位时有:位时有: X=65536-NX=65536-N12MHz12MHz晶振时,计数频率低于晶振时,计数频率低于0.5MHz 0.5MHz 2022-5-136.3.2 6.3.2 定时定时/ /计数器
3、的控制计数器的控制工作方式寄存器工作方式寄存器TMODTMOD 76543210TMODGATEC/TM1M0GATEC/TM1M0字节地址:字节地址:89Hn GATEGATE:门控位门控位。GATEGATE0 0时,只要时,只要TRxTRx为为1 1,就可启动计,就可启动计数器工作;数器工作;GATAGATA1 1时,定时器的启动还要加上时,定时器的启动还要加上INTxINTx引脚引脚为高电平这一条件。为高电平这一条件。 n C/TC/T:模式选择位模式选择位。 清清0 0为定时模式,置为定时模式,置1 1为计数方式。为计数方式。n M1M0M1M0:工作方式设置位工作方式设置位。可设置四
4、种工作方式。可设置四种工作方式( (见下页见下页)。)。2022-5-14M1M0M1M0 工作方式工作方式说说 明明0000方式方式0 01313位定时位定时/ /计数器计数器0101方式方式1 11616位定时位定时/ /计数器计数器1010方式方式2 28 8位自动重装定时位自动重装定时/ /计数器计数器1111方式方式3 3T0T0分成两个独立的分成两个独立的8 8位定时位定时/ /计数器;计数器;T1T1此方式停止计数此方式停止计数注意:注意:TMODTMOD不能进行位寻址不能进行位寻址 2022-5-15控制寄存器控制寄存器TCONTCON 76543210TCONTF1TR1TF
5、0TR0字节地址:字节地址:88HTFxTFx:TxTx溢出标志位。溢出标志位。响应中断后响应中断后TFxTFx有硬件自动清有硬件自动清0 0。用软件设置用软件设置TFxTFx可产生同硬件置可产生同硬件置1 1或清或清0 0同样的效果。同样的效果。TRxTRx:TxTx运行控制位。运行控制位。置置1 1时开始工作;清时开始工作;清0 0时停止工作。时停止工作。TRxTRx要由软件置要由软件置1 1或清或清0 0(即启动与停止要由软件控制即启动与停止要由软件控制)。)。2022-5-166.3.3 6.3.3 定时定时/ /计数器的工作方式计数器的工作方式T0T0有方式有方式0 0、1 1、2
6、2、3 3;T1T1有方式有方式0 0、1 1、2 2。以。以T0T0为例说明。为例说明。方式方式0 0:1313位方式位方式 2022-5-17 C/T=1C/T=1时,则为计数模式,有:时,则为计数模式,有: X=2X=21313-N=8192-N-N=8192-N C/T=0 C/T=0时,则为定时模式,有:时,则为定时模式,有: X=2X=21313-N=8192-N-N=8192-N,N=N=t t/Tcy/Tcy【例例5-35-3】若计数个数若计数个数N N为为2 2,求计数初值。,求计数初值。 公式法计算:公式法计算:X X819281922=8190=1FFEH2=8190=1
7、FFEH 求补法计算:对求补法计算:对0 0000 0 0000 00000000 0010B 0010B取反加取反加1 1为:为: 1 1111 1 1111 11111111 1110B( 1110B(1FFEH1FFEH) )初值计算:初值计算:公式法公式法 求补法求补法 :X=X=对对N N求补求补2022-5-18门控位作用门控位作用n 当当GATE=0GATE=0时时仅由仅由TR0TR0控制与门的开启。与门输出控制与门的开启。与门输出1 1时,控制开关时,控制开关接通,计数开始;接通,计数开始; n 当当GATE=1GATE=1时时与门的开启由与门的开启由INT0INT0和和TR0
8、TR0共同控制。这种方式可以用共同控制。这种方式可以用来测量来测量INT0INT0引脚上正脉冲的宽度。引脚上正脉冲的宽度。 注意注意:方式:方式0的计数初值高的计数初值高8位和低位和低5位确定麻烦位确定麻烦 ,实际,实际应用中常由应用中常由16位的方式位的方式1取代。取代。2022-5-19方式方式1 1:1616位方式位方式 X=2X=21616-N-N= =65536-N 65536-N 计数范围:计数范围:1 16553665536 计数初值要计数初值要分成分成2 2个字节个字节分别送入分别送入TH0TH0、TL0TL02022-5-110【例例6-46-4】若要求定时器若要求定时器T0
9、T0工作于方式工作于方式1 1,定时时间为,定时时间为1ms1ms,当晶振为当晶振为6 MHz6 MHz时,求送入时,求送入TH0TH0和和TL0TL0的计数初值各为多少?的计数初值各为多少?应怎样送入应怎样送入TH0TH0和和TL0TL0?由于晶振为由于晶振为6 MHz6 MHz,所以机器周期,所以机器周期TcyTcy为为2 2S S,因此:,因此:N=N=t/Tcyt/Tcy=1=11010-3-3/2/21010-6-6500500X X2 21616-N-N65536-50065536-5006503665036FE0CH FE0CH n也可以利用以下也可以利用以下2 2条语句完成:条
10、语句完成: TH0 =TH0 = (65536-500) (65536-500)/ /256 ;256 ; 商商为计数初值的为计数初值的高字节高字节 TL0 = TL0 = (65536-500)(65536-500)% %256 ; 256 ; 余数余数为计数初值的为计数初值的低字节低字节分别将分别将FEHFEH送入送入TH0TH0中,中,0CH0CH送入送入TL0TL0中即可。中即可。2022-5-111方式方式2 2:8 8位自动重装方式位自动重装方式 X=2X=28 8-N=256-N -N=256-N 计数范围:计数范围:1 1256256 特别适合与脉冲信号发生器特别适合与脉冲信号
11、发生器2022-5-112方式方式3 3:(仅(仅T0T0有此方式,有此方式,T1T1的方式的方式3 3将停止计数)将停止计数) TL0TL0进行进行8 8位定时位定时/ /计数计数 TH0TH0进行进行8 8位定时(位定时(T1T1方式方式2 2时,可出借时,可出借TR1TR1、TF1TF1)2022-5-1136.3.4 6.3.4 定时定时/ /计数器应用举例计数器应用举例初始化程序应完成:初始化程序应完成:v对对TMODTMOD赋值,以确定赋值,以确定T0T0和和T1T1的工作方式;的工作方式;v求初值求初值, ,并写入并写入TH0TH0、TL0TL0或或TH1TH1、TL1TL1;v
12、中断方式时,要对中断方式时,要对IEIE赋值,开放中断;赋值,开放中断;v使使TR0TR0或或TR1TR1置位,启动定时置位,启动定时/ /计数器工作。计数器工作。2022-5-114计数应用计数应用【例例6-36-3】有一包装流水线,产品每计数有一包装流水线,产品每计数2424瓶时发出一个包瓶时发出一个包装控制信号。试编写程序完成这一计数任务。用装控制信号。试编写程序完成这一计数任务。用T0T0完成计数,完成计数,用用P1.0P1.0发出控制信号。发出控制信号。确定方式字:确定方式字:T0T0在计数的方式在计数的方式2 2时:时:M1M0=10M1M0=10,GATE=0 GATE=0 ,C
13、/T=1C/T=1方式控制字为方式控制字为06H06H 求计数初值求计数初值X:X:N=24N=24X=256-24=232=E8HX=256-24=232=E8H应将应将E8HE8H送入送入TH0TH0和和TL0TL0中中 2022-5-115while(1)while(1) if(Flagif(Flag=1)=1) Flag = 0; Flag = 0; P37=0; P37=0; P0= P0=SegCodeCounterSegCodeCounter; DelayMs(20); DelayMs(20); P37=1; P37=1; 主程序(部分)主程序(部分) 中断服务程序中断服务程序
14、void C0Isr() interrupt 1 void C0Isr() interrupt 1 Flag = 1; Flag = 1; Counter+; Counter+; if(Counterif(Counter=13)Counter=0;=13)Counter=0; 2022-5-116定时应用定时应用 定时时间较小时(小于定时时间较小时(小于70ms70ms)。晶振为。晶振为11.0592 MHz11.0592 MHz时,时,TcyTcy为为1.0851.085S S。可直接采用方式。可直接采用方式1 1完成定时任务。完成定时任务。 【例例6-46-4】利用定时利用定时/ /计数器
15、计数器T0T0的方式的方式1 1,产生,产生10ms10ms的定时,并的定时,并使使P2.7P2.7引脚上输出周期为引脚上输出周期为20ms20ms的方波,采用中断方式,设系的方波,采用中断方式,设系统的晶振频率为统的晶振频率为11.0592 MHz11.0592 MHz。 确定方式字:确定方式字:T0T0在定时的方式在定时的方式1 1时:时:M1M0=01M1M0=01,GATE=0 GATE=0 ,C/T=0C/T=0方式控制字为方式控制字为0101H H 求计数初值求计数初值X:X:TcyTcy为为1.0851.085S S N=10ms/1.085N=10ms/1.085S=9216S
16、=9216X=65536-9216=DC00HX=65536-9216=DC00H应将应将DCDC送送TH0, 00HTH0, 00H送送TL0TL0 2022-5-117void void main(voidmain(void) ) TMOD=0 x01; TMOD=0 x01; TL0 =0 xDC; TL0 =0 xDC; TH0 =0 x00; TH0 =0 x00; IE = 0 x82; IE = 0 x82; TR0 =1; TR0 =1; while(1); while(1); 主程序主程序 中断服务程序中断服务程序 void T0Isr() interrupt 1 void
17、T0Isr() interrupt 1 P27 = P27 = P27;P27; TL0 = 0 xDC; TL0 = 0 xDC; TH0 = 0 x00; TH0 = 0 x00; 2022-5-118 定时时间较大时(大于定时时间较大时(大于70ms70ms)。实现方法:一是采用。实现方法:一是采用1 1个定时个定时器定时一定的间隔(如器定时一定的间隔(如20ms20ms),然后用软件进行计数;二是采),然后用软件进行计数;二是采用用2 2个定时器级联,其中一个定时器用来产生周期信号(如个定时器级联,其中一个定时器用来产生周期信号(如20ms20ms为周期),然后将该信号送入另一个计数器
18、的外部脉冲输入端为周期),然后将该信号送入另一个计数器的外部脉冲输入端进行脉冲计数。进行脉冲计数。 【例例6-56-5】编写程序,实现用定时编写程序,实现用定时/ /计数器计数器T0T0定时,使定时,使P2.7P2.7引脚引脚输出周期为输出周期为1s1s的方波。设系统的晶振频率为的方波。设系统的晶振频率为11.0592MHz11.0592MHz。确定方式字:确定方式字:T0T0在定时的方式在定时的方式1 1时:时:M1M0=01M1M0=01,GATE=0 GATE=0 ,C/T=0C/T=0方式控制字为方式控制字为0101H H 求计数初值求计数初值X:X:TcyTcy为为1 1S S N=
19、20ms/12/11.0592=18432N=20ms/12/11.0592=18432X=65536-18432=B800HX=65536-18432=B800H应将应将B8B8送送TH0, 00HTH0, 00H送送TL0TL0 采用定时采用定时20ms20ms,然后再计数,然后再计数2525次次的方法实现的方法实现 2022-5-119void void main(voidmain(void) ) TMOD=0 x01;TMOD=0 x01;TL0=0 x00;TL0=0 x00;TH0=0 xB8;TH0=0 xB8;IE=0 x82; IE=0 x82; TR0=1;TR0=1;wh
20、ile(1);while(1); void T0Isr() interrupt 1 void T0Isr() interrupt 1 static static ucharuchar Counter; Counter; Counter+; Counter+; if(Counterif(Counter=25)=25) P27=P27; P27=P27; Counter=0; Counter=0; TL0=0 x00; TL0=0 x00; TH0=0 xB8; TH0=0 xB8; 主程序主程序 中断服务程序中断服务程序 2022-5-120门控位的应用门控位的应用【例例6-66-6】 测量测量
21、INT0INT0引脚上出引脚上出现的正脉冲宽度,并将结果现的正脉冲宽度,并将结果(以机器周期的形式)存放在(以机器周期的形式)存放在30H30H和和31H31H两个单元中。两个单元中。 将将T0T0设置为方式设置为方式1 1的定的定时方式,且时方式,且GATE=1GATE=1,计数,计数器初值为器初值为0 0,将,将TR0TR0置置1 1。 INT0INT0引脚上出现高电平引脚上出现高电平时,加时,加1 1计数器开始对机计数器开始对机器周期计数。器周期计数。 INT0INT0引脚上信号变为引脚上信号变为低电平时,停止计数低电平时,停止计数 然后读出然后读出TH0TH0、TL0TL0的值的值 n
22、 单定时器产生多定时间隔单定时器产生多定时间隔 (略)(略) 2022-5-121while(1)while(1) TMOD=0 x09; TMOD=0 x09; TL0=0; TL0=0; TH0=0; TH0=0; while(P32); while(P32); TR0=1; TR0=1; while(!P32); while(!P32); while(P32); while(P32); TR0=0; TR0=0; Low=TL0; Low=TL0; High=TH0; High=TH0; 主程序(部分)主程序(部分) 6.4 80C52的定时的定时/计数器计数器T2T2T2矢量地址矢量地
23、址002B002BH H;T2T2还增加了还增加了1616位自动重装位自动重装、捕获捕获及及加减计数加减计数方式;方式;1.01.0为计数输入为计数输入(T2)(T2),还可,还可输出脉冲输出脉冲;P1.1P1.1(EXT2)EXT2)有捕获有捕获/ /重装方式触发和检测功能。重装方式触发和检测功能。 6.4.1 T26.4.1 T2的相关控制寄存器的相关控制寄存器 工作方式寄存器工作方式寄存器T2MODT2MOD 76543210T2MODT2OEDCEN字节地址:字节地址:C9Hn T2OET2OE:输出输出允许位允许位。为。为1 1时,允许定时时钟从时,允许定时时钟从P1.0P1.0输出
24、。输出。n DCENDCEN:计数方向控制使能位计数方向控制使能位。 为为1 1时,计数方向与时,计数方向与P1.1P1.1有有关,关,P1.1P1.1为为1 1时,为减计数,时,为减计数, P1.1P1.1为为0 0时,为加计数。时,为加计数。控制寄存器控制寄存器T2CONT2CONn TF2TF2:溢出标志位溢出标志位。不自动清不自动清0(0(与与TF0TF0和和TF1TF1不同不同) )。n EXF2EXF2:T2T2外部中断标志位外部中断标志位。在捕捉和自动重装方式下,当在捕捉和自动重装方式下,当EXEN2=1EXEN2=1时,在时,在T2EXT2EX引脚发生引脚发生负跳变负跳变会使会
25、使EXF2EXF2置位置位( (软件清软件清0 0) )。n RCLKRCLK:串行口接收时钟选择。:串行口接收时钟选择。 n TCLKTCLK:串行口发送时钟选择。:串行口发送时钟选择。n EXEN2EXEN2:外部触发使能位。:外部触发使能位。 n TR2TR2:T2T2的运行控制位。的运行控制位。 n C/T2C/T2:T2T2的定时或计数功能选择位。的定时或计数功能选择位。n CP/RL2CP/RL2:捕捉或重装选择位。:捕捉或重装选择位。 6.4.2 T26.4.2 T2的工作方式的工作方式 捕捉方式捕捉方式EXEN2=1EXEN2=1时,捕捉方式。时,捕捉方式。在引脚在引脚T2EXT2EX(P1.1P1.1)发生有效负跳)发生有效负跳变时,会把变时,会把TH2TH2和和TL2TL2的内容锁入捕捉寄存器的内容锁入捕捉寄存器RCAP2HRCAP2H和和RCAP2LRCAP2L中。并使中。并使EXF2EXF2置位,向置位,向CPUCPU申请中断。申请中断。 自动重装方式自动重装方式n DCEN=0 DCEN=0 时,时,向上计数向上计数nEXEN2=0EXEN2=0时,时,计数溢出计数溢出使使RCAP2H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编语文小学二年级下册第一单元测试卷及答案06
- 长度校准测试题目及答案解析
- 2026年三维扫描仪行业发展分析:分辨率定义测试方法与高性能产品研究报告
- 安全专工招聘测评试题及答案解析
- CorelDRAW案例教程 课件全套1-8 模块1 认识 CorelDRAW - -包装设计
- 啤酒销售人员年终述职总结
- 历年小学科学试卷及答案解析
- 2025届云南省德宏州数学四下期末复习检测模拟试题含解析
- 出纳培训试题及答案
- 病房巡视试题及答案
- 开学第一课 课件-2025-2026学年统编版道德与法治八年级上册
- “筑梦航天”青少年航天知识大赛试题与答案
- 公安刑侦业务知识培训课件
- 雷电灾害专项应急预案
- rma销货退回管理办法
- CJ/T 158-2002城市污水处理厂管道和设备色标
- 2025年版!药食同源物质目录(106种)
- 《海洋遥感技术》课件
- (高清版)DB23∕T 3699-2024 养老机构失智症老人照护规范
- DL∕T 802.8-2023 电力电缆导管技术条件 第8部分:塑钢复合电缆导管
- 变压器局部放电的
评论
0/150
提交评论