欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机原理与实验指导 第7章 定时计数器.ppt

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

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

    单片机原理与实验指导 第7章 定时计数器.ppt

    第第7 7章章 MCS-51MCS-51单片机定时器单片机定时器/计数器计数器 提提 要要【1 1】学学好原理好原理【2 2】会会设设置置专专用寄存器用寄存器【3 3】定定时时的例子的例子【4 4】演示日演示日历历秒的秒的实实例例7 71 1 定时定时/计数器的工作原理计数器的工作原理定时器定时器/计数器实质上是一个加法计数器,当它对具有固定时间间隔的内部机器计数器实质上是一个加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。周期进行计数时,它是定时器;当它对外部事件进行计数时,它是计数器。计数或定时计数或定时规定:规定:识别一个从识别一个从“1 1”到到“0 0”的跳变至少要花两个机器周期。的跳变至少要花两个机器周期。当然,最大计数频率为晶振频率的当然,最大计数频率为晶振频率的1/241/24。对外部输入脉。对外部输入脉冲宽度的要只有低限,即输入脉冲的低电平和高电平的宽冲宽度的要只有低限,即输入脉冲的低电平和高电平的宽度至少都应保持一个机器周期,多者不限。度至少都应保持一个机器周期,多者不限。这里需要注意的是:加法计数器是计满溢出时才申请中这里需要注意的是:加法计数器是计满溢出时才申请中断,所以在给计数器赋初值时,不能直接输入所需的计数断,所以在给计数器赋初值时,不能直接输入所需的计数值,而应输入的是计数器计数的最大值与这一计数值的差值,而应输入的是计数器计数的最大值与这一计数值的差值。设最大值为值。设最大值为M M,计值为,计值为N N,初值,初值X X的计算方法如下:的计算方法如下:计数状态:计数状态:X=M-NX=M-N 定时状态:定时状态:X=M-X=M-定时时间定时时间T,T,而而T=12T=12晶振频率。晶振频率。72 定时定时/计数器所用到的寄存器计数器所用到的寄存器7.3.1 定时器定时器/计数器的设置计数器的设置一、工作方式寄存器一、工作方式寄存器TMOD的设置的设置 二、控制寄存器二、控制寄存器TCON的设置的设置 控制寄存器控制寄存器TCONTCON用于控制定时器的启动、停止和中断请求。用于控制定时器的启动、停止和中断请求。其中,其中,TCON的低的低4位与中断有关,在第位与中断有关,在第6章已介绍,这里不再重复。章已介绍,这里不再重复。高高4位含义如下:位含义如下:(1)TF0、TF1分别是定时器分别是定时器/计数器计数器T0、T1的溢出标志位。的溢出标志位。(2)TR0、TR1分别是定时器分别是定时器/计数器计数器T0、T1的运行控制位,必须由软件置的运行控制位,必须由软件置1或或清清0。当当TR0(或(或TR1)置)置1后,对应定时器后,对应定时器/计数器才开始工作;当计数器才开始工作;当TR0或或(TR1)清)清0后,对应定时器后,对应定时器/计数器停止工作;在系统复位时计数器停止工作;在系统复位时TR0或或(TR1)被清)被清0。7.3.2 7.3.2 定时定时/计数器的工作模式计数器的工作模式(M1M1,M0M0)一、模式一、模式0【M1,M0=00,13位位】1313位初值的高位初值的高8 8位赋值给位赋值给TH0TH0,低,低5 5位数前面加位数前面加3 3个个0 0凑成凑成8 8位之后赋位之后赋给给TL0TL0。如要求计数值。如要求计数值N N为为10001000,则初值,则初值X X为:为:X XM M100010008192819210001000719271921C18H1C18H(或(或1110011100,00011000B00011000B)其二进制的高其二进制的高8 8位是:位是:11100000B11100000B,低,低5 5位是位是11000B11000B,因此赋初值时,因此赋初值时 TH0TH0E0HE0H,TL0TL018H18H。二、模式二、模式1 1【M1M1,M0=01M0=01,1616位位】如要求计数值如要求计数值N N为为10001000,则初值,则初值X X为:为:X XM M100010006553665536100010006453664536FC18HFC18H,因此,因此 赋初值时赋初值时TH0TH0FCHFCH,TL0TL018H18H。三、模式三、模式2 2【M1M1,M0=10M0=10,8 8位重装式位重装式】这种方式绝大部分将这种方式绝大部分将T1T1用于串口波特率发生器。用于串口波特率发生器。如希望每隔如希望每隔250s250s产生一个定时控制脉冲,若晶振频率为产生一个定时控制脉冲,若晶振频率为12MHz12MHz,此时计数初值此时计数初值X XM MN N2562562502501 16 6,故只要在,故只要在TH0TH0,TL0TL0(或(或TL1TL1,TH1TH1)中预置初值)中预置初值6 6。四、模式四、模式3 3【M1M1,M0=11M0=11,T0T0被设成两个被设成两个8 8位)位)定时器定时器/计数器计数器0 0设为模式设为模式3 3时,时,TH0TH0控制了控制了T1T1的中断,而的中断,而T1T1只能用于只能用于不需要中断的各种场合(可设置为模式不需要中断的各种场合(可设置为模式0 02 2中的一种),如用作不中的一种),如用作不使用中断的使用中断的“定时器定时器”、“计数器计数器”和串行口的波特率发生器。和串行口的波特率发生器。通常,当通常,当T1T1用作串行口波特率发生器时,用作串行口波特率发生器时,T0T0才定义为方式才定义为方式3 3,以,以增加一个增加一个8 8位计数器。位计数器。在用作波特率发生器时,在用作波特率发生器时,T1T1被设置成模式被设置成模式0 02 2时的逻辑结构:时的逻辑结构:参考下图:参考下图:7.3.3 80527.3.3 8052定时定时/计数器计数器2 2的设置的设置 自学:教材自学:教材P183-185P183-185页页7.4 定时定时/计数器的应用计数器的应用 例一例一 由由T0T0产生秒信号产生秒信号,在在P1.0P1.0输出输出(发声发声)。设:晶振频率。设:晶振频率:22.1184M:22.1184M。先介绍定时的算法先介绍定时的算法 再用程序说明再用程序说明 已知:已知:1 1个机器周期个机器周期=12=12个时钟(振荡)周期个时钟(振荡)周期 时间常数的算法时间常数的算法 1个机器周器的时间:12/22.1184M=0.5425微妙 定时一秒,从P1.0输出,需25个20ms=500ms 反转一次,这样,20ms的次数是:N(次数)=20毫秒/0.5425微妙36866D 用16位定时,T0初值=65536-36866=28670D=6FFFH,即:TH0=6FH,TL0=FFH 用s_numb记次数需25次。(先用汇编编写,后用C编程如下:)to_t0:;中断程序 mov th0,#6Fh ;重新装入常数 mov tl0,#0FFh clr c mov a,s_numb ;判断是否到25次?subb a,#01h ;总次数减一 mov s_numb,a jnc no_to1s ;无减完退出!mov s_numb,#25 ;减完,需重新置次数.cpl speak ;发声 no_to1s:reti ;返回到主程序 T0中断相应主程序 s_numb equ 30H ;20ms的次数(25x20=500ms)speak bit p1.0 ;蜂鸣器 org 0000h ljmp main ;复位入口 org 000bh ;ljmp to_t0 ;T0定时器入口 org 0100h .main:mov sp,#60h ;设堆栈 mov ie,#00h ;将中断全部关掉?mov tmod,#00100001b ;T1为8位重装(0010b为波特率);T0为16位定时器(0001b)mov th0,#6Fh mov tl0,#0FFh mov s_numb,#25 ;(25x20=500ms)设25次 setb speak ;关蜂鸣器 setb ea ;开总中断 setb et0 ;开T0中断 setb tr0 ;T0开始计数 loop:sjmp loop ;循环等待中断 end ;整个程序结束用C编的20ms函数 void out_t0(void)/定时器T0初始化 TMOD=0X21;/【mov tmod,#21H】TH0=0X6f;/装T0 定时常数 TL0=0Xff;/TR0=1;void To_int(void)interrupt 1 /T0中断入口函数中断入口函数 TH0=0 x6f;/装装T0定时常数定时常数 TL0=0 xff;s_numb=s_numb-1;/到到25次吗?次吗?If(s_numb=0)speak=speak;/取反取反“发声发声”s_numb=25;sbit speak=P10;/蜂鸣器 unsigned char s_numb;/全局变量 void main(void)/主函数 out_t0();/定时器初始化 s_numb=25;/设置次数“25”ET0=1;/开T0中断 EA=1;/开总中断 while(1);/等待发声 【例2】利用利用T0T0确定引脚上出现的正脉冲的宽度。确定引脚上出现的正脉冲的宽度。在外部中断在外部中断0 0为上升沿时为上升沿时,自动开始定时。在下降沿时自动开始定时。在下降沿时 产生中断,关掉产生中断,关掉T0T0(TR0=0TR0=0),读数(),读数(TH0TH0,TL0TL0)。)。【相关程序见教材相关程序见教材】练习:练习:7-2,7-5,7-9,7-11

    注意事项

    本文(单片机原理与实验指导 第7章 定时计数器.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开