版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子第五章系列单片机定时计数器1第1页,共37页,2023年,2月20日,星期一
§5-1定时计数的基本概念定时计数是微机工作中必不可少的基本工作系统。定时计数系统的主要功能大致在以下三个方面:
1、产生微机硬件系统工作时需要的时序信号如:CPU工作主频、系统主板外频、总线时钟等。
2、产生操作系统工作时的实时钟如:年、月、日、时、分、秒等。
3、输入输出用定时信号如:串行通讯中的收发时钟;对外部某过程的定时启动(如AD转换)等。实现这些功能系统要具备最基本的时间信号。2第2页,共37页,2023年,2月20日,星期一☛软件延时——
将CPU执行程序所用时间积累起来产生确定的延时。硬件开销少;直接占用CPU时间,影响CPU工作效率。如下办法产生时间信号:☛硬件延时——
①使用数字电路组合逻辑:
例如用555定时器构成的多谐振荡器定时信号单一,定时参数更改不便。②使用可编程定时/计数接口器件可编程定时/计数器功能丰富,工作方式、定时参数可灵活设定;占用CPU资源很少,与CPU并行工作;3第3页,共37页,2023年,2月20日,星期一微机定时计数系统产生信号对电路的作用——方波信号:作为RC积分电路的输入,输出:通过低频滤波网络,输出:同频三角波基波:与方波同频同相的正弦波
脉冲宽度按正弦规律变化的PWM波形以及可产生的等效正弦波4第4页,共37页,2023年,2月20日,星期一§5-251系列单片机定时/计数器控制寄存器工作方式寄存器两个相同的、彼此独立的定时计数器。每个定时计数器拥有自己的计数寄存器(16位);两个定时计数器共用TMOD、TCON一、定时/计数器的结构(教材图5-1)加1计数寄存器外部计数信号输入溢出5第5页,共37页,2023年,2月20日,星期一二、定时/计数器的工作原理
对作用在计数寄存器上的脉冲加1计数,溢出清零
+1+1+1+1+1外部计数信号或内部计数脉冲+1+1+1+1+1+1+1+1+1+1溢出TF=1当加到计数器为全1时,再输入一个脉冲就使计数器回零,且使TCON中TF0或TF1置1。6第6页,共37页,2023年,2月20日,星期一定时/计数器的工作原理(续)EA=1XET2ESET1=1EX1ET0=1EX0D7D5D4D3D2D1D0D6且当中断允许控制寄存器IE:TCON中的TF0或TF1置1可以请求中断。否则,TF0=1或TF1=1可以被查询。TCON格式:当TF0=1或TF1=1TF1TR1TF0TR0IE1IT1IE0IT0D7D5D4D3D2D1D0D67第7页,共37页,2023年,2月20日,星期一三、定时/计数器的功能定时器功能、计数器功能——
►
当作用在计数寄存器上的脉冲是时钟信号,就是定时器。
每个机器周期(12个时钟周期)产生一个定时时钟信号。最小定时:1×12个时钟周期最大定时:65536×12个时钟周期
►
当作用在计数寄存器上的脉冲是外部信号,就是计数器。
每两个机器周期(24个时钟周期)确定一次外部计数脉冲信号。外部信号频率上限=主频/248第8页,共37页,2023年,2月20日,星期一四、对定时/计数器的控制控制寄存器TCONTCON的低4位用于控制外部中断,高4位用于控制定时/计数器的启动和中断申请。TF1、TF0:溢出标志位。当计数满清零时TF=1。由定时计数器客观产生的。TR1、TR0:运行控制位(软启动位),TR=1启动定时计数器工作。需用指令控制。9第9页,共37页,2023年,2月20日,星期一对定时/计数器的控制(续)GATE:门控位。由此为确定怎样启动工作。C/-T:定时、计数选择M1M0:工作方式选择位。工作方式寄存器TMODTMOD用于设置定时/计数器的工作方式,高四位用于T1,低四位用于T0。设置T1定时计数器设置T0定时计数器10第10页,共37页,2023年,2月20日,星期一五、定时/计数过程的启动软启动硬启动外部计数信号(P3.4)确定定时与计数GATE确定启动方式TR=11GATE=0软启动硬启动GATE=1TR=1INT0=1GATE=0,TR=1立即启动计数GATE=1,TR=1INT引脚为高才启动计数11第11页,共37页,2023年,2月20日,星期一
六、定时/计数器的工作方式
(一)、方式0
方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。最大计数初值12第12页,共37页,2023年,2月20日,星期一
(二)、方式1
方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。计数个数与计数初值的关系为:
最大计数初值一次性按初值计数过程,若想再次工作需要重新赋计数值。13第13页,共37页,2023年,2月20日,星期一(三)、方式2
方式2为自动重装初值的8位计数方式。
能够连续不断的保持脉冲信号输出特别适合于用作较精确的脉冲信号发生器。计数个数与计数初值的关系为:
最大计数初值自动装入14第14页,共37页,2023年,2月20日,星期一(四)、方式3
工作方式3只适用于定时/计数器T0,将T0分成为两个独立的8位计数器TL0和TH0
。最大计数初值在方式3下,TL0使用T0的控制管理资源;TH0使用T1的控制管理资源(溢出标志、启动、中断请求)。
15第15页,共37页,2023年,2月20日,星期一51单片机定时/计数器工作方式归纳方式名称工作要点可使用Timer最大定时时间*特征工作方式013位定时/计数器Timer0Timer18192us非重复性按初值计数工作方式116位定时/计数器Timer0Timer165536us非重复性按初值计数工作方式28位定时/计数器Timer0Timer1256us重复性计数,TH作为TL的预值自动装入。工作方式38位定时/计数器Timer0256us非重复性按初值计数*基于51实验小系统的时钟频率16第16页,共37页,2023年,2月20日,星期一七、对定时/计数器的初始化编程初始化程序应完成如下工作:对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。2的n次幂M需要计的数值计数初值X计数初值X=M-计数值使用计数值的补数17第17页,共37页,2023年,2月20日,星期一对定时/计数器的初始化编程(续)中断方式时,则对IE赋值,开放中断。使TR0或TR1置位,启动定时/计数器定时或计数。18第18页,共37页,2023年,2月20日,星期一§5-3定时/计数器应用举例例1:定时/计数器用于外部中断扩展(参考教材P158)扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产生定时/计数器溢出中断。计数方式扩展的外部中断源计数初值为0FFH每来一个计数脉冲(扩展中断源)即计数器溢出,产生一次中断19第19页,共37页,2023年,2月20日,星期一用定时/计数器做外部中断扩展(续)利用T0扩展一个外部中断源。将T0设置为计数器方式,按方式2工作,TH0、TL0的初值均为0FFH,T0允许中断,CPU开放中断。
MOVTMOD,#06H;00000110;GATE=0软启动,C/-T=1置T0为计数器,方式2MOVTL0,#0FFH;置计数初值
MOVTH0,#0FFHSETBET0;允许T0中断
SETBEA;CPU开中断
SETBTR0;启动T0工作用C51语言怎样实现?20第20页,共37页,2023年,2月20日,星期一例2:测量一个低频信号的脉冲宽度。当为低频方波信号时,2×脉冲宽度即为信号周期。(教材例5-5)思考:
①可测信号的最高频率:一个机器周期12×1/F主频当单片机主频为11.0592MHz时,可测信号的最高频率约为926KHz。②被测信号加在引脚上,利用硬件启动方式(GATE=1)测引脚信号的脉宽。=1=1低频信号定时器开始计数定时器自动停止INT0(P3.2)21第21页,共37页,2023年,2月20日,星期一利用硬件启动(GATE=1)测信号的脉宽(续)MOVTMOD,#09HMOVTL0,#0MOVTH0,#0MOVR0,#70HSETBP3.2JBP3.2,$SETBTR0JNBP3.2,$JBP3.2,$CLRTR0┇=1=1低频信号;P3.2置1;当P3.2=1时自转;当P3.2=0时TR0=1准备定时;当P3.2=0时自转,等待触发;当P3.2=1时自转,计数;当P3.2=0时,TR0=0,停止计数定时器自动计数定时器自动停止22第22页,共37页,2023年,2月20日,星期一
恶补C语言中的“共用体变量”概念
(谭浩强教材P269~207)共用体(也叫联合体)——关键字union
定义一个共用体变量格式:
union共用体名
{成员1;成员2;
…}变量名;
概念:①几种不同数据类型的成员放到同一段存储空间里,都从同一个地址开始定义,几个成员相互覆盖。②共同体变量所占用的内存长度等于最长数据类型成员的长度。③可按需要访问共用体变量中的不同成员:
共用体变量名·成员名如:uniondata//共用体名
{inti;
charch;
floatf;//共用体内成员i、ch、f}a;//共用体变量a的长度是四个字节23第23页,共37页,2023年,2月20日,星期一利用硬件启动(GATE=1)测信号的脉宽(续)——采用C51语言编程#include<reg51.h>sbitsignal=P3^2;voidmain(void){unsignedintcycle;//变量cycle存储信号周期参数
union{unsignedintwid_all;unsignedcharwid_h;unsignedcharwid_l;}width;TMOD=0x09;TH0=0;TL0=0; //共用体变量width成员wid_all存储测得的脉冲宽度//width成员wid_h准备接受TH0的计数值//width成员wid_l准备接受TL0的计数值//对定时计数器T0初始化:定时方式C/-T=0、方式1(M1M0=01)、硬件启动GATE=1;TH、TL都为024第24页,共37页,2023年,2月20日,星期一利用硬件启动(GATE=1)测信号的脉宽(续)——采用C51语言编程signal=1;//P3.2设1while(signal);TR0=1;while(signal==0); while(signal);TR0=0;width.wid_h=TH0;width.wid_l=TL0;cycle=2*width.wid_all;while(1);}//当P3.2为1时等待,外部信号还没到;//当P3.2为0时TR=1,准备好由P3.2上的‘1’信号启动计数;//当P3.2为0时等待,需要的高电平未到;//当P3.2再次为1时T0开始计数,程序在此等待;//当P3.2从1变为0时关闭T0工作;//TH0送至共用体变量width成员wid_h;//TL0送至共用体变量width成员wid_l;//2倍的wid_all得到信号周期参数;25第25页,共37页,2023年,2月20日,星期一
PWM是英文“PulseWidthModulation”的缩写,简称脉宽调制。即:占空比可变的脉冲波形。利用微处理器系统中的定时器很有效很精确的输出占空比变化的序列脉冲信号,来对模拟电路进行控制,最终产生所需要的模拟信号。广泛应用于测量、通信、功率控制与变换等许多领域。只要带宽足够,任何模拟信号都可以使用PWM技术产生。例3:使用定时器T0产生、输出PWM波形。26第26页,共37页,2023年,2月20日,星期一使用定时器T0产生、输出PWM波形(续)占空比小的序列脉冲信号U小占空比大的序列脉冲信号U大对应得到的模拟信号V小对应得到的模拟信号V大
脉冲宽度按正弦规律变化的PWM波形以及可产生的等效正弦波27第27页,共37页,2023年,2月20日,星期一使用定时器T0产生、输出PWM波形(续)在逆变电源(直流电转换为交流电的方法为逆变)的实现过程中,PWM技术起到关键作用。28第28页,共37页,2023年,2月20日,星期一使用定时器T0产生、输出PWM波形(续)思路——计数器的计数初始值是动态变化的,从在主程序定义的变量中给出。当在程序中修改提供计数初值的变量值,PWM波的占空比就会发生变化。中断程序中通过判断P1.0是高电平还是低电平来重新设置不同的计数器初始值,形成序列脉冲不同的高、低电平持续时间。
T0采用定时方式、方式1、软件启动。29第29页,共37页,2023年,2月20日,星期一T0INT:;中断程序
CPLP1.0;P1.0取反
JBP1.0,HIGHMOVTL0,LOW_LEVEL_LMOVTH0,LOW_LEVEL_HRETIHIGH:MOVTL0,HIGH_LEVEL_LMOVTH0,HIGH_LEVEL_HRETI
ORG0;主程序
LJMPSTARTORG0BHLJMPT0INTORG100HSTART:MOVTMOD,#1HCLRP1.0MOVTL0,LOW_LEVEL_LMOVTH0,LOW_LEVEL_HSETBET0;允许中断
SETBEA;开放CPU中断
SETBTR0;启动定时
┇;等待中断时可以改变初值在中断服务程序中设定改变波形占空比的初值。30第30页,共37页,2023年,2月20日,星期一控制定时器产生PWM波形(续)工作状态描述:一开始:P1.0=0,T0以low_level值计数。T0溢出中断;中断里:P1.0=1,T0以high_level值计数。T0溢出中断;再中断:P1.0=0,T0以low_level值计数。………;P1.0low_levelhigh_level改变定时的计数初值值low_level、high_levelP1.0low_level’high_level’31第31页,共37页,2023年,2月20日,星期一定时/计数器T2在51单片机的8052子系列中还具有功能更强的定时/计数器T2。除了两个8位计数器TL2、TH2和控制寄存器T2CON及T2MOD之外,还有捕获寄存器RCAP2L和RCAP2H。输入引脚T2(P1.0)是外部计数脉冲输入端。位地址位功能0CFHTF20CEHEXF20CDHRCLK0CCHTCLK0CBHEXEN20CAHTR20C9HC/T20C8HCP/RL2控制寄存器T2CON(字节地址C8H)TF2=1溢出中断。需用软件清0TR2=1启动计数C/T2=0为定时器,反之为计数器32第32页,共37页,2023年,2月20日,星期一位地址位功能0CFHTF20CEHEXF20CDHRCLK0CCHTCLK0CBHEXEN20CAHTR20C9HC/T20C8HCP/RL2控制寄存器T2CON(字节地址C8H)TCLK串行发送时钟选择;RCLK串行接收时钟选择;EXEN2外部触发允许EXF2外部中断标志CP/RL2:捕捉/常数重装选择输入引脚T2EX(P1.1)是外部控制信号输入端。T2比T0、T1更优的地方——具有捕获方式;具有16位二进制的自动重装方式;不仅可以加1计数,还可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- XX中学2025-2026学年春季学期校园非遗进校园活动方案
- 查尔斯顿大学就业前景
- XX中学2025-2026学年春季学期校园劳动教育实施方案
- 关注留守儿童心理健康营造温馨和谐成长环境-2026年春季学期关爱行动纪实材料汇编
- XX中学2026年春季学期食堂从业人员期末总结及表彰会讲话
- XX初中2026年春季学期七年级少先队离队入团仪式书记讲话
- XX中学2025-2026学年春季学期校园读物管理实施方案
- 2026年康复医学科三基三严题库及答案
- 江西省抚州市临川区一中2026届高一生物第二学期期末复习检测试题含解析
- 2025年AI税务咨询工程师行业挑战与机遇分析
- 男士吹风课件
- 《广东省水利工程白蚁防治能力评价标准(2021年版)》
- 2025年甘肃省高考数学真题(新课标ⅱ卷)(含答案解析)
- 【《财务共享模式下企业营运资金管理研究-以美的公司为例》10000字(论文)】
- 噪音环境预测与评价课件
- 2025年美容整容医师认证考试试题及答案
- 制造企业生产成本控制方案与实施流程
- 2025年北京市乡村振兴协理员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 弥漫性大B细胞淋巴瘤的治疗及护理
- 2025年初级无人机驾驶员职业技能鉴定考试题库(浓缩400题)
- 车间生产规范管理制度
评论
0/150
提交评论