定时单片机_汇编ppt课件_第1页
定时单片机_汇编ppt课件_第2页
定时单片机_汇编ppt课件_第3页
定时单片机_汇编ppt课件_第4页
定时单片机_汇编ppt课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用定时器任务方式存放器定时器任务方式存放器TMOD用于用于T1用于用于T0GATEC/TM1M0GATEC/TM1M0门控位门控位计数计数/定时选择位定时选择位“1-计数计数“0-定时定时M1M0:任务方式选择位:任务方式选择位00:方式:方式0-13位计数器位计数器01:方式:方式1-16位计数器位计数器10:方式:方式2-两个两个8位计数器位计数器 自动重装初值自动重装初值11:方式:方式3-仅仅T0可用可用 复习复习单片机原理及应用方式方式2及运用及运用方式方式2构造构造8位计数器位计数器单片机原理及应用 TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志

2、位TF0置置1,而且还,而且还自动把自动把TH0中的内容重新装载到中的内容重新装载到TL0中。这里,中。这里,16位计数器被拆位计数器被拆成二个,成二个,TL0用作用作8位计数器,位计数器,TH0用以维护初值。用以维护初值。 在程序初始化时,在程序初始化时,TL0和和TH0由软件赋予一样的初值。一由软件赋予一样的初值。一旦旦TL0计数溢出,便置位计数溢出,便置位TF0,并将,并将TH0中的初值再自动装入中的初值再自动装入TL0,继续计数,循环反复。用于定时任务方式时,其定时时,继续计数,循环反复。用于定时任务方式时,其定时时间间TF0溢出周期为溢出周期为 t=(28TH0初值初值)振荡周期振荡

3、周期12 单片机原理及应用 在某啤酒自动消费线上,需求每消费在某啤酒自动消费线上,需求每消费1010瓶执行装箱操作,瓶执行装箱操作,将消费出的啤酒自动装箱。试用将消费出的啤酒自动装箱。试用MCS-51MCS-51单片机的计数器实现该单片机的计数器实现该控制要求。控制要求。 解:假设在啤酒消费线上装有传感安装,每检测到一瓶解:假设在啤酒消费线上装有传感安装,每检测到一瓶啤酒经过就向单片机发送一个脉冲信号,这样运用计数功能就啤酒经过就向单片机发送一个脉冲信号,这样运用计数功能就可实现。设用可实现。设用T0T0的任务方式的任务方式2 2来完成该标题。来完成该标题。 MOV TMODMOV TMOD,

4、#06H#06H;00000110B00000110B,T0T0采用方式采用方式2 2计数计数 MOV TL0MOV TL0,#0F6H #0F6H ;装入初值;装入初值 MOV TH0MOV TH0,#0F6H#0F6H MOV IE MOV IE,#00H #00H ;制止中断;制止中断 SETB TR0 SETB TR0 ;启动定时;启动定时T0T0,开场计数开场计数 LOOPLOOP:JBC TF0JBC TF0,LOOP1LOOP1 AJMP LOOP AJMP LOOP LOOP1 LOOP1:驱动电机转动:驱动电机转动 AJMP LOOP AJMP LOOP 单片机原理及应用 例

5、:当例:当P3.4引脚上的电平发生负跳变时,从引脚上的电平发生负跳变时,从P1.0输出一输出一个个500s的同步脉冲。请编程实现该功能。的同步脉冲。请编程实现该功能。 解:方式选择解:方式选择 首先选首先选T0为方式为方式2,外部事件计数方式。当,外部事件计数方式。当P3.4引脚引脚上的电平发生负跳变时,上的电平发生负跳变时,T0计数器加计数器加1,溢出标志,溢出标志TF0置置1;然后改动;然后改动T0为为500s定时任务方式,并使定时任务方式,并使P1.0输输出由出由1变为变为0。T0定时到产生溢出,使定时到产生溢出,使P1.0引脚恢复输引脚恢复输出高电平,出高电平,T0又恢复外部事件方式。

6、又恢复外部事件方式。 单片机原理及应用单片机原理及应用单片机原理及应用 LOOP2: JBC TF0,PTFO2 ;查询溢出标志查询溢出标志,定时到定时到TF0=1转转 移移,且且TF0=0(第一个第一个500us到否到否?) SJMP LOOP2PTFO2: SETB P1.0 ;P1.0置置1(到了第一个到了第一个500us) CLR TR0 ;停顿计数停顿计数 SJMP START单片机原理及应用 例:利用定时器例:利用定时器T1的方式的方式2对外部信号计数。要求每计满对外部信号计数。要求每计满100次,将次,将P1.0端取反。端取反。解:解:1选择方式选择方式 外部信号由外部信号由T1

7、P3.5引脚输入,每发生一次负跳变计引脚输入,每发生一次负跳变计数器加数器加1,每输入,每输入100个脉冲,计数器发生溢出中断,中断效力个脉冲,计数器发生溢出中断,中断效力器将器将P1.0取反一次。取反一次。 T1计数任务方式方式计数任务方式方式2的方式字为的方式字为TMOD=60H。T0不用不用时,时,TMOD的低的低4位可任取,但不能使位可任取,但不能使T0进入方式进入方式3,普通取,普通取0。单片机原理及应用 3程序清单程序清单 MAIN:MOV TMOD,#60H ;置;置T1为方式为方式2计数任务方式计数任务方式 MOV TL1,#9CH ;赋初值;赋初值 MOV TH1,#9CH

