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。

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

相关阅读

急停按钮如何接入PLC

对于众多的plc 初学者而言,大家都会深深的记住师傅的一句话:急停按钮常闭点接入PLC。没错的,但是有的时候大家在调试设备的时候会发现如果将急停按钮旋开设备不会有输出,拍急...
2023-03-21

认识这三条线,你将永不触电!让我们一起来看看是哪三条线吧!

普通人呆在家里的时候多,要想保证全家不触电,一定要记住三条线哦…… 是三道防线!能保证我们免受触电的危险。但不少人并不太清楚: 1. 直接接触电击防护 2. 接地与等电位联结...
2023-06-11

电力系统通信信息有哪三大类?

(1)话音信息:传输电话是通信的基本信息。它包括电力调度电话、燃料调度电话、水利水电调度电话及防汛通信、行政管理电话,厂站之间操作联络、自动交换机间中继电话线等。...
2023-06-13
电力系统通信信息有哪三大类?

家用漏电开关为何会频繁跳闸?主要有这10大原因

家庭都装有漏电开关,时常发生跳闸现象,如果一天跳几次,找不到原因,就让人实在很烦恼!有的是属漏电引起的正常跳闸,有的并非是漏电引起的跳闸。为什么会频繁跳闸?主要有以...
2023-06-11
家用漏电开关为何会频繁跳闸?主要有这10大原因

6000元请来的电工,竟被一张图纸“卡住”?你敢来一试身手吗?

很多电工就是会说不会说,一做就萎啦。大家有没有遇到过,很多维修电工在面试的时候都说自己这也会那也会,擅长各种维修技能,可是真正到维修的时候却束手无策,这到底是招聘者的问题...
2024-11-01
6000元请来的电工,竟被一张图纸“卡住”?你敢来一试身手吗?

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

欧普照明led灯泡e27/e14大小螺口超亮家用节能灯螺旋暖白光球泡

欧普照明LED灯泡,适用于E27和E14两种常见螺口,是您家用照明的理想选择。这款灯泡采用先进LED技术,亮度超群,瞬间点亮,无需等待,为您提供明亮舒适的光环境。同时,它节能环...
3.59

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

密封胶条包邮耐磨耐高温耐腐蚀圆柱棒丁晴/氟胶实心硅胶胶条红色

本品采用优质丁腈橡胶(NBR)或氟橡胶(FKM)及实心硅胶材质制成,呈红色圆柱棒状,具备卓越的耐磨、耐高温(-40℃至+200℃以上,氟胶可达250℃)、耐腐蚀性能,适用于酸、碱、油类等...
1

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

网站栏目