单片机原理第5章定时、计数器.pptVIP

  • 5
  • 0
  • 约1.11万字
  • 约 55页
  • 2017-09-28 发布于广东
  • 举报
单片机原理第5章定时、计数器

定时器/记数器概述 5. 2 定时器的工作方式寄存器和控制控制寄存器 GATE=0 时 ,T0/T1的启动 GATE=1 时 ,T0/T1的启动 5.2.2 控制寄存器TCON 5.2.2 控制寄存器TCON 5.2.2 控制寄存器TCON 5.2.2 控制寄存器TCON 5.2.2 控制寄存器TCON C/ T=0时的定时时间 定时/计数器用于外部中断扩展 定时/计数器用于外部中断扩展 5.4 定时/计数器编程和应用举例 2、对定时/计数器(THx、TLx)赋初值 3、设置定时器中断的开放和禁止 4、启动定时或计数功能——写TCON 【例6-2】采用中断的方法 【例6-2】采用中断的方法 如方式1,选用T0时,指令为: MOV TH0, #TCH; THx←TCH,送高8位 MOV TL0 ,#TCL; TLx ←TCL,送低8位 THx TLx TCH TCL 将初值X换算为二进制数TCB=TCH+TCL,再分别送入 THx、TLx(对于T0,x=0;对于T1,x=1)。 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 十进制整数转换为十六进制整数方法: MSB← 1 1 F →LSB 因此,对应的十六进制整数为11FH。 1 商1余1 17 1 16 = F 余数 商17余15 287 17 16 = 1 商0余1 1 0 16 = “除 16 取余,反向排列法” SETB EA;开放中断总允许 CLR EA;关闭中断总允许 SETB ETx;ETx中断允许 CLR ETx;ETx中断禁止 置位IE的EA、ET1、ET0 为1还是为0 1 0 SETB TRx;ETx启动Tx CLR TRx;ETx关闭Tx SETB TCON.6 ;启动T1 CLR TCON.6 ;关闭T1 置位TR1、TR0 【例5-1】 利用T0的于方式 0产生1mS 定时,晶振频率12MHz,使P1.0引脚输出周期为2mS的方波。 解:1、求TMOD的方式控制字 T0设为方式0,故M1M0=00H; T0工作于定时方式0,故GATE=0; T0工作不受外部中断INT0控制,C/T=0。T1未用,故TMOD高4位为0 0 0 0 0 0 0 0 0 MOV TMOD,#00H 分析:使P1.0输出周期为2mS的方波,只需使P1.0 每隔1mS取反一次输出即可。 解:2、计算定时1mS初值N fOSC=12MHz,则T=1μS 用T0方式0时,为13位计数器。最大计数值=213。 TH0=E0H, TL0=18H 定时1mS的需计数次数X 定时1mS初值N =213-X=8192-1000=(7192)10 【例5-1】 利用T0的于方式 0产生1mS 定时,晶振频率12MHz,使P1.0引脚输出周期为2mS的方波。 =(1110 0000 11000)2 高8位 低5位 1 1000=0001 1000 TH0 TL0 1 1 1 0 0 0 0 0 ×× × 1 1 0 0 0 3、程序 (查询方式) MOV TMOD,#00H MOV TH0,#0E0H MOV TL0,#18H SETB TR0 ; 置T0于方式0 ; 启动T0 LOOP:JBC TF0,NEXT SJMP LOOP ; P1.0取反输出 ; 重复循环 ; 装计数初值 NEXT:MOV TH0,#18H MOV TL0,#0E0H CPL P1.0 SJMP LOOP END ; 查询TF0=1?,等待定时时间到?不到:循环执行LOOP;到:将TF0清0,执行NEXT。 重 装计数初值 3、程序 (查询方式) MAIN:MOV TMOD,#00H LOOP:MOV TH0,#0E0H

文档评论(0)

1亿VIP精品文档

相关文档