第06章-MCS51单片机定时计数器课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第06章-MCS51单片机定时计数器课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 MCS51 单片机 定时 计数器 课件
- 资源描述:
-
1、概述通常采用以下三种方法来实现定时或计数:通常采用以下三种方法来实现定时或计数: 1 1硬件法硬件法 硬件定时功能完全由硬件电路完成,不占硬件定时功能完全由硬件电路完成,不占用用CPUCPU时间。但当要求改变定时时间时,只能通时间。但当要求改变定时时间时,只能通过改变电路中的元件参数来实现,很不灵活。过改变电路中的元件参数来实现,很不灵活。 2 2软件法软件法 软件定时是执行一段循环程序来进行时间软件定时是执行一段循环程序来进行时间延时,优点是无额外的硬件开销,时间比较精延时,优点是无额外的硬件开销,时间比较精确。但牺牲了确。但牺牲了CPUCPU的时间。的时间。 3 3可编程定时器计数器可编程
2、定时器计数器MSC-51MSC-51单片机定时单片机定时/ /计数器的结构计数器的结构返回 定时电路集成在芯片中,称为定时器/计数器。MCS-51的单片机内有两个16位可编程的定时器/计数器,分别称为定时器/计数器0和定时器/计数器1,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。 图-:定时/计数器结构定时器/计数器的控制寄存器v1工作方式控制寄存器(TMOD)位D7D6D5D4D3D2D1D0位符号GATAM1M0GATAM1M0T1方式字段T0方式字段 GATE:门控位。GATE = 0 启动不受 /INT0或 /I
3、NT1的控制;GATE = 1 启动受 /INT0 或 /INT1 的控制。C/ : 外部计数器 / 定时器方式选择位。C/ = 0 定时方式;C/ = 1 计数方式。M1M0:工作模式选择位。 M1 M0 模式 说明 0 0 0 13位定时/计数器,高八位TH(7 0)+ 低五位TL(4 0) 0 1 1 16位定时/计数器,TH(7 0)+ TL(7 0) 1 0 2 8位计数初值自动重装,TL(7 0) TH(7 0) 1 1 3 T0运行,而T1停止工作,8位定时/计数。TTTv定时/计数器控制寄存器(TCON) 位D7D6D5D4D3D2D1D0位符号TF1TR1TF0TR0IE1I
4、T1IE0IT0TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关,分两种情况: GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计数。 GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。TR1:定时 / 计数器1运行控制位。用法与TR0类似。定时器/计数器的工作方式v定时/计数器工作方式 工作方式0是13位计数结构的工作方式,其计数器由TH的全部8位和TL的低5位构成,TL的高3位没有使用。当C/T=0时,多
5、路开关接通振荡脉冲的12分频输出,13位计数器以次进行计数。这就是定时工作方式。当C/T=1时,多路开关接通计数引脚(To),外部计数脉冲由银南脚To输入。当计数脉冲发生负跳变时,计数器加1,这就是我们常称的计数工作方式 图-2:定时/计数器工作方式0逻辑结构v在工作方式0下,计数器的计数值由下式确定:213-X=8192-X计数值范围是: 18192(213)v定时器的定时值由下式确定:T=N*Tcy=(8192-X)*Tcy v2.定时/计数器工作方式1 当M1,M0=01时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路如图所示 可以看出,方式0和方式1的区别仅在于计数器的位数
6、不同,方式0为13位,方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字与方式0相同。则只需将工作方式0的计算公式中的213改为216就可得到工作方式1的计数值计算公式和定时时间计算公式。图-:定时/计数器工作方式逻辑结构v3定时/计数器工作方式2当M1,M0=10时,定时/计数器处于工作方式2,此时,定时/及数器的等效电路如图所示图-:定时/计数器工作方式逻辑结构具有自动重装载功能,即自动加载计数初值 ,在这种工作方式中,16位计数器分为两部分,以TL0为计数器,以TH0作为预置寄存器 ,当计数溢出时 ,TH以硬件方法自动给计数器TL0重新加载 。v工作在方式下,计数器的计
7、数值由下式确定: 28-X=256-X 计数范围为: 1256 v定时器的定时值由下式确定: T=N*Tcy=(256-X)*Tcy v定时/计数器工作方式当M1,M0=10时,定时/计数器处于工作方式2,此时,定时/及数器的等效电路如图所示 图-5:定时/计数器工作方式3等效电路v工作方式3只适用于定时/计数器T0。当T0工作在方式3时,TH0和TL0被分为两个独立的8位计数器。TL0可作为定时器或计数器使用,占用了T0本身的控制信号TF0和TR0。TH0只能作为定时器使用,且占用了定时/计数器T1的两个控制信号TR1和TF1。v当T0工作于方式3时,T1只能工作在方式0、方式1或方式2,并
8、且由于已没有计数溢出标志位TF1可供使用,只能把计数溢出直接送给串行口,作串行口的波特率发生器使用。等效电路图如下 图-:方式下的作为波特率发生器等效电路TH1(8位)TL1(8位或5位)12分频OSCTL1(8位)TH1(8位)12分频OSCC/T=0C/T=1C/T=0C/T=1串行口串行口T1(P3.5)T1(P3.5)T1工作方式0(或1)T1工作方式2定时/计数器应用举例v在使用定时/计数器时,应做好四件事:设置TMOD以选择工作方式;计算并设置计数初值THX,TLX;设置IE、IP以规定中断的开放/禁止及优先级;设置TCON以启动/停止定时/计数器的工作。v工作方式的应用【例例】设
9、单片机晶振频率fosc=6MHZ,使用定时器1以方式0产生周期为600s的等宽方波脉冲,并由P1.7输出,以查询方式完成。解:解:(1)计算计数初值欲产生周期为600s的等宽方波脉冲,只需在P1.7端以300s为周期交替输出高低电平即可,因此定时时间应为300s。设待求计数初值为N,则:(213-N)210-6=30010-6N=8042=1F6AH0001111101101010B将低5位01010B=0A写入TL1,将高8位有效值11111011B=FBH写入TH1中。(2)TMOD初始化为把定时/计数器1设定为方式0,则M1M0=00。为实现定时功能应使C/=0,为实现定时器启动应使GA
10、TE=0,因此设定工作方式控制寄存器TMOD=00H。(3)由TR1启动和停止定时器TR1=1为启动,TR1=0为停止参考程序如下: ORG 1000H START: MOV TCON,#00H ;清TCON MOV TMOD,#00H ;工作方式设定 MOV TH1,#0FBH ;计数初值设定 MOV TL1,#0AH MOV IE,00H ;关中断 SETB TR1 ;启动TR1LOOP0: JBC TF1,LOOP1 ;查询是否溢出 SJMP LOOP0LOOP1: MOV TH1,#0FBH ;重设初值 MOV TL1,#0AH CPL P1.7 ;输出取反 SJMP LOOP0 EN
11、Dv工作方式应用【例例】已知某生产线的传送带上不断地有产品单向传送,产品之间有较大间隔,如图6-6所示。使用光电开关统计一定时间内的产品个数。假定红灯亮时停止统计,红灯灭时才在上次统计结果的基础上继续统计,试用单片机定时/计数器T1的方式1完成该项产品的计数任务。解:解:(1) 初始化: GATE=1, C/T=1, M0M1=01,故TMOD=11010000B=0D0H,TCON=00(2)T1在方式1时, 溢出产生中断, 且计数器回零, 故在中断服务程序中, 需用R0计数中断次数,以保护累积计数结果。 (3) 启动T1计数, 开T1中断。v参考程序如下: ORG 0000H AJMP S
12、TART ORG 001BH AJMP T1INT ORG 0100HSTART: MOV SP, #60H MOV TCON, #00H MOV TMOD, #0D0H MOV TH1, #0FFH 图-:产品传送带原理图MOV TL1, #0FFH MOV R0, #00H MOV P3, #28H ;置P3.5,P3.3为输入状态 SETB TR1 SETB ET1 SETB EA MAIN: LCALL DISP ORG 0A00HT1INT: INC R0 MOV TH1, #0FFH MOV TL1, #0FFH RETI DISP: RET ENDv工作方式的应用【例例】使用定时
13、器T0以方式2产生200微秒定时,在P1.0输出周期为400微秒的连续方波。已知晶振频率fosc=6MHz。(1)计算计数初值(256-N)210-6=20010-6 N=156=9CH(2)TMOD初始化工作方式2时,M1M0=10,实现定时功能C/=0,GATE=0。定时器1不用,无关位设定为0,可得TMOD=02H。参考程序如下:ORG 000BHLJMP LOOP0ORG 0200HSTART: MOV TCON,#00H MOV TMOD,#02H ;定时器方式2 MOV TH0,#9CH ;计数初值 MOV TL0,#9CH SETB EA ;允许总中断 SETB ET0 ;T0中
展开阅读全文