8、MOV IE,#88H ;定时器;定时器T1开中断开中断 SETB TR 1 ;启动计数器;启动计数器 HERE: SJMP HERE ;等待中断;等待中断 ORG 001BH ;中断效力程序入口;中断效力程序入口 CPL P1.0 RETI单片机原理及应用方式方式3及运用及运用 任务方式任务方式3对对T0和和T1大不一样。大不一样。 假设将假设将T0设置为方式设置为方式3,TL0和和TH0被分成为两个相互独立的被分成为两个相互独立的8位计数器,如下图。位计数器,如下图。图图 T0 方式方式3构造:分成二个构造:分成二个8位计数器位计数器 单片机原理及应用 TL0运用运用T0的各控制位、引脚和

9、中断源,其操作方式和方的各控制位、引脚和中断源,其操作方式和方式式0、1一样。一样。 TH0用于简单的内部定时,它占用定时器用于简单的内部定时,它占用定时器T1的控制位的控制位TR1和和TF1,其启动和封锁仅受,其启动和封锁仅受TR1的控制。的控制。 单片机原理及应用 在定时器在定时器T0用作方式用作方式3时,时,T1仍可设置为方式仍可设置为方式02,见,见图图 (a)和和(b)。由于。由于TR1和和TF1被定时器被定时器T0占用,计数器开关占用,计数器开关K已被接通,此时,仅用已被接通,此时,仅用T1控制位控制位C/T切换其定时器或计数切换其定时器或计数器任务方式就可使器任务方式就可使T1运

10、转。存放器运转。存放器8位、位、13位或位或16位溢位溢出时,只能将输出送入串行口或用于不需求中断的场所。出时,只能将输出送入串行口或用于不需求中断的场所。普通情况下,当定时器普通情况下,当定时器T1用作串行口波特率发生器时,定用作串行口波特率发生器时,定时器时器T0才设置为任务方式才设置为任务方式3。此时,常把定时器。此时,常把定时器T1设置为方设置为方式式2,用作波特率发生器,见图,用作波特率发生器,见图 (b)。 单片机原理及应用定时器定时器控制位控制位(TMOD)启动方式启动方式计数脉冲计数脉冲引脚引脚定时定时/计数计数中断源中断源TL0模式模式3GATEC/T M1 M0TF0 (T

11、CON)TR0=1P3.4定时定时/计数计数T0000BH ET0 (IE)TH0模式模式3TF1 (TCON)TR1=1定时定时T1 001BH ET1 (IE)T1模式模式0-2GATE C/TM1 M0C/T切换切换P3.5定时定时/计数计数无无单片机原理及应用 例:设某用户系统中已运用了两个外部中断源,并置定时器例:设某用户系统中已运用了两个外部中断源,并置定时器T1任务方式任务方式2,做串行口波特率发生器用。现要求再添加一个外,做串行口波特率发生器用。现要求再添加一个外部中断源,并由部中断源,并由P1.0引脚输出一个引脚输出一个5KHz的方波。的方波。fosc=12MHz。 解:为了

12、不添加其它硬件开销,可设置解:为了不添加其它硬件开销,可设置T0任务方式任务方式3计数方计数方式,把式,把T0的引脚作附加的外部中断输入端,的引脚作附加的外部中断输入端,TL0的计数初值为的计数初值为FFH,当检测到,当检测到T0引脚电平出现由引脚电平出现由1至至0的负跳变时,的负跳变时,TL0产生溢产生溢出,恳求中断。这相当于边沿触发的外部中断源。出,恳求中断。这相当于边沿触发的外部中断源。 单片机原理及应用定时器定时器定时定时/ 计数计数功能功能TL0模式模式3计数计数检测检测T0引脚负跳变引脚负跳变TH0模式模式3定时定时8位位产生产生5KHz的方波信号的方波信号T1模式模式2定时定时8

13、位位串行口波特率发生器串行口波特率发生器单片机原理及应用程序如下:程序如下: MOV TMOD,#27H ;T0为方式为方式3,计数方式计数方式;T1为为 方式方式2,定时方式定时方式 0010 0111B MOV TL0,#0FFH ;置置TL0计数初值计数初值 MOV TH0,#156 ;置置TH0计数初值计数初值 MOV TH1,#data ;data是根据波特率要求是根据波特率要求 设置的常数即初值设置的常数即初值 MOV TL1,#data MOV TCON,#55H ;外中断外中断0,外中断外中断1边沿触边沿触发发, 启动启动T0,T1 0101 0101B MOV IE,#9FH

