1 定时/计数器介绍
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器THX和TLX组成。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1(产生一个溢出标志),向CPU发出中断请求(定时/计数器中断运行时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。
(1)CPU时序的有关知识
①时钟周期/振荡周期:时钟周期又叫做振荡周期、节拍周期,定义为时钟晶振频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。例如晶振为12M,则时钟周期为1/12us。又可以被定义为节拍。
②指令周期:指令周期是指取出并完成一条指令所需的时间,一般由若干个机器周期组成,分为单周期指令,双周期指令和多周期指令。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
③机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。比如,取值周期,取数周期。在80C51内部,机器周期一般包括于6个状态周期,12个时钟周期。例如24M的晶振,机器周期为12/24M秒。
例如:外接晶振为 12MHz 时,51 单片机相关周期的具体值为: 振荡周期=1/12us; 状态周期=1/6us; 机器周期=1us; 指令周期=1~4us;
(2)学习定时器需要明白的几点:
①普通51单片机有两组定时/计数器,因为即可以定时,又可以计数,故称之为定时/计数器;
②定时/计数器和单片机的CPU是相互对立的,定时/计数器工作的过程是自动完成的,不需要CPU的参与。
③51单片机中的定时/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器的数据加1。
有了定时/计数器之后,可以增加单片机的效率,一些简单地重复加1的工作交给定时/计数器处理。CPU转而处理一些复杂的事情,同时可以实现精确定时作用。
(3)定时/计数器内部结构框图
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
TF0:定时器0溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除,或用软件清除。
TF1:定时器1溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除,或用软件清除。
从上面的图中红线可以看出由TMOD选择由那个定时器工作,工作于什么方式;
从上面的图中蓝线可以看出由TCON决定定时器是否启动;
从上面的图中黄线可以看出外部技术输入由TH和TL进行累计;
从上面的图中紫线可以看出当TH和TL计数溢出时会向TCON进行申请报告;
从上面的图中绿线可以看出所有的定时中断都由TCON向CPU进行中断申请;
从上面的图中黑线可以看出外部中断直接向CPU进行中断申请;
(4)定时/计数器相关寄存器配置
1)定时器控制寄存器TCON
①-④TCON[3:0]:外部中断控制位;
⑤TR0(TCON[4]) :定时/计数器T0运行控制位,TR0=1时,T0开始工作,否则停止工作。TR0由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。
⑥TF0(TCON[5]) :定时/计数器T0溢出中断请求标志位。T0计数溢出时由硬件自动置TF0为1。CPU响应中断后TF0由硬件自动清0。
⑦TR1(TCON[6]) :定时/计数器T1运行控制位,其功能与TR0类同。
⑧TF1(TCON[7]) :定时/计数器T1溢出中断请求标志位,其功能与TF0类同。
2)定时器模式寄存器TMOD
①-② M1M0(TMOD[1:0]):定时器T0工作方式设置位,共有四种工作方式。
③ C/T(TMOD[2]):定时器T0定时/计数模式选择位,当C/T=0时为定时模式;当C/T=1为计数模式;
④ GATE(TMOD[3]):定时器T0门控位,用于控制定时器的启动是否受外部中断源信号的影响。当GATE=0时,只要用软件使TCON中TR0或TR1为1,就可以启动定时器工作;当GATE=1时,不仅要用软件使TCON中TR0或TR1为1,同时外部中断引脚INT0/INT1也为高电平时,才能启动定时器工作。
④~⑦(TMOD[7:4]):定时器T1工作模式设置位,与定时器T0类同。
2 功能要求:通过定时器 0 中断控制 D1 指示灯间隔 1 秒闪烁,定时器1中断控制D2指示灯间隔1秒闪烁。
3 硬件设计(略)
4 软件设计
timer_led
5 仿真与实验结果
实验现象:指示灯D1和D2间隔1s闪烁。
参考文献
(1)单片机时钟周期、机器周期、指令周期的区别-百度经验 (baidu.com);
(2)(81条消息) 单片机学习(三)定时器篇_chenwenjie666的博客-CSDN博客_单片机定时器;
(3)(81条消息) 51单片机——定时器_LiuRenyou的博客-CSDN博客_51单片机定时器程序;
上一篇:单片机STC89C52与STC89C52RC有什么区别?
下一篇:外部中断_单片机_普中
推荐阅读最新更新时间:2024-11-11 10:49
设计资源 培训 开发板 精华推荐
- LTC3736、5V 输入、2.5V 和 1.8V 双输出降压转换器
- 【毕设】基于STM32的心率血压手表
- RSL10-SENSE-DB-GEVK:带调试器的 RSL10 传感器开发套件
- JLink-OB_32f072,带虚拟串口(CDC)
- LT1712 的典型应用 - 双通道 4.5ns 轨至轨比较器
- L7805C 开关稳压器的典型应用
- DC751A-F,使用 LTC2223IUK 12 位、80Msps 高速 ADC 的演示板,VDD = +3.3V,100MHz
- EVAL-ADG5404FEBZ,用于评估 ADG5404F 故障保护和检测的评估板,4 通道多路复用器
- 使用 Semtech 的 LM2576 的参考设计
- 基于BlueNRG IC的Bluetooth®Smart USB dongle
- 【EEWORLD第九届社区明星人物】11月明星人物
- ELEXCON 2022 深圳国际电子展11月6日(新档期)开幕,速领门票!更有N重好礼等你拿!
- 打造健康生活,成就强劲工具 TE Connectivity (TE) 智慧生活子系统解决方案
- 骏龙科技携手ADI有奖直播:隔离系统设计的隐藏成本
- TE户外照明互连解决方案样片来袭 免费申领进行中!
- 看直播赢好礼:TI和世平集团与您分享毫米波雷达与3D ToF解决方案
- 了解PI最新产品,评论、下载抢楼好礼送!
- ADI 系统方案精选【用于多路抽头输出隔离电源的简易解决方案】
- PI更懂快速充电需求 下载产品资料赢好礼!
- 阅1SP0350V SCALE-2单通道即插即用型门极驱动器,参与PI答题享好礼!