欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    AT89S51单片机的定时器.ppt

    • 资源ID:5415955       资源大小:671.50KB        全文页数:49页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    AT89S51单片机的定时器.ppt

    6,AT89S51单片机的定时器/计数器,2,思考:单片机系统实现定时功能的方法?,软件定时:软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。采用时基电路定时:例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。,3,思考:单片机系统实现定时功能的方法?,采用可编程芯片定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时/计数器不够用时,可以考虑进行扩展。单片机内部定时/计数器,4,本章主要内容:,6-1.定时器概述6-2.定时器的控制6-3.定时器的4种模式及其应用6-4.定时器/计数器综合应用举例,5,6.1 定时器概述,AT89S51单片机有2个16位的可编程定时器/计数器,称为定时器/计数器0和定时器/计数器1,分别由两个8位的特殊功能寄存器TH0、TL0和TH1、TL1组成。,6,用于定时控制、延时、外部事件计数和检测等场合。每个定时器可由软件设置为定时工作方式或技术工作方式及其它灵活的可控功能方式,这些功能由TMOD和TCON所控制。,定时器的实质 16位加1计数器,7,定时器/计数器的结构和工作原理,定时器/计数器的结构 定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。,8,计数器工作原理,计数功能所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲的计数。AT89S51芯片的信号引脚T0(P3.4)和T1(P3.5)分别是两个计数器的计数输入端。外部输入的脉冲在负跳变时有效,供计数器进行加 1 计数。,9,计数器工作原理,计数器输入的计数脉冲源 系统的时钟占当期输出脉冲经12分频后产生,通过T0或T1引脚对外部脉冲信号计数。计数过程 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。,10,计数器工作原理,计数方式下,单片机在每个机器周期的S5P2对计数脉冲输入引脚进行采样。如果前一个机器周期为高电平,后一个机器周期为低电平,即为一个有效的计数脉冲,在下一个机器周期的S3P1进行计数。由于采样计数脉冲是在2个机器周期完成的,所以计数脉冲的周期不能小于2个机器周期。,11,定时器工作原理,定时功能定时功能是通过对单片机内部脉冲进行计数来实现的。即每个机器周期产生1个计数脉冲,使计数器加 1。在使用定时器时,既可以根据计数值计算定时时间,也可以根据定时时间的要求计算出计数器的预置值。,12,定时与计数都是利用计数实现!,加法计数器是计满溢出时才申请中断,所以在给计数器赋初值时,不能直接输入所需的计数值,而应输入的是计数器计数的最大值与这一计数值的差值。设最大值为M,计数值为N,初值为X,则X的计算方法为:计数状态:X=MN 定时状态:X=M(定时时间机器周期),13,62.1 工作模式寄存器寄存器:TMOD字节地址:89H(不可位寻址),定时器/计数器 1,定时器/计数器 0,功能:用于设定定时器/计数器的工作方式(只能用字节传送指令设置其内容)TMOD的低半字节对应定时器/计数器 0,高半字节对应定时器/计数器 1,前后半字节的位格式完全对应。,6.2 定时器的控制,14,M1和M0:工作方式选择位,15,C/T:定时方式或计数方式选择位C/T=0 定时工作方式 C/T=1 计数工作方式GATE:门控位GATE=0以运行控制位(TR0或TR1)启动定时器 GATE=1以外部中断请求信号(INT0 或INT1)启动定时器,16,定时器/计数器控制寄存器:TCON字节地址:88H 位地址:88H 8FH(可位寻址),功能:用于保存外部中断请求以及定时器的计数溢出。TCON既有定时器/计数器的控制功能,又有中断控制功能,其中与定时有关的控制位共4位:TF1、TR1、TF0、TR0。,17,TF0和TF1:计数溢出标志位当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。计数溢出标志位的使用有两种情况:使用中断方式时,作中断请求标志位来使用,在转向中断服务程序时由硬件自动清“0”。使用查询方式时,作查询状态位来使用,查询有效后应以软件方法及时将该位清“0”,18,TR0和TR1:运行控制位(软件置1或清0)TR0(TR1)=0 停止定时器/计数器工作TR0(TR1)=1 启动定时器/计数器工作,19,中断允许控制寄存器:IE字节地址:0A8H 位地址:0A8H 0AFH,其中与定时器/计数器有关的控制位共3位:EA:中断允许总控制位ET0和ET1:定时器/计数器中断允许控制位ET0(ET1)=0禁止定时器/计数器中断ET0(ET1)=1允许定时器/计数器中断,20,6.3 定时器的4种模式及应用,计数器工作方式选择,21,模式0,模式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。,该方式计算不方便,建议不采用!,22,6.3.1 模式1及应用,模式1的计数位数是16位,由TL0(TL1)作为低8位、TH0(TH1)作为高8位,组成了16位加1计数器。,23,例6-1,用定时器T1产生一个50Hz的方波,由P1.1输出。方波周期为T=1/50=0.02s=20ms,用T1定时10ms,单片机采用12MHZ晶振,一个机器周期是1us,即是计数器计数10000次。TH1=(65536-10000)/256;TL1=(65536-10000)%256;,注意定时器的初值计算方法!,24,用查询方式编程,void main()TMOD=0 x10;/T1模式1,定时TR1=1;/定时器开始计数while(1)TH1=(65536-10000)/256;TL1=(65536-10000)%256;/装入计数初值while(TF1!=1);TF1=0;/清除T1溢出标志位P1_1=P1_1;,25,用中断方式编程,初始化程序应该完成以下工作:1.对TMOD赋值,以确定T0和T1的工作方式。2.计算初值,并将其写入TH0、TL0或TH1、TL1。3.中断方式时,则对IE赋值,开放中断。4.使TR0或TR1置位,启动定时计数器。,26,程序流程:,主程序流程,中断服务子程序流程,27,程序(主程序),#include#define uchar unsigned char#define uint unsigned intsbit P1_1=P11;void main()TMOD=0 x10;/T1模式1,16位计数器TH1=(65536-10000)/256;TL1=(65536-10000)%256;/装入计数初值EA=1;/开总中断ET1=1;/开定时器1中断TR1=1;/定时器开始计数while(1);,28,程序(定时器1中断服务程序),void timer1_int(void)interrupt 3TH0=(65536-10000)/256;TL0=(65536-10000)%256;/重新装入计数初值P1_1=P1_1;,29,例题6-2,用单片机和内部定时器来产生矩形波,要求频率为100Hz,占空比为0.25,设单片机的时钟频率为12MHz。,占空比:在一串理想的脉冲周期序列中,正脉冲的持续时间与脉冲总周期的比值。,30,5.3.2 模式2及其应用,模式2为自动重装初值的8位计数方式。在模式2下,当计数器计满255(FFH)溢出时,CPU自动把TH 的值装入TL中,不需用户干预。因此特别适合于用作较精确的脉冲信号发生器。,31,二、模式 2 工作特点,可以自动重新装载的8位定时器/计数器。,在程序初始化时,TL0和TH0由软件赋予相同的初值。,用于定时工作方式时,定时时间为:t=(28TH0初值)振荡周期12,用于计数工作方式时,计数长度最大为:28=256个脉冲,该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。,32,例6-3,当P3.4引脚上的电平发生负跳变时,从P1.0输出一个500us的同步脉冲,请编程实现该功能。方法1(只用T0)按照查询方式编程(请同学们自行编写)。选择T0为模式2 电平发生负跳变采用外部计数方式。当P3.4引脚上发生负跳变时,T0计数器加1,溢出标志TF0置1,然后改变T0为500us定时方式,并使P1.0同步输入一个500us脉冲。同步脉冲输出后T0又恢复外部事件计数方式。,33,方法2:计数用T0,采用查询方式,定时用T1中断,均采用模式2。T0工作在外部事件计数方式,当计数达到0FFH时候,再加1计数器就会溢出。T1工作在定时工作方式,设晶振频率为6MHz,500s相当于250个机器周期。因此,初值X为(256X)2s=500s X=6=06H,34,电路,用脉冲信号源模拟外部事件,用示波器对照显示P3.4口的输入和P1.0口的输出,方波信号源的周期必须大于1000us即频率小于1000HZ,这里我们为了清楚在示波器上进行对比,方波信号源发生频率为500HZ。,35,程序,主程序 设置T0,T1的模式;T0,T1装入初值;T0开始计数;判断T0是否溢出,溢出后清溢出标志位。P1.0清0 开T1开始计时T1中断 P1.0拉高 关T1,36,例6-4,利用定时器T1的模式2对外部信号计数。要求每计满100次,将P1.0端取反。外部信号由P3.5引脚输入,每发生一个负跳变计数器加1,输入100个脉冲后计数器发生溢出中断。TH1=TL1=28-100=0 x9C;采用信号发生器产生周期为0.01s,频率为100Hz的方波信号,计数满100次即耗时1s,P1.0口接一发光二极管,现象为发光二极管每隔一秒闪烁。,37,电路,38,6.3.3 模式3及应用,方式3只适用于定时器/计数器T0,定时器T1方式3时相当于TR1=0,停止计数。,工作方式3将T0分成为两个独立的8位计数器TL0和TH0。,39,6.4 定时器/计数器综合应用举例,例6-5.以中断方式产生单片机秒、分脉冲发生器。为便于仿真,设计一能显示分和秒的计时器。,40,#include#define uchar unsigned char#define uint unsigned intuchar m=0;uchar s=0;uchar i=0;uchar code smg=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;/0-9共阳级段码,41,分处理函数和秒处理函数,/分钟处理函数void Increase_Minute()if(+m 9)m=0;P3=smgm;,/秒处理函数void Increase_Second()if(+s 59)s=0;Increase_Minute();P0=smgs/10;P2=smgs%10;,42,主函数,void main()TMOD=0 x10;/T1模式1TH1=(65536-50000)/256;TL1=(65536-50000)%256;/装入计数初值,12MHz晶振一次溢出为50msEA=1;/开总中断ET1=1;/开定时器1中断TR1=1;/定时器1开始计数P3=smg0;while(1);,43,定时器1中断程序,void timer1_int(void)interrupt 3TH1=(65536-50000)/256;TL1=(65536-50000)%256;/重新装入计数初值i+;if(i=20)/50ms*20=1s时间到i=0;Increase_Second();,44,例6-6 演奏一段音阶(共14个音符)要求音阶演奏由定时器控制完成。,45,例6-7 频率测量,按下K1按键后,数码管显示出外部所接入的信号源频率(外部信号源频率取值为0-99HZ的整数),46,作业,课本习题,6-5,6-7,例题6-7(电路图见网上教学平台)课本习题和例题均用PROTEUS绘制电路图,KEIL编译程序仿真完成。选做题:用一个定时器完成交通指示灯所有的切换过程,实现以下操作(选做题请到网络教学平台上下载电路图)东西向绿灯和南北向红灯亮5s。东西向绿灯灭,黄灯闪烁5次。东西向绿灯与南北向绿灯亮5s。南北向绿灯灭,黄灯闪烁5次。第4项操作后回到第一项操作继续重复。交作业时间:10月30以前由学习委员收齐发老师邮箱。,47,选做题定时器控制交通指示灯,48,第五章作业评讲:,用外部中断的方式设置4个按键,在数码管实现相应的功能。K1 实现数值加一 K2 实现数值减一 K3 实现开数码管显示,初始值为0 K4 实现关闭数码管,49,电路图,

    注意事项

    本文(AT89S51单片机的定时器.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开