定时器计数器的应用.ppt

定时器计数器的应用.ppt

ID:55639090

大小:3.25 MB

页数:43页

时间:2020-05-22

定时器计数器的应用.ppt_第1页
定时器计数器的应用.ppt_第2页
定时器计数器的应用.ppt_第3页
定时器计数器的应用.ppt_第4页
定时器计数器的应用.ppt_第5页
资源描述:

《定时器计数器的应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、本章内容硬件部分:认识8051定时器/计数器的架构,以及其四种工作方式。指令部分:详细说明布尔运算指令。程序与实例部分:定时器的应用程序、码表程序、频率产生器程序、测频计应用程序等。一、定时器/计数器定时器/计数器T0方式控制逻辑方式寄存器TMOD工作方式TCON寄存器定时器/计数器的初始化初始化步骤1.设置TMODMOVTMOD,#XX2.给计数初值MOVTH0,#XXMOVTL0,#XX3.设置IE和IPMOVIE,#XXMOVIP,#XX4.启动定时器/计数器SETBTR0计数器初值的计算TC=M-C定时器初值的计算TC=M-T定时/T计数例若单片机时钟频率为12MHZ,请计算定时2ms

2、所需的定时器初值采用方式0TC=213-2ms/1us=6192=1830HTH0=C1H,TL0=10H采用方式1TC=216-2ms/1us=63536=F830HTH0=F8H,TL0=30HT13T12T11T10T9T8T7T6XXXT5T4T3T2T111000001XXX10000二、布尔运算指令1.位传送指令MOVC,bit;bit→CyMOVbit,C;Cy→bit2.位置位和位清零指令CLRC;0→CyCLRbit;0→bitSETBC;1→CySETBbit;1→bit3.位运算指令ANLC,bit;CY∧(bit)→CyANLC,/bit;CY∧(/bit)→CyORL

3、C,bit;CY∨(bit)→CyORLC,/bit;CY∨(/bit)→CyCPLC;(/C)→CYCPLbit;(/bit)→bit4位控制转移指令(1)以Cy中内容为条件的转移指令JCrel;Cy=1转移,PC+2+rel→PCJNCrel;Cy=0转移,PC+2+rel→PC(1)以位地址中内容为条件的转移指令JBbit,relJNBbit,relJBCbit,rel三、实例演练1:60s定时器(查询方式)连接电路60s定时器,每隔1s增加1,每60sD1切换一次流程图查询方式MODEEQU00H;定时器/计数器方式(Mode0)COUNTEQU5000;计数值(5ms)TIMESEQ

4、U200;重复次数DISPREGP1;七段显示器LEDREGP0.7;LED;=============使用查询方式================ORG0;程序从0地址开始START:MOVDISP,#0FFH;关闭七段显示器CLRLED;设置LED初始状态MOVTMOD,#MODE;设置定时器/计数器方式LOOP:MOVR1,#0;设置七段显示器初始数字MOVR3,#60;设置定时60秒NEXT:MOVR0,#TIMES;设置重复次数(200次)MOVA,R1;取回显示数字DAA;BCD调整MOVR1,A;存回数字MOVDISP,A;显示数字AGAIN:MOVTH0,#(8192-COUN

5、T)/32;设置计数值MOVTL0,#(8192-COUNT).MOD.32;设置计数值SETBTR0;启动Timer0;=======================================WAIT:JBCTF0,TIMEOUT;查询是否中断JMPWAITTIMEOUT:CLRTR0;关闭定时器;------------------------------------------------------DJNZR0,AGAIN;重复200次;-------------1秒钟----------------------------------------INCR1;数字加1DJNZR3

6、,NEXT;进行下一秒CPLLED;改变LED状态JMPLOOP;跳至LOOP形成一个循环END三、实例演练2:60s定时器(中断方式)连接电路中断程序执行60s定时,主程序执行单灯左移流程图中断方式MODEEQU10H;定时器/计数器方式(Mode1)COUNTEQU-50000;计数值TIMESEQU20;重复次数DISPREGP1;七段显示器LEDREGP0;LED;=============使用中断方式=============ORG0;程序从0地址开始JMPSTART;跳至STARTORG1BH;设置中断向量JMPTIMER1;执行中断子程序START:MOVDISP,#0FFH;关

7、闭七段显示器SETBEA;打开中断总开关SETBET1;打开Timer1中断开关MOVTMOD,#MODE;设置定时器/计数器方式MOVSP,#70H;移开堆栈位置SETBRS0;切换到RB1寄存器组MOVR1,#0;设置七段显示器初始数字MOVR0,#0;设置已重复次数为0MOVR3,#60;设置定时60秒MOVTH1,#>COUNT;设置计数值MOVTL1,#

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。