51单片机的定时/计数器(CTC)及应用

时间:2023-03-15来源:佚名

51单片机内有两个定时/计数器,称为T0和T1,是16位的,所以它们各由两个8位的特殊功能寄存器(SFR)组成,即T0=TH0+TL0,T1=TH1+TL1,默认情况下,通电后它们是不启动的。

一、定时/计数器的应用

1.计数功能:

2.定时功能:

二、定时/计数器的工作原理

定时/计数器中的核心部件为可预置初值计数器。预置初值后开始计数,直至计数值产生溢出,可查询判断此溢出;也可申请中断。

  • 定时/计数器的结构示意图

51单片机的定时/计数器(CTC)及应用

2.定时器的控制、模式寄存器

TMOD定时器方式寄存器(89H) TCON定时器控制/状态寄存器(88H)

51单片机的定时/计数器(CTC)及应用

  • 定时实验(采用查询法)

如图,P0口接了8只发光管,高电平亮。用定时器实现50ms延时,轮流点亮。(注:实验时用短路帽短路JMP2的2-3脚和JMP3的2-3脚)

51单片机的定时/计数器(CTC)及应用

参考程序:

Org 0000H

Main: mov tmod,#00000001B ;选T0,定时,方式1

Mov th0,#3ch

Mov tl0,#0b0h ;预置初值15536

Setb tr0 ;启动T0

Mov a,#00000001B ;设置显示模式

Loop: mov p0,a

RL a

Jnb tf0,$ ;等候50ms的溢出

Clr tf0

Mov th0,#3ch

Mov tl0,#0b0h ;预置初值15536

Sjmp loop

思考题:⑴ 若定时30ms,怎样修改程序?

⑵ 若定时1秒,怎样修改程序?

⑶ 若定时任意长时间,怎样修改程序?

  • 计数实验

如图,计数器T0的计数引脚(P3.4脚)接有一开关,每按一次开关,理论上计数器T0就会计一个数(若考虑抖动问题,实际上可能会计多个数),读出该数送P0口,通过P0口的发光管的亮灭情况,读出计数值(设T0计数、用方式2)。

51单片机的定时/计数器(CTC)及应用

参考程序:

Org 0000H

Main: mov P0,#0

mov tmod,#00000110B ;选T0,计数,方式2

Setb tr0 ;启动T0

Loop: mov a,tl0 ;读出T0的低8位值送A寄存器

Mov P0,a ;送P0口显示

Sjmp loop

思考题:⑴ 若计数100,然后声光指示,怎样修改程序?

⑵ 若计数500,然后声光指示,怎样修改程序?

  • 定时、计数联合实验(采用查询法)

任务:定时器T0产生2000Hz方波信号,从P3.6脚输出,再从T1的计数脚P3.5引入;T0还产生1秒的定时信号,定期打开和关闭T1计数器。打开T1时,方波信号输入并计数;关闭T1时,读出T1的值送P0口和P1口显示(注:P1口的值是反相的,即低电平亮,高电平灭。当然可以取反后送P1口)。

参考程序:

;*********************************************************

;************* 数字频率计程序 ***************

;*********************************************************

;任务:利用定时器T0定时,产生2KHz方波,从P3.6脚输出,

;并送P3.5脚(T1的计数脚)进行计数;T0还产生1秒定时,不断地

;打开和关闭T1计数器,并将读取到的频率值送P0口和P1口显示。

;分析:2KHz方波,设占空比为50%,则高低电平的时间各为250uS,

;可用T0定时,选方式2,自动重新装载初始值6。T1计数,方式1。

;硬件上,将P3.6脚与P3.5脚相连(注意从排针上相连或短路帽短接)即可。

org 0000h

ljmp main

;*********************************************************

;主程序

org 0030h

main: mov p0,#0

mov p1,#0ffh

mov p3,#0ffh ;初始化,关闭所有发光管

mov r3,#0

mov r4,#0 ;r3-r4组成1秒计数器

mov tmod,#01010010B ;T1计数,方式1;

;T0定时,方式2。

mov th0,#6

mov tl0,#6 ;预置初始值6,准备计数250

mov th1,#0

mov tl1,#0

setb tr0 ;启动定时器T0

main_disp: jnb tf0, main_disp

clr tf0

cpl p3.6 ;输出方波

inc r3

cjne r3,#0,next

inc r4

sjmp main_disp

