版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 定时器/计数器6.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理6.2 定时器定时器/计数器的控制计数器的控制6.3 定时定时/计数器的工作方式计数器的工作方式6.4 定时定时/计数器的编程和应用计数器的编程和应用1 1、计数概念的引入、计数概念的引入 从选票的统计谈起:画从选票的统计谈起:画“正正”。这就是计数,。这就是计数,又如:录音机上的计数器、家里面用的电度表、又如:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,都是计数。汽车上的里程表等等,都是计数。2 2、定时概念的引入、定时概念的引入 80C5180C51中的计数器除了可以作为计数之用外,中的计数器除
2、了可以作为计数之用外,还可以定时用,如闹钟,电视机定时关机,空调还可以定时用,如闹钟,电视机定时关机,空调定时开关等等,定时开关等等,一、基本概念一、基本概念6.1 定时定时/计数器的结构与工作原理计数器的结构与工作原理纯软件纯软件定时/计数方法:利用指令(延时子程序)运行所消耗的时间实现所需的定时时间。delay(unsigned int time ) unsigned int j = 0; for(;time0;time-) for(j=0;j125;j+);存在问题存在问题:由由CPU控制,占用控制,占用CPU的资源;的资源;单片机软硬件联合软硬件联合定时/计数方法:外来信号脉冲外来信号
3、脉冲加加1计数器计数器溢出标志溢出标志溢出溢出等待等待CPU响应响应系统时钟脉冲系统时钟脉冲K定时定时/计数计数器器那么那么计数器计数器是如何作为是如何作为定时器定时器来用的呢?来用的呢? 硬件法:利用一个硬件电路实现所需的时间定时,一旦时间到就产生一个标志信号通知CPU。特点:由CPU控制定时的启动,但定时过程由专用模块实现,CPU不参与其过程。所以提高了CPU的工作效率。 一个闹钟,定时在 1个小时后闹响,换言之,也可以说是秒针走了( 3600 )次,所以时间就转化为秒针走的次数的,也就是计数的次数了,那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。所以,只要计数脉冲的间隔相
4、等,则计数值就代表了时间的流逝 。计数器:对外部输入脉冲的计数;定时器:对机器周期计数。(1个机器周期计一个数,机器周期与晶振有关)结论:定时/计数器是个两用的设备,即能定时,又能计数,因此称做“定时/计数器”,简称“C/T”定时:产生一个标准的时间间隔;如20mS,100mS或1000mS等.单片机使用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。20mS40mSMCS-51 P x.y 输出波形输出波形计数:对外部的事件(脉冲)进行统计。外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计(计数)。当达到所要求的计数值时,单片机进行相应的操作。MCS-51T0
5、( T1) 端口端口外部脉冲外部脉冲外部外部设备设备单片机检测产品数量示意图单片机检测产品数量示意图P0口口 MCS-51T0红外线红外线扫描扫描发射器发射器红外线红外线接收电路接收电路产品包装产品包装控制器控制器产产品品生生产产线线产品产品传送带传送带计数器的溢出空间可随计数初值改变计数器的溢出空间可随计数初值改变定时时间定时时间tt =(计数器最大空间计数器最大空间-计数初值计数初值)机器周期机器周期 =(2n-a)12/fosc ( s)t与与n、x、fosc三个因素三个因素有关有关TFx (X = 0、1)Tx端(每个机器周期产生一个计数脉冲) 二、工作原理二、工作原理计数方式下:计数
6、方式下:计数值计数值216初值初值aTFx(X = 0、1)Tx端THx、TLx三、定时三、定时/ /计数器的结构计数器的结构两个两个16位定时器位定时器T0 (TH0、TL0)和和T1 (TH1、TL1)两个控制寄存器两个控制寄存器TCON和和TMOD两个外部引脚两个外部引脚T0(P3.4)和和T1(P3.5) 1 1、 定时定时/ /计数器是计数器是两用两用的,你需要它定时,它就定的,你需要它定时,它就定时,需要它计数,它就计数时,需要它计数,它就计数 就是说就是说“定时定时”和和“计计数数”需要选择模式需要选择模式 定时 计数 定时 计数C/TGATEM0M1C/TGATED0D1D2D
7、3D4D5D6D7M1 M0工作方式控制寄存器工作方式控制寄存器TMOD所以需要所以需要“模式控制模式控制”开关开关(TMOD) /0C T /0C T /1C T /1C T /0C T /1C T 6.2 定时器定时器/计数器的控制计数器的控制你只有告诉秘书说:你只有告诉秘书说:“下午下午3 3点叫我开会点叫我开会” 她才会叫你她才会叫你 如果你不需要她,就不应该让她叫你如果你不需要她,就不应该让她叫你 TR1=0 关TR1=1 开 TR0=0 关TR0=1 开2 2、定时器是一直工作吗、定时器是一直工作吗? ?所以定时器需要有所以定时器需要有开关开关 不能。为什么呢?因为8位单片机只能表
8、示0255。 当把两个8位的空间连了起来就成了一个16位的,这样最大计数量是65535。 3 3、定时器是不是可以无限的计数呢?、定时器是不是可以无限的计数呢? 当然不是,而是根据你需要的时间闹铃当然不是,而是根据你需要的时间闹铃4 4、定时器随便定多长时间闹都可以吗?、定时器随便定多长时间闹都可以吗?所以需要设置定时所以需要设置定时初值初值 TH0TL0计数初值寄存器计数初值寄存器 计数初值应为多少?计数初值应为多少?5 5、CPUCPU怎么知道计数满了?怎么知道计数满了?说明:说明:定时器的工作方式是定时器的工作方式是“溢出溢出”方式,只有定时器到了上方式,只有定时器到了上限(限(8 8位
9、为位为256256,1616位为位为6553665536)时才会)时才会“闹铃闹铃”(即产生计数(即产生计数中断事件),定时到了中断事件),定时到了硬件自动硬件自动把标志位把标志位TF0/TF1TF0/TF1置置1 1 例如我们要定时例如我们要定时 5000050000 个周期,采用个周期,采用1616位定时器,则定位定时器,则定时器初值需设置为:时器初值需设置为:65536 - 50000 = 15536 65536 - 50000 = 15536 就是说,定时就是说,定时器需要以器需要以 15536 15536 为初值开始工作,才能在经过为初值开始工作,才能在经过5000050000个定时
10、周个定时周期后期后“闹铃闹铃”。C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7M1 M0(1)工作方式控制寄存器)工作方式控制寄存器TMODT1(T0)方式选择位)方式选择位00-方式001-方式110-方式211-方式3T1T0/0C T /1C T 计数方式定时方式 GATE:门控位 定时定时/计数器的特殊功能寄存器汇总计数器的特殊功能寄存器汇总TF1TR1TF0TR0IE1IT1IE0IT08FH8DH8CH8BH8AH89H88H8EH定时器控制位外中断控制位TCON (88H) 可位寻址可位寻址(2)定时器控制寄存器)定时器控制寄存器TCONTF1:定时器1溢出
11、标志TF0:定时器0溢出标志TR1:定时器1运行控制位 TR0:定时器0运行控制位 TH0TL0T0计数初值寄存器计数初值寄存器 TH1TL1T1计数初值寄存器计数初值寄存器 (3)计数初值寄存器)计数初值寄存器 (1) 方式方式1 M0 M1为为0116位定时位定时/计数器计数器定时时间为:t = (216- a)12/fosc (s)最大定时时间(若fosc =12MHz)为: t = 216(s) = 65536 (s) 65(ms)6.3 定时定时/计数器的工作方式计数器的工作方式K12震荡器震荡器TL1TL1(8(8位位) )TH1TH1(8(8位位) )TF1TF1中断中断T1(P
12、3.5)T1(P3.5)脚脚123C/T=0C/T=1控控制制TR1GATEINT1INT1脚脚实例实例1 设单片机的fosc=12MHz,采用T0定时方式1 在P1.0脚上输出周期为2ms的方波。虚拟示波器虚拟示波器分析:分析:周期为2ms的方波由2个半周期为1ms的正负脉冲组成方波输出原理:定时1ms后将端口输出电平取反。2ms1msTH0 = a / 256 = 0 xfcTL0 = a % 256 = 0 x181ms定时的计数初值应为:a = 2n- 1X10-3fosc/12 注意注意:需要不断重装计数初值。(1)查询方式查询方式#include sbit P1_0 = P10;m
13、ain () TMOD = 0 x01; /设置设置T0定时方式定时方式1(0000 0001B) TR0=1; /启动T0 for(;) TH0 = 0 xfc; /装载装载计数初值计数初值 TL0 = 0 x18; do while(!TF0); /等待等待TF0溢出溢出 P1_0 =!P1_0; /定时时间到P1.0反相 TF0 = 0; /TF0标志标志清清0 图6.14 实例1仿真波形图(2)中断方式)中断方式#include sbit P1_0=P10;timer0 () interrupt 1 P1_0 = !P1_0; /P1.0取反 TH0 = 0 xfc; /装载计数初值
14、TL0 = 0 x18; main () TMOD = 0 x01; /T0定时方式1TH0 =0 xfc;/装载计数初值 TL0 = 0 x18; EA=1; /开总中断 ET0=1; /开T0中断 TR0=1; /启动T0while(1); 注意:注意:中断响应后系统可自动将中断响应后系统可自动将TFxTFx标志位清标志位清0 0小结:小结:使用定时使用定时/计数器的步骤计数器的步骤强调:强调:TMOD的设置只能以的设置只能以字节字节形式给出形式给出(1)设置设置TMOD确定定时确定定时/计数器的工作状态计数器的工作状态使用使用T0还是还是T1?采用定时模式还是计数模式?采用定时模式还是计
15、数模式?采用工作方式采用工作方式0、方式、方式1、方式、方式2、方式、方式3?C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7M1 M0T1T0 (2)计算计数初值)计算计数初值产生期望的定时间隔产生期望的定时间隔计数初值计数初值 a = 2n- tfosc/12 (t 65536 s)THx = a / 256 TLx = a % 256装载计数初值装载计数初值:ETx =1; /开定时x中断,x=0或1EA = 1; /开总中断tx_srv () interrupt n /n=1或3 (3)确定采用何种方式处理溢出结果)确定采用何种方式处理溢出结果若是查询方式采用条件判
16、断语句若是中断方式中断初始化设置和中断服务程序:do while (!TFx) / x=0或1 (4)启动定时器:)启动定时器: TR0 = 1 或或 TR1= 1 ( 5)进行定时或计数结束后的其它工作)进行定时或计数结束后的其它工作( 6)为下次定时)为下次定时/计数做准备计数做准备(清(清TFx标志标志+重装载重装载计数初值)计数初值) 若是中断方式,则无需软件清若是中断方式,则无需软件清TFx标志位;标志位; 若是查询方式,需要软件清除若是查询方式,需要软件清除TFx标志位。标志位。采用8位计数器位计数器,延时时间 t = (28-a)12/fosc (微秒) 12MHz时的最大定时量
17、为256s;可自动重装载计数初值可自动重装载计数初值(TLx溢出后, THx数值可自动装入TLx);不用重装载计数初值,方式2定时精度相对较高。(2) 方式方式2(1)查询方式)查询方式#include sbit P1_0 = P10;main() TMOD = 0 x02; TH0 = a%256; TL0 = a%256; TR0=1; for(;) do while(!TF0); P1_0 =!P1_0; TF0 = 0; (2)中断方式)中断方式#include sbit P1_0=P10;timer0 () interrupt 1 P1_0 = !P1_0; main() TMOD
18、= 0 x02; TH0 = a%256; TL0 = a%256; EA=1; ET0=1; TR0=1; while(1);补充实例补充实例1 采用T0定时方式2在P1.0口输出周期为0.5ms的方波。周期为周期为0.5ms0.5ms方波方波(3)工作方式工作方式0使用13位位的定时/计数器定时时间定时时间 t = (213 - a)12/fosc (s)计数初值计数初值 a = 213 - tfosc/1212MHz时的最大定时量时的最大定时量t=213s = 8.192ms解:设fosc=12MHz计数初值a=213-500012/12=3192= 1100 0111 1000B TH0TL00 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 6 3 1 8 H 举例举例: 计算计算T0方式方式0定时定时5ms的计数初值的计数初值a注意:方式0的TL0高3位未用,可填0 ,因此 a= 0110 0011 0001 1000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初级银行从业资格之初级个人贷款模拟题(历年真题)附答案详解
- 2026年疟疾知识考核自我提分评估附参考答案详解(突破训练)
- 小学英语科普版六年级下册Lesson 2 Did you play basketball yesterday教案
- 中职历史部编高教版(2025)世界历史第9课 改变世界的工业革命一等奖教案设计
- 小学数学8 数学广角-优化教学设计
- 数学三年级下册闰年教案
- 月考教学设计中职基础课-工科类 职业模块-高教版(2023修订版)-(英语)-52
- 高中性别平等意识说课稿2025
- 地下室主体施工阶段资源调配方案
- 传染病筛查检测操作规程
- 空间生产与历史记忆-深度研究
- 2025年0055深圳市鲸视科技有限公司
- 四川省村规划编制技术导则试行
- T-CQSES 01-2024 页岩气开采地下水污染评价技术指南
- 2024年河北省普通高中学业水平选择性考试生物试卷含答案
- DB36T 585-2023 园林植物栽植土质量要求
- 部编四年级道德与法治下册全册教案(含反思)
- 《谏逐客书》市公开课一等奖课件范例
- 考研的重要性和必要性
- 散光软性接触镜的验配-散光软镜的选择(接触镜验配技术课件)
- 项目监理工作中对工程施工过程中设计变更的管理措施
评论
0/150
提交评论