电子系列单片机定时计数器讲义.pptx





《电子系列单片机定时计数器讲义.pptx》由会员分享,可在线阅读,更多相关《电子系列单片机定时计数器讲义.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 5-1 5-1 定时计数的基本概念 定时计数是微机工作中必不可少的基本工作系统。定时计数系统的主要功能大致在以下三个方面: 1、产生微机硬件系统工作时需要的时序信号 如:CPU工作主频、系统主板外频、总线时钟等。 2、产生操作系统工作时的实时钟 如:年、月、日、时、分、秒等。 3、输入输出用定时信号 如:串行通讯中的收发时钟;对外部某过程的定时启动(如AD转换)等。 实现这些功能系统要具备最基本的时间信号。第1页/共42页2 软件延时 将CPUCPU执行程序所用时间积累起来产生确定的延时。硬件开销少硬件开销少; 直接占用直接占用CPU时间,影响时间,影响CPU工作效率。工作效率。如下办法产
2、生时间信号: 硬件延时 使用数字电路组合逻辑: 例如用555定时器 构成的多谐振荡器 定时信号单一,定时参数更改不便。 使用可编程定时/计数接口器件 可编程定时/计数器功能丰富,工作方式、定时参数可灵活设定; 占用CPU资源很少,与CPU并行工作;第2页/共42页3微机定时计数系统产生信号对电路的作用方波信号:方波信号:作为作为RC积分电路的输入,输出:积分电路的输入,输出:通过低频滤波网络,输出:通过低频滤波网络,输出:同频三角波同频三角波基波:与方波同频同相的正弦波基波:与方波同频同相的正弦波 脉冲宽度按正弦规律变脉冲宽度按正弦规律变化的化的PWM波形波形以及以及可产生可产生的的等效正弦波
3、等效正弦波第3页/共42页45-2 5-2 51系列单片机定时/计数器控制寄存器工作方式寄存器 两个相同的、彼此独立的定时计数器。两个相同的、彼此独立的定时计数器。 每个定时计数器拥有自己的计数寄存器(每个定时计数器拥有自己的计数寄存器(16位);位);两个定时计数器共用两个定时计数器共用TMOD、TCON一、定时/计数器的结构(教材 图5-1)加加1计数寄存器计数寄存器外部计数信号输入外部计数信号输入溢出溢出第4页/共42页5二、定时/计数器的工作原理 对作用在计数寄存器上的脉冲加1计数,溢出清零 +1+1+1+1+1外部计数信号或外部计数信号或内部计数脉冲内部计数脉冲+1+1+1+1+1+
4、1+1+1+1+1溢出溢出TF=1 当加到计数器为全1时,再输入一个脉冲就使计数器回零,且使TCON中TF0或TF1置1。第5页/共42页6定时/计数器的工作原理(续)EA=1XET2ESET1=1EX1 ET0=1EX0D7D5D4D3D2D1D0D6且当中断允许控制寄存器且当中断允许控制寄存器IE:TCON中的TF0或TF1置1可以请求中断。否则, TF0=1或TF1=1可以被查询。TCON格式:当TF0=1或TF1=1TF1TR1TF0TR0IE1IT1IE0IT0D7D5D4D3D2D1D0D6第6页/共42页7三、定时/计数器的功能定时器功能、计数器功能 当作用在计数寄存器上的脉冲是
5、时钟信号,就是定时器。 每个机器周期(12个时钟周期)产生一个定时时钟信号。最小定时:1 12个时钟周期 最大定时:65536 12个时钟周期 当作用在计数寄存器上的脉冲是外部信号,就是计数器。 每两个机器周期(24个时钟周期)确定一次外部计数脉冲信号。外部信号频率上限=主频/24 第7页/共42页8四、对定时/计数器的控制 控制寄存器TCON TCON的低4位用于控制外部中断, 高4位用于控制定时/计数器的启动和中断申请。TF1、TF0:溢出标志位。当计数满清零时:溢出标志位。当计数满清零时TF=1。由定时计数器客观产生的。由定时计数器客观产生的。TR1、TR0:运行控制位(软启动位),TR
6、=1启动定时计数器工作。需用指令控制。第8页/共42页9对定时/计数器的控制(续)GATEGATE:门控位。由此为确定怎样启动工作。C C-T-T:定时、计数选择M1 M0M1 M0:工作方式选择位。工作方式寄存器TMOD TMOD用于设置定时/计数器的工作方式,高四位用于T1 ,低四位用于T0。设置设置T1定时计数器定时计数器设置设置T0定时计数器定时计数器第9页/共42页10五、定时/计数过程的启动软启动 硬启动外部计数信号外部计数信号(P3.4)确定定时与计数确定定时与计数GATE确定确定启动方式启动方式TR=11GATE=0软启动硬启动GATE=1TR=1INT0=1GATE=0,TR
7、=1立即启动计数立即启动计数GATE=1,TR=1INT引脚为高才启动计数引脚为高才启动计数第10页/共42页11 六、定时/计数器的工作方式 (一)、方式0 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。最大计数初值最大计数初值132第11页/共42页12 16X=2 -N(二)、方式1 方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。计数个数与计数初值的关系为: 最大计数初值最大计数初值162 一次性按初值计数过程,若想再次工作
8、需要重一次性按初值计数过程,若想再次工作需要重新赋计数值。新赋计数值。第12页/共42页13(三)、方式2 2 8X=2 -N方式2为自动重装初值的8位计数方式。 能够连续不断的保持脉冲信号输出特别适合于用作较精确的脉冲信号发生器。 计数个数与计数初值的关系为: 最大计数初值最大计数初值82自自动动装装入入第13页/共42页14(四)、方式3 工作方式3只适用于定时/计数器T0,将T0分成为两个独立的8位计数器TL0和TH0 。最大计数最大计数初值初值82在方式3下,TL0使用T0的控制管理资源;TH0使用T1的控制管理资源(溢出标志、启动、中断请求)。 第14页/共42页1551单片机定时/
9、计数器工作方式归纳方式名称方式名称工作要点工作要点可使用可使用Timer最大定时最大定时时间时间*特征特征工作方式工作方式013位定时位定时/计数器计数器Timer0Timer18192us非重复性按初非重复性按初值计数值计数工作方式工作方式116位定时位定时/计数器计数器Timer0Timer165536us非重复性按初非重复性按初值计数值计数工作方式工作方式28位定时位定时/计数器计数器Timer0Timer1256us重复性计数,重复性计数,TH作为作为TL的预的预值自动装入。值自动装入。工作方式工作方式38位定时位定时/计数器计数器Timer0256us非重复性按初非重复性按初值计数值
10、计数* 基于基于51实验小系统的时钟频率实验小系统的时钟频率第15页/共42页16七、对定时/计数器的初始化编程初始化程序应完成如下工作:对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。2的的n次幂次幂M需要计的数值需要计的数值计数初值计数初值X计数初值计数初值X=M-计数值计数值使用计数值的补数使用计数值的补数第16页/共42页17对定时/计数器的初始化编程(续)中断方式时,则对IE赋值,开放中断。使TR0或TR1置位,启动定时/计数器定时或计数。第17页/共42页185-3 5-3 定时/计数器应用举例 例1:定时/计数器用于外部中断扩展 (
11、参考教材 P158) 扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产生定时/计数器溢出中断。计数方式计数方式扩展的外扩展的外部中断源部中断源计数初值计数初值为为0FFH每来一个计数脉冲(扩展中断源)每来一个计数脉冲(扩展中断源)即计数器溢出,产生一次中断即计数器溢出,产生一次中断第18页/共42页19用定时/计数器做外部中断扩展(续) 利用T0扩展一个外部中断源。将T0设置为计数器方式,按方式2工作,TH0、TL0的初值均为0FFH,T0允许中断,CPU开放中断。 MOV TMOD
12、,#06H ;0000 0 1 1 0;GATE=0软启动,C/-T=1置T0为计数器,方式2 MOV TL0,#0FFH ;置计数初值 MOV TH0,#0FFH SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0工作用用C51语言语言怎样实现?怎样实现?第19页/共42页20例2:测量一个低频信号的脉冲宽度。当为低频方波信号时,2脉冲宽度即为信号周期。 (教材例5-5)思考: 可测信号的最高频率:一个机器周期 12121/F主频 当单片机主频为11.0592MHz11.0592MHz时,可测信号的最高频率约为926KHz926KHz。 被测信号加
13、在 引脚上,利用硬件启动方式(GATE=1)测 引脚信号的脉宽。INT0INT0=1=1低频信号低频信号定时器开定时器开始计数始计数定时器自定时器自动停止动停止INT0(P3.2)第20页/共42页21利用硬件启动(GATE=1)测信号的脉宽(续)MOV TMOD ,#09HMOV TL0, #0MOV TH0, #0MOV R0, #70HSETB P3.2JB P3.2, $SETB TR0JNB P3.2, $JB P3.2, $CLR TR0=1=1低频信号低频信号;P3.2置置1;当;当P3.2=1时自转时自转;当;当P3.2=0时时TR0=1准备定时准备定时;当;当P3.2=0时自
14、转,等待触发时自转,等待触发;当;当P3.2=1时自转,计数时自转,计数;当;当P3.2=0时,时,TR0=0,停止计数停止计数定时器自定时器自动计数动计数定时器自定时器自动停止动停止第21页/共42页22 恶补C语言中的“共用体变量”概念 (谭浩强教材P269207)共用体(也叫联合体)关键字 union 定义一个共用体变量格式: union 共用体名 成员1; 成员2; 变量名; 概念:几种不同数据类型的成员放到同一段存储空间里,都从同一个地址开始定义,几个成员相互覆盖。 共同体变量所占用的内存长度等于最长数据类型成员的长度。 可按需要访问共用体变量中的不同成员: 共用体变量名成员名如:如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 系列 单片机 定时 计数器 讲义

限制150内