next: cjne r3,#0a0h,main_disp

cjne r4,#0fh,main_disp ;判断够4000次计数吗?

;因为中断4000次为1秒。

mov r3,#0

mov r4,#0 ;1秒计数器清0

cpl tr1 ;启动或关闭T1计数器

jb tr1,main_disp ;若T1启动则返回,否则去读取频率值

mov a,tl1

mov P0,a ;将频率值的低8位送P0口显示

mov a,th1

cpl a ;考虑P1口是低电平点亮,故取反

mov P1,a ; 将频率值的高8位送P1口显示

mov tl1,#0

mov th1,#0 ;T1计数器清0

ljmp main_disp

end

;注:以上送P1和P0口的数据为16进制。经实验,得到的16进制值为07H、0D0H。

;***************************************************************

相关阅读

PT断线是什么?为什么说PT断线影响很严重?

PT断线概念 PT是电压互感器的英文符号,电压互感器一次或二次保险熔断、或者电压互感器回路接头松动、断线、接触不良等现象。因断路器的低电压保护是从电压互感器二次侧采样,...
2024-09-12

7种直流恒流源电路分析

传感器及发光器件常需恒流源供电,精确测量微小电阻一般也要用到恒流源。 恒流源的本质是其具有调节负载两端电压的能力,凡具有电压调整能力的器件均可构成恒流源,包括运放、...
2023-05-19
7种直流恒流源电路分析

电厂那些事——关于我被莫名其妙转岗的故事

排班表 ,就莫名其妙地把我调离了原来的班组,然后更令人疑惑的是: 注:我们厂热机值班员就是指汽机锅炉副操。 转岗说转就转 我非常疑惑不解的去到了另一个班组,他们那个班组...
2023-07-05
电厂那些事——关于我被莫名其妙转岗的故事

电脑读取三菱PLC数据的简单方法

在有些工程中, plc 处理的一些数据要求能保存下来,可以以后查询,这样可以实现的的方式有在电脑 中做一些界面和 PLC 通讯,读取数据,这样做的方式比较费时、费力,但做出的界...
2023-03-21

现场用电 电气安全 规范电力施工 电气操作 值得电气人借鉴的电气规范操作做法图文解析

室外配电箱 当施工现场临时用电设备在5台及以上或设备总容量在50kW及以上时,应编制临时用电施工组织设计。临时用电施工组织设计应由电气工程技术人员组织编制,经企业技术负责...
2024-08-21
现场用电 电气安全 规范电力施工 电气操作 值得电气人借鉴的电气规范操作做法图文解析

热销商品

加长球头内六角扳手L型六方棱套装万能2 2.5 3 4 5 6 8 10-30号mm

加长球头内六角扳手L型六方棱套装(22.5–30mm)专为高扭矩与深孔作业设计,适用于机械维修、工业装配及精密设备维护。套装涵盖22.5、3、4、5、6、8、10至30mm等多种规...
1.15

萝卜头螺丝刀磁性两用伸缩螺丝刀一字十字梅花平口短小改锥

萝卜头螺丝刀是一款多功能、便携实用的手动工具,集一字、十字、梅花(星型)等多种刀头于一体,采用磁性设计,可牢固吸附螺丝,提升操作效率。其独特的伸缩结构让刀头可灵活...
3.28

U型橡胶件玻璃包护边软胶卡槽式锋利防割划防撞封边电柜密封嵌条

U型橡胶件玻璃包护边软胶卡槽式锋利防割划防撞封边电柜密封嵌条,专为电气设备柜体、玻璃边缘及金属框架设计。采用优质耐候橡胶材质,具备优异的柔韧性与抗老化性能,...
3

儿童帽安全帽工地小孩活动团队农民工表演防砸耐安洪宏安免费印字

洪宏安儿童安全帽专为工地参观、儿童活动及农民工团队表演设计,具备优异的防砸、耐冲击性能,符合国家安全防护标准。采用轻质高强度材料,佩戴舒适,透气性好,适合长时间...
11.8

防静电镊子不锈钢摄子可换头塑料陶瓷聂孑耐高温电子维修工具套装

防静电镊子不锈钢摄子套装是一款专为精密电子维修设计的工具组合,采用高品质不锈钢材质,具备优异的耐腐蚀性与机械强度。其表面经过特殊防静电处理,有效避免静电对敏...
3.15

网站栏目