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

    计算定时器或计数器的计数初始值-计算机原理及应用资源共享课资料讲解.ppt

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

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

    计算定时器或计数器的计数初始值-计算机原理及应用资源共享课资料讲解.ppt

    计算定时器或计数器的计数初始值-计算机原理及应用资源共享课MCS-51定时器/计数器的逻辑结构5.1 概述TIMER1TIMER02GATEM0C/TM1M0GATEC/TM1D0D1D2D3D4D5D6D7定时/计数器工作方式定时器和计数器模式选择门控位定时/计数器T0定时/计数器T1定时/计数器工作方式定时器和计数器模式选择门控位5.2 定时器/计数器的工作方式选择及控制(一)定时/计数器的工作方式寄存器(TMOD,89H)TIMER0TIMER13定时器和计数器模式选择位 0,定时器模式,每一个机器周期计数器自动加1。1,计数器模式,在单片机T0引脚上每发生一次负跳变,计数器自动加1。GATE0,定时/计数器工作不受外部控制。GATE1,定时/计数器T0的起停受的起停受INT0引脚的控制引脚的控制。TMOD各位的定义(以定时器/计数器T0为例)M1 M0 说 明 0 0013位定时器/计数器,由TL0低五位和TH0高八位组成工作方式 0 1116位定时器/计数器,由TL0低八位和TH0高八位组成 1 028位定时器/计数器,由TL0低八位组成 1 13TL0低八位和TH0高八位分别位8位定时器/计数器5.2 定时器/计数器的工作方式选择及控制(一)定时/计数器的工作方式寄存器(TMOD,89H)5.2 定时器/计数器的工作方式选择及控制(一)定时/计数器的工作方式寄存器(TMOD,89H)4TF1TF0IE1TR1IT0IT1IE0TR0定时器/计数器1的溢出标志TCOND0D1D2D3D4D5D6D7定时器/计数器0的起停控制位定时器/计数器1的起停控制位定时器/计数器0的溢出标志 5.2 定时器/计数器的工作方式选择及控制(二)定时/计数器控制寄存器(TCON)控制定时/计数器的起停,反映定时/计数器是否计满。TR0=1 启动定时/计数器T0 TR0=0 定时/计数器T0停止计数TR1=1 启动定时/计数器T1TR1=0 定时/计数器T1停止计数5(二)定时/计数器控制寄存器(TCON)单片机复位时,特殊功能寄存器TCON被清0。TFx(x=0,1)和TRx(x=0,1)由软件方法置1或清0。既可按单元操作的方式,也可以按位操作方式。如启动定时/计数器T0和T1,清除溢出标志位TF0和TF1操作如下:SETB TR0 SETB TR1 CLR TF0 CLR TF1 或:MOV TCON,#01010000B5.2 定时器/计数器的工作方式选择及控制6 注意:使用定时器/计数器时应注意以下几个方面:(1)MCS51的定时器/计数器为加1计数器。(2)定时器定时器/计数器计数器T1的工作方式没有方式的工作方式没有方式3,如果设置它为方式如果设置它为方式3(M1M0=11),定时器),定时器/计数器计数器T1停止工作停止工作。(3)一般情况下,定时器/计数器T1溢出后,TF1自动置1,可以以此为判断标志,检测定时或计数是否完成,但在定时器/计数器T0设置为方式3时,TF1为1时意味着8位计数器TH0溢出,TF0为1表示8位计数器TL0溢出。(4)在计数器模式时,计数脉冲的频率不高于振荡器频率的1/24.5.2 定时器/计数器的工作方式选择及控制(二)定时/计数器控制寄存器(TCON)75.3.1 方式05.3 定时器/计数器的工作方式及工作原理定时器计数器T0工作方式0的逻辑结构计数器的低五位计数器的高八位TH0TL08 当GATE=0时,只要TR0为1,TL0及TH0组成的13位计数器就开始计数;当GATE=1时,仅当TR0为1,且INT0引脚输入信号状态为1时,13位计数器开始计数。计数器开始工作时,当13位计数器从初始值开始加1计数,当13位计数器各位全1以后,再计数1次,计数器就产生溢出,则TF0位由硬件自动置1,同时把计数器清0。在方式0下,计数器计数范围是18192(213)。定时时间范围为18192个机器周期。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式09 在工程设计时,经常碰到的是这样的问题:要求在计完数次或者定时(延时)秒后,再进行下一步的动作。如果采用定时/计数器实现,最直接的方法是让定时/计数器计数次或者定时秒后溢出,溢出标志TF0(或TF1)提供了测试判断条件。然而,计数器只有在计满后才会溢出,上述问题转换为在某个初始值的基础上再计N次或再定时t秒使定时/计数器溢出。因此,求初始值是解决上述问题的关键求初始值是解决上述问题的关键求初始值是解决上述问题的关键求初始值是解决上述问题的关键。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式010(1)计数器工作模式计数N次,要求计数器溢出,设初始值为 ,则:,那么,预先给计数器装入初始值 ,当计数器计数 次后,溢出标志TF0为1。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式01112 计数器方式应用(例题)例1:已知某生产线传送带上产品单向传送到包装机,传送带上的产品之间有间隔,使用光电开关检测的产品个数,每计数到12个产品时,由气缸驱动的顶推装置把这批产品推入包装机包装,顶推装置的顶推气缸动作响应时间为50ms。系统采用单片机控制,采用定时/计数器实现产品计数。5.3 定时器/计数器的工作方式及工作原理13 计数器方式应用(例题)5.3 定时器/计数器的工作方式及工作原理控制系统原理(2)定时器模式 定时td,要求计数器溢出。首先计算定时td需要多少个机器周期,即:设初始值为X,则:,预先给计数器装入初始值,当计数器计个机器周 期后,溢出标志TF0为1,定时时间到。5.3 定时器/计数器的工作方式及工作原理5.3.1 方式01415 例2:设单片机应用系统晶振频率为6MHz,使用定时 器T0以方式0产生频率为500Hz的等宽方波连续脉冲,并从P1.0输出。5.3 定时器/计数器的工作方式及工作原理 定时器方式应用(例题)16 解:等宽方波的高低电平持续时间相同,占空比为1:1。500Hz的等宽方波脉冲信号的周期为2ms,只需在P1.0引脚输出持续时间为1ms的高低电平交替变化的信号即可,则定时时间应为td=1ms。5.3 定时器/计数器的工作方式及工作原理 定时器方式应用(例题)定时器计数器T0工作方式1的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.2 方式117 当GATE=0时,只要TR0为1,TL0及TH0组成的16位计数器就开始计数;当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,16位计数器开始计数。计数器开始工作时,当16位计数器从初始值开始加1计数,当16位计数器各位全1以后,再计1次,计数器就产生溢出,则硬件自动把TF0位置1,同时把计数器清0。5.3 定时器/计数器的工作方式及工作原理5.3.2 方式118(1)计数器工作模式 计数N次,要求计数器溢出,设初始值为X,则:,那么,预先给计数器装入初始值 ,当计数器计数N次后,溢出标志TF0为1。5.3 定时器/计数器的工作方式及工作原理5.3.2 方式119(2)定时器工作模式 定时td秒,要求计数器溢出。首先计算定时td需要多少个机器周期才能实现,即:设初始值为X,则:,那么,。预先给计数器装入初始值 ,当计数器计N个机器周期后,溢出标志TF0为1,定时时间到。方式1时,定时/计数器的最大计数次数为65536(初始值为0),最大定时时间为65536TM(初始值为0)。5.3 定时器/计数器的工作方式及工作原理5.3.2 方式120定时器计数器0在工作方式2的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.3 方式221 当GATE=0时,只要TR0为1,计数器TL0开始计数;当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,计数器TL0开始计数。计数器开始工作时,当8位计数器TL0从初始值开始加1计数,当计数器各位全“1”以后,再计1次,计数器产生溢出,则TF0位由硬件自动置1,同时把TH0的内容装载到TL0。5.3 定时器/计数器的工作方式及工作原理5.3.3 方式222(1)计数器工作模式 计数N次,要求计数器溢出,设初始值为X,则:,那么,预先给计数器装入初始值 ,当计数器计数N次后,溢出标志TF0为1。5.3 定时器/计数器的工作方式及工作原理5.3.3 方式223 (2)定时器工作模式 定时td秒,要求计数器溢出。首先计算定时td需 要多少个机器周期才能实现,即:。设初始值为X,则:,那么,。预先给计数器装入初始值 ,当计数器计N 个机器周期后,溢出标志TF0为1,定时时间到。方式2时,定时/计数器的最大计数次数为256(初始值为0),最大定时时间为256TM(初始值为0)。5.3 定时器/计数器的工作方式及工作原理5.3.3 方式224 当M1M0设置为11时,定时/计数器T0的工作方式为方式3。只有定时/计数器T0有方式3,定时/计数器T1没有工作方式3,如果把T1设置为方式3,计数器将停止工作。在工作方式3下,定时器/计数器T0被拆分成2个独立的8位计数器TL0和TH0。5.3 定时器/计数器的工作方式及工作原理5.3.4 方式3255.3 定时器/计数器的工作方式及工作原理5.3.4 方式3TL0定时/计数器逻辑结构定时器/计数器T0工作方式3的逻辑结构26TH0定时/计数器逻辑结构定时器/计数器T0工作方式3的逻辑结构5.3 定时器/计数器的工作方式及工作原理5.3.4 方式327 5.4.1 定时器计数器初始化 定时/计数器的初始化包括设置工作方式、计数器或定时器模式、计算计数初始值、启动定时/计数器、设置中断控制位等。定时和计数可以采用查询方式和中断方式实现。5.4 定时器/计数器的编程应用举例28 (一)采用查询方式实现定时和计数 (1)确定工作方式、计数器或定时器模式及启动)确定工作方式、计数器或定时器模式及启动控制方式,控制方式,构造方式控制码并写入特殊功能寄存器TMOD:MOV TMOD,#控制码。(2)计算定时器或计数器的计数初始值,计算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。(3)启动定时启动定时/计数器计数器:SETB TRx,x=0,1。定时/计数器开始工作,通过查询通过查询TFx是否为是否为1来来判断定时或计数是否达到要求判断定时或计数是否达到要求。5.4 定时器/计数器的编程应用举例 5.4.1 定时器计数器初始化29 (二)采用中断方式实现定时和计数 (1)确定工作方式、计数器或定时器模式及启动控制方式,构造控制码并写入特殊功能寄存器TMOD。(2)计算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。(3)开放CPU中断,允许定时/计数器溢出中断CPU的工作:对IE寄存器编程。(4)启动定时/计数器:SETB TRx,x=0,1。当计数器溢出时,定时或计数达到要求,CPU响应中断,程序转移到相应的中断处理程序入口处。5.4 定时器/计数器的编程应用举例 5.4.1 定时器计数器初始化30 定时/计数器有多种工作方式,每一种工作方式都能提供定时和计数功能,我们在应用中如何选择合适的工作方式呢?(1)掌握每种工作方式下定时/计数器的工作原理和特点。(2)了解每种工作方式下定时/计数器的最大计数次数和最大定时时间。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用31 13位定时/计数器(方式0)最大计数次数为8192,当晶振频率12MHz时,最大定时时间为8.192 ms。16位定时/计数器(方式1)最大计数次数为65536,当晶振频率12MHz时,最大定时时间为65.536 ms。8位定时/计数器(方式2和方式3)最大计数次数为256,当晶振频率12MHz时,最大定时时间为0.256 ms。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用32查询方式程序流程图(方式0、1、3)(3)查询方式程序结构5.4 定时器/计数器的编程应用举例5.4 定时器/计数器的编程应用举例查询方式程序流程图(方式2)5.4 定时器/计数器的编程应用举例(4)中断方式编程 1)初始化:定时器计数器工作方式:TMOD计数器初始值:THx、TLx开放CPU中断:EA允许定时器/计数器溢出中断:ETx启动:TRx (一)计数器方式应用(分别用方式0、1、3实现)5.4.2 定时器计数器应用2)中断处理程序(一个优先级)保护现场重装计数初值中断处理恢复现场中断返回5.4 定时器/计数器的编程应用举例 (一)计数器方式应用(分别用方式0、1、3实现)5.4.2 定时器计数器应用(高低优先级时,高优先级中断处理程序)关中断保护现场开中断重装计数初值中断处理关中断恢复现场开中断中断返回 (1)计算计数初始值 因为系统的晶振频率为 ,则机器周期 。设计数初始值为X:则(TH0)=11110000B0F0H,(TL0)=00001100B=0CH (2)设置工作方式 方式0:M1M0=00;定时器模式:;定时/计数器启动不受外部控制:GATE=0;因此,(TMOD)=00H。5.4 定时器/计数器的编程应用举例(二)定时器方式的应用(方式0、1、3)5.4.2 定时器计数器应用37查询方式程序流程图(方式0、1、3)查询方式编程中断方式编程5.4 定时器/计数器的编程应用举例(二)定时器方式的应用(方式0、1、3)5.4.2 定时器计数器应用总结:定时器和计数器本质是一样的,它们都是计数器,计数器是计外部信号,定时器是计机器周期,它们的编程流程是一样的计数器编程定时器编程5.4 定时器/计数器的编程应用举例(三)定时器/计数器方式2的应用 5.4.2 定时器计数器应用总结:定时器/计数器方式2与其它方式不同的是,在计数器溢出后,THx的内容被自动装载到TLx中,因此,无需再装入计数初值。查询方式程序流程图(方式2)(四)定时器/计数器的综合应用 (例程1)单片机应用系统的晶振频率为6M Hz,使用定时/计数器定时方法在P1.0引脚输出周期为100ms占空比1:4的信号序列。5.4 定时器/计数器的编程应用举例 5.4.2 定时器计数器应用P1.0引脚输出的信号序列42(例程2)利用定时/计数器T0测量INT0引脚(P3.2)上出现的正脉冲宽度,已知系统的晶振频率为12MHz,将所测得值高位存入片内71H,低位存入片内70H。5.4 定时器/计数器的编程应用举例 (四)定时器/计数器的综合应用 5.4.2 定时器计数器应用43 解:当特殊功能寄存器TMOD中的GATE位为1时,MCS-51单片机的定时/计数器的启动和停止受外部信号的控制,T0受 INT0引脚(P3.2)电平的控制,T1受INT1引脚(P3.3)电平的控制。测量引脚上出现的正脉冲宽度是一个定时/计数器T0受控制的定时方式,当 时,定时/计数器启动计数,当 时,停止计数。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用脉冲宽度测量原理44 (1)设置工作方式 方式1:M1M0=01,定时器模式:,定时/计数器启动受外部控制:GATE=1,因此,(TMOD)=09H(2)设置计数初始值 因为统计脉冲宽度,因此,计数器从0开始计数,(TH0)=00H,(TL0)=00H。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用45 (例程3):低频信号T0(P3.4)引脚输入,要求当T0(P3.4发生负跳变时,从P1.0引脚上输出1个500s的同步脉冲。设系统的晶振频率为6M Hz。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用46 解:采用定时/计数器计数方式和定时方式结合的方法。当P3.4引脚出现负跳变时,计数器溢出,此时,使P1.0引脚输出低电平,并且改变定时/计数器的工作方式为定时方式,使低电平保持500 s(延时)。当计数器再次溢出时,延时500 s到,使P1.0引脚输出高电平,同时把定时/计数器的工作方式改变为计数方式,选用定时/计数器T0的方式2实现上述要求。5.4 定时器/计数器的编程应用举例 (四)定时器/计数器的综合应用 5.4.2 定时器计数器应用47 5.4 定时器/计数器的编程应用举例 (四)定时器/计数器的综合应用 5.4.2 定时器计数器应用同步脉冲输出原理48 (1)外部事件计数的初始化 工作方式:M1M010,GATE=0,计数方式:,则(TMOD)=06H。计数初始值:由于P3.4引脚上的信号,每发生一次负跳变,要求计数器溢出,所以,(TL0)=0FFH,同时,令(TH0)=0FFH,以便下一个负跳变出现时,计数器也可溢出。5.4 定时器/计数器的编程应用举例 (四)定时器/计数器的综合应用 5.4.2 定时器计数器应用49 (2)500 定时的初始化 工作方式:M1M010,GATE=0,定时方式:,则(TMOD)=02H。计数初始值计算:系统晶振频率为6MHz,则机器周期为2,方式2时计数器为8位,则定时500 所需的机器周期个数为:计数器初始值为:因此,(TL0)=06H,同时,令(TH0)=06H5.4 定时器/计数器的编程应用举例 (四)定时器/计数器的综合应用 5.4.2 定时器计数器应用50 (例程4)设MCS-51单片机系统时钟频率为6MHZ,请利用定时/计数器产生1秒的定时。使指示灯以1秒为间隔闪烁。解:MCS-51单片机的定时/计数器T0和T1作为定时/计数器使用时,所得到的定时时间比较短,当系统晶振频率为6MHz时,最长的延时时间约为131ms(方式1)。因此,直接由定时/计数器定时无法实现这么长时间的延时。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用51 方法一:采用2个定时/计数器联合使用的方案实现1秒 的定时。首先采用定时/计数器T0以方式1产生100ms的定时,从P1.0引脚输出周期为200ms的连续方波信号。然后,把此信号作为定时/计数器T1的外部计数输入信号输入到引脚T1(P3.5),设置T1为计数模式,以方式2计数,T1计数5次即可实现1秒的定时。指示灯L由P1.2控制。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用52产生1秒定时及指示灯驱动显示的原理5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用53 (1)工作方式:根据以上分析,设置T0定时器模式、方式1,T1为计数器模式、方式2,那么,TMOD特殊功能寄存器设置如下:则:(TMOD)61H5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用54 (2)计数初始值计算 单片机系统的晶振频率为6MHz,需要定时100ms,定时/计数器T0的计数初始值X1为:转换为二进制数X1 3CB0H。对于定时/计数器T1来说,每计数5次需要计数器溢出,采用方式2时,计数初始值为:,转换为二进制数。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用55 方法二:采用定时/计数器T0以方式1定时100ms,定时/计数器T0溢出10次后,即可实现1秒的定时。这种方法的优点在于节省了MCS-51单片机宝贵的定时/计数器资源,用存储单元作为计数器。当实现较长时间的延时时,延时时间为定时/计数器溢出次数乘以它的定时时间。5.4 定时器/计数器的编程应用举例(四)定时器/计数器的综合应用 5.4.2 定时器计数器应用56本章内容结束本章内容结束!此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢

    注意事项

    本文(计算定时器或计数器的计数初始值-计算机原理及应用资源共享课资料讲解.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开