14、 ;开放全部中断;开放全部中断 单片机原理及应用 TL0溢出中断效力程序溢出中断效力程序(由由000BH转来转来)TL0INT: MOV TL0,#0FFH ;TL0重赋初值重赋初值 中断处置中断处置 RETI TH0溢出中断效力程序溢出中断效力程序(由由001BH转来转来) TH0INT: MOV TH0,#156 ;TH0重赋初值重赋初值 CPL P1.0 ;P1.0取反输出取反输出 RETI 串行口及外部中断串行口及外部中断0,外中断,外中断1的效力程序在此不再一一列出。的效力程序在此不再一一列出。单片机原理及应用 综合运用举例综合运用举例 例:设时钟频率为例:设时钟频率为6MHz。试编

15、写利用。试编写利用T0产生产生1s定定时的程序。时的程序。 解:定时器解:定时器T0任务方式确实定任务方式确实定 因定时时间较长,采用哪一种任务方式适宜呢因定时时间较长,采用哪一种任务方式适宜呢?可可以算出:以算出: 方式方式0最长可定时最长可定时16.384ms; 方式方式1最长可定时最长可定时131.072ms; 方式方式2最长可定时最长可定时512s。 题中要求定时题中要求定时1s,可选方式,可选方式1,每隔,每隔100ms中断一次,中断一次,中断中断10次为次为1s。 求计数值求计数值X X=15536=3CB0H 因此,因此,(TL0)=0B0H,(TH0)=3CH。单片机原理及应用

16、单片机原理及应用 SETB TR0 ;启动定时器T0 SETB ET0 ;允许T0中断 SETB EA ;允许CPU中断 SJMP $ ;等待中断 SERVE:MOV TL0,#0B0H MOV TH0,#3CH ;重新赋计数值 DJNZ B,LOOP CLR TR0 ;1s定时到,停顿T0任务 LOOP:RETI ;中断前往 END 单片机原理及应用 例:设计定时时钟程序。例:设计定时时钟程序。 解:本例涉及到了定时器与中断的结合运用。时钟就是以秒、解:本例涉及到了定时器与中断的结合运用。时钟就是以秒、分、时为单位进展计时。分、时为单位进展计时。 1实现时钟计时的根本方法实现时钟计时的根本方

17、法 计算计数初值。时钟计时的最小单位是秒,但运用单片机计算计数初值。时钟计时的最小单位是秒,但运用单片机定时器定时器/计数器进展定时,即使按方式计数器进展定时,即使按方式1任务,其最大定时时间也任务,其最大定时时间也只能达只能达131ms. 鉴于此,可把定时器的定时时间定为鉴于此,可把定时器的定时时间定为100ms,这样,计数溢出,这样,计数溢出10次即得到时钟计时的最小单位次即得到时钟计时的最小单位-秒;而秒;而10次计数可用软件方次计数可用软件方法实现。法实现。 假定运用定时器假定运用定时器T1,以任务方式,以任务方式1进展进展100ms的定时。如单片的定时。如单片机晶振频率为机晶振频率为

18、6MHZ,为得到,为得到100ms定时,设计数初值为定时,设计数初值为X,那,那么么 单片机原理及应用 采用中断方式进展溢出次数的累计,记满采用中断方式进展溢出次数的累计,记满10次即得到次即得到秒计时。秒计时。 从秒到分和从分到时的计时是经过累加和数值比较实从秒到分和从分到时的计时是经过累加和数值比较实现的。现的。 时钟显示及显示缓存区部分留给读者本人设计。时钟显示及显示缓存区部分留给读者本人设计。sHzX36161010010612)2(HCBBDX03110000001111001015536单片机原理及应用 单片机原理及应用 设设T1为方式为方式1设中断次数为设中断次数为10清计时单元

19、清计时单元 调用显示子程序调用显示子程序 启启 动动 T1 开开 中中 断断图图6-13 时钟主程序流程时钟主程序流程单片机原理及应用源程序如下:源程序如下: ORG 0000H AJMP MAIN ;上电,转向主程序;上电,转向主程序 ORG 001BH ;T1的中断入口地址的中断入口地址 AJMP SERVE ;转向中段效力程序;转向中段效力程序MAIN:MOV TMOD,#10H ;设;设T1任务于方式任务于方式1 MOV 20H,#0AH ;装入中断次数;装入中断次数 CLR A MOV 30H,A ;时单元清;时单元清0 MOV 31H,A ;分单元清;分单元清0 MOV 32H,A

20、 ;秒单元清;秒单元清0 SETB ET1 ;允许;允许T1中断中断 SETB EA ;允许;允许CPU中断中断 MOV TH1,#3CH MOV TL1,#0B0H ;赋计数初值;赋计数初值 SETB TR1 ;启动定时器;启动定时器T1单片机原理及应用 SJMP $ ;等待中断可反复调用;等待中断可反复调用 显示子程序显示子程序SERVE:PUSH PSW PUSH ACC ;维护现场;维护现场 MOV TH1,#3CH MOV TL1,#0B0H ;重新赋计数初值;重新赋计数初值 DJNZ 20H,RETUNT ;1s未到,前往未到,前往 MOV 20H,#0AH ;重置中断次数;重置中断次数 MOV A,#01H ADD A,32H ;“秒位加秒位加1 DA A MOV 32H,A ;转换为;转换为BCD码码 CJNE A,#60

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论