keMCS-51单片机 定时器课件_第1页
keMCS-51单片机 定时器课件_第2页
keMCS-51单片机 定时器课件_第3页
keMCS-51单片机 定时器课件_第4页
keMCS-51单片机 定时器课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MCS-51单片机定时器/计数器

51系列内部有2个16位的定时器/计数器T0、T152系列内部有3个16位的定时器/计数器T0、T1、T2CPUTH1(8位)TL1(8位)T1

T1(P3.5)(8DH)(8BH)7070TH0(8位)TL0(8位)T0

T0(P3.4)(8CH)(8AH)7070TCON(88H)TMOD(89H)启动启动溢出溢出工作方式工作方式定时器/计数器T0、T1逻辑结构控制寄存器TCONLSBMSBTF1TR1TF0TR0IE1IT1IE0IT0T1、T0启/停控制位T1、T0溢出标志位与外部中断INT1、INT0有关“0”停止“1”启动“1”有溢出“0”无溢出工作“1”“0”(P3.2)(P3.3)方式寄存器TMODGATEC/TM1M0GATEC/TM1M0LSBMSB控制T1控制T0门控位功能选择位工作方式选择(89H)不可位寻址GATEC/TM1M0GATEC/TM1M0INT1INT0引脚输入电平的控制GATE:门控位。设定T1、T0运行时是否受GATE=0不受外部中断控制C/T=00方式013位计数器01方式116位计数器10方式2可自动重新装载初值的8位计数器11方式3T0分为2个8位计数器;T1停止计数M1M0操作方式功能操作方式选择上页下页回目录1受外部中断控制0为定时功能1为计数功能上页下页回目录定时/计数器的4种工作方式⑴方式0M1M0=0013位的定时计数器,由TH1的8位和TL1的低5位组成T1(P3.5)GATETR1INT1震荡器÷12TL15位TH18位TF1中断KC/T=0C/T=1控制T1定时/计数器方式0逻辑图中断以T1为例:13位计数器TF1方式0:

可将0---8191(213-1)的某一个“二进制数”送入TL的低5位、TH的8位作为初值。当作为“定时器”时,从初值a计数至溢出的时间为:上页下页回目录⑵方式1M1M0=0116位的定时计数器,由TH的8位和TL的8位组成T1(P3.5)GATETR1INT1震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制定时/计数器方式1逻辑图16位计数器中断TF1方式1:

可将0---65535(216-1)的某一个“二进制数”送入TL的8位、TH的8位作为初值。当作为“定时器”时,从初值a计数至溢出的时间为:上页下页回目录⑶方式2M1M0=10可自动重装载的8位计数器TH1作为赋值寄存器TL1作为计数器定时/计数器方式2逻辑图T1(P3.5)

GATETR1INT1震荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重装载自动1中断TL18位TF1方式2:

可将0---255(28-1)的某一个“二进制数”送入TH的8位作为初值(当然TL的8位亦赋此初值)。当作为“定时器”时,从初值a计数至溢出的时间为:上页下页回目录⑷方式3M1M0=11T0被分成2个相互独立的8位计数器TL0、TH0。T1失效。其中TL0类似于方式0震荡器÷121/12f0scTL08位TF0中断KC/T=0C/T=1控制1/12f0scT0(P3.4)GATETR0INT0TF0TH0只能做定时器,并使用T1的控制位TR1、TF1,同时占用T1的中断源。KTH08位TF1中断控制1/12f0scTR1TF1中断震荡器÷121/12f0sc上页下页回目录例1若单片机晶振为12MHz,要求产生500s定时,试计算初值a。解:采用方式0:(

13位计数器)a=7962=1E0CH=F00CH采用方式1:(

16位计数器)a=65036=FE0CH1111000000001100THiTLiD7D6D5000不用F00CH=上页下页回目录例2设主频为12MHz,利用定时器T1定时。使P1.0输出周期为2ms的方波。解:用P1.0作方波输出信号,周期为2ms的方波即可用每1ms改变一次电平的方法完成,故定时值可设置为1ms。使T1工作在方式0,即13位计数器定时初值:a=7192=1C18H上页下页回目录由于TL1的高3位不用,1C18H可写成:1110000000011000TL1的高3位不用=E018HTH1初值为E0H,TL1初值为18HGATEC/TM1M0控制T1控制T00000选择方式0选择定时器方式INT1不参与控制TMOD=E018HMOVTMOD,#0MOVTH1,#0E0HMOVTL1,#18HSETBEASETBET1SETBTR1SJMP$ORG001BHJMPBR1BR1:MOVTH1,#0E0HMOVTL1,#18HCPLP1.0RETI;T1按方式0工作;;给计数器赋初值;CPU开中断;T1允许中断;启动T1;模拟主程序;T1中断入口;转T1中断服务;;重装T1的初值;输出方波;返回程序:上页下页回目录例3根据例6-2的要求产生周期为2ms的方波,但不用中断方式,而用查询方式工作,查询标志为TF1解:利用方式1,16位计数器,当定时时间到,T1计数器溢出使TF1置“1”,由于不采用中断方式,TF1置“1”后,不会自动复“0”故需要指令给TF1清“0”上页下页回目录初值=FC18H上页下页回目录MOVTMOD,#10HSETBTR1LOOP:MOVTH1,#0FCHMOVTL1,#18HJNBTF1,$CPLP1.0CLRTF1SJMPLOOP;T1按方式1工作;启动T1定时;给计数器赋初值;TF1=0,则继续查询;;TF1←0;输出方波;返回程序:例4用T0监视一生产流水线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数上页下页回目录MCS-51P1.0T0Vcc包装机包装命令100个光源上页下页回目录GATEC/TM1M0控制T1控制T0TMOD选方式2选计数器INT0不参与控制0110⑵计数初值X=9CH⑶用P1.0启动外设发包装命令⑷用R5R4作箱数计数器⑴方式字TMOD=06H程序:MOVTMOD,#6MOVP1.0,#0MOVR5,#0MOVR4,#0MOVTH0,#9CHMOVTL0,#9CHSETBEASETBET0SETBTR0SJMP$ORG000BHAJMPCOUNT;P1.0为低;箱数计数器清“0”;置T0工作方式;计数初值送计数器;;T0开中断;CPU开中断;启动T0;;模拟主程序;T0中断入口;转向中断服务上页下页回目录COUNT:MOVA,R4ADDA,#1MOVR4,AMOVA,R5ADDCA,#0MOVR5,ASETBP1.0MOVR3,#100DLY:NOPDJNZR3,DLYCLRP1.0RETI中断服务:;;;;箱计数器加“1”;;;启动外设包装;给外设足够时间;;延时;停止包装;中断返回上页下页回目录门控位GATE的应用GATEC/TM1M0控制T1控制T0TMOD选方式1选定时器方式INT1为高时,T1开始计数1001上页下页回目录例5用GATE控制位,测量INT1(P3.3)引脚上正脉冲的宽度(晶振为12MHz)T1(P3.5)GATETR1INT1震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制16位计数器“+1”1INT1INT1为高时T1开始计数INT1为低时T1停止计数00111宽度≤65ms≦计数值

即µs数1上页下页回目录“+1”“+1”INT1INT1为高时T1开始计数INT1为低时T1停止计数上页下页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论