版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定时器计数器第一页,共二十六页,编辑于2023年,星期日8.1定时器/计数器模块的基本用途
在单品机芯片内部配置的各种外围设备模块中,定时器/计数器模块是一种应用比较灵活的外设模块。那么,定时器/计数器模块究竟有什么用途呢?经过初步分析和归纳,此类模块大致上可以适用于以下3类不同的应用场合:第二页,共二十六页,编辑于2023年,星期日
(1)在一些单片机的应用项目中,又是要求单片机在其端口引脚上,向外部电路送出一系列符合一定时序规范的方波信号。例如,空调机中的变频控制,VCD,光盘驱动器,照相机,打印机提示音的音调产生,PWM脉冲宽度调制信号的形成,等等。在对这些应用项目的单片机进行编程时,需要在程序的执行过程中,插入一定时长的延时。对此有两种方案可供选择,一直利用芯片内部现成的硬件资源——可编程定时器,来精确控制输出实现预定的时间间隔;二是采用软件手段——插入一段延时程序。关于软件手段延时,在“PIC汇编语言程序设计基础”章节中已经做过介绍,其缺点,传真机中不仅电动机的驱动,电器设备的是需要占用“机时”,也就是耗费CPU的“精力”。在此仅对第一种方法中用到的硬件资源进行讲解。第三页,共二十六页,编辑于2023年,星期日
(2)在另外一些单片机的应用项目中,经常要求单片机在其引脚上,检测外部电路送来的一系列方波信号的脉宽、周期或频率,以便单片机接收外部电路的输入信号或通信信号。例如,遥控电视机中的红外遥控信号的接收,速度里程表中的转速检测,超声波测距仪中发射波与反射波之间的时间间隔的精确测量,等等。这类应用程序的编写,会用定时器来对“视线未知”的时间间隔进行精确计时。第四页,共二十六页,编辑于2023年,星期日
(3)还有一些单片机应用项目中,需要单片机对其端口引脚上输入的有外部事件产生的触发信号进行精确的计数,依据计数结果来控制完成相应的动作。例如,在饮料的生产和包装车间里,传送带上的易拉罐在移动时,可以借助于红外线透射或者反射方式,获得触发信号并且送入单片机的相应引脚,有单片机内部的可编成计算器来对移过红外探头的易拉罐数量进行计数。每当计数器的累加值达到预设值时,就控制相应装置完成封箱操作。第五页,共二十六页,编辑于2023年,星期日8.2PIC系列单片机定时器/计数器TMR0模块的特性
Microchip公司产生的PIC系列单片机也不例外,各款产品内部全部配备有定时器/计数器模块,并且配备的数量也不尽相同。早期研制的PIC单片机产品系列,例如PIC12CXXX/CEXXX系列,PIC16C5X/5XX系列、PIC16C8X/F8X系列中的全部产品、PIC16C62X/CE62X系列中的部分产品,只配置了一个定时器/计数器模块。除了在最早的PIC16C5X系列弹片机中,把该模块叫做RTCC模块之外,在其余所有PIC单片机中都把该模块叫做TMR0模块。近期新研制的PIC单片机产品系列中,大都配置了多个定时器/计数器模块,例如PIC17CXXX系列和PIC18CXXX系列都配置了4个定时器/计数器模块。第六页,共二十六页,编辑于2023年,星期日
在本书中当作样板讲解的PIC16F87X系列单片机都配置了3个定时器/计数器模块,分别记为TMR0、TMR1、TMR2。需要事先声明的是,TMR0、TMR1、TMR23个定时器/计数器模块,不仅电路结构上均不相同,而且涉及的初中也各有所异,但是,三者之间也存在着许多的共同之处。具体的分析如下:不同点有:TMR0为8位宽,有一个可选的预分频器,用于通用目的;TMR1为16位宽,附带一个可编程的预分频器,还附带一个可选的低频时基振荡器,适合与CCP(捕捉/比较/脉宽调制)模块配合使用来实现输入捕捉或输出比较功能;TMR2为8位宽,同时附带一个可编程的预分频器和一个可编程的后分频器,还附带一个周期寄存器和比较器,适合与CCP模块配合使用来实现PWM脉冲宽度调制信号的产生。第七页,共二十六页,编辑于2023年,星期日
相同点:它们的核心部分都是一个由时钟信号触发的按递增规律(即累加方式)工作的循环计数器;都是从预先设定的某一初始值(或0)开始记起,在累积到超过最大值(或者预先设定的某一终了值)时产生溢出,并且同时会建立一个相应的溢出标志(即中断标志位):对于它们的编程方法也大同小异。因此,我们打算首先从中选择一款具备通用性、代表性和相对简单的定时器/计数器,也是各种档次、各款PIC单片机型号内部,普遍都配置了的定时器/计数器模块TMR0,作为本章讲解的模型和重点。至于其他2个定时器/计数器模块TMR1和TMR2,将在后面设专门章节另行讲解。这样安排的目的主要是,为了更好的适应初级读者,以循序渐进的方式接收和认识新技术新知识的需要第八页,共二十六页,编辑于2023年,星期日定时器/计数器TMR0具有以下特性:是一个8位宽的由时钟信号上升沿触发的循环累加计数器;TMR0也是一个文件寄存器区域内统一编址的寄存器,核心地址为01H或101H;用户用软件方式可直接读书或写入计数器的内容;具有一个可选用的8位可编程预分频器;用于累加计数的信号源可选择内部或外部时钟信号源,也就是即可工作于定时模式,又可工作于计数器模式;当时用外部触发信号作为时钟信号源时可由程序定义上升沿或下降沿触发有效;据有溢出中断功能。第九页,共二十六页,编辑于2023年,星期日8.3与定时器/计数器TMR0模块
有关的寄存器现在让我们做一下总结归纳,在PIC16F87X单片机的RAM数据存储器区域,与定时器/计数器TMR0模块有关的特殊功能寄存器共有四个,分别是8位宽的累加计数寄存器TMR0、中断控制寄存器INTCON、选项寄存器OPTION和端口RA方向控制寄存器TRISA,如表8.1所示。第十页,共二十六页,编辑于2023年,星期日表8.1与TMR0相关的寄存器寄存器名称寄存器符号寄存器地址寄存器内容bit7bit6bit5bit4bit3bit2bit1bit0定时器/计数器TMR001H/101H8位累加计数寄存器选项寄存器OPTION_REG81H/181HRBPUINTEDGT0CST0SEPSAPS2PS1PS0中断控制寄存器INTCON0BH/8BH/10BH/18BHGIEPEIET0IEINTERBIET0IFINTFRBIFA口方向寄存器
TRISA85H__TRISA5TRISA4TRISA3TRISA2TRISA1TRISA0第十一页,共二十六页,编辑于2023年,星期日选项寄存器OPTION_REGbit7bit6bit5bit4bit3bit3bit1bit0RBPUINTEDGT0CST0SEPSAPS2PS1PS0表8.2选项寄存器OPTION_REG各位分布PS2~PS):分频器分频比选择位。如表8.3所列。PSA:分频器分配位
▲
1=分频器分配给WDT
▲0=分频器分配给TMR0第十二页,共二十六页,编辑于2023年,星期日PS2~PS0TMR0比率WDT比率0001:21:10011:41:20101:81:40111:161:81001:321:161011:641:321101:1281:641111:2561:128表8.3PS2~PS0对应的分频比第十三页,共二十六页,编辑于2023年,星期日T0SE:TMR0的时钟源触发边沿选择位。只有当TMR0工作于计数器模式时,该位才发挥作用。
▲
1=外部时钟T0CK1下降沿触发TMR0递增;
▲0=外部时钟T0CK1上升沿触发TMR0递增。
T0CS:TMR0的时钟源选择位。▲
1=由T0CK1外部引脚输入的脉冲信号作为计数器TMR0时钟源;▲
0=由内部提供的指令周期信号作为定时器TMR0时钟源。2.中断控制寄存器INTCON(见表8.4)bit7bit6bit5bit4bit3bit2bit1bit0GIEEEIET0IEINTERBIFT0IFINTFRBIF表8.4中断控制寄存器INTCON各位分布第十四页,共二十六页,编辑于2023年,星期日
中断控制寄存器也是一个可读/写的寄存器与TMR0有关的各位的含义如下:T0IF:TMR0溢出标志位(也就是溢出中断标志)。
1=TMR0发生溢出;
0=TMR0未发生溢出。T0IE:TMR0溢出中断使能位。
1=TMR0允许溢出后产生中断;
0=TMR0屏蔽溢出后产生中断。GIE:全局中断使能位。
1=允许CPU相应所有外围设备模块产生的中断请求;
0=允许CPU相应所有外围设备模块产生的中断请求。第十五页,共二十六页,编辑于2023年,星期日3.端口RA方向控制寄存器TRISA(见表8.5)表8.5RA端口方向寄存器各位TRISA分布bit7bit6bit5bit4bit3bit2bit1bit0——TRISA5TRISA4TRISA3TRISA2TRISA1TRISA0TRISA4:与TMR0有关的只有一个位。由于TMR0模块的外部输入信号T0CK1与端口引脚RA4是复合在同一条引脚上的,当TMR0工作于计数器模式时,要求该脚必须设定为输入方式,作为T0CK1信号专用输入引脚,即:
1=端口引脚RA4设定为输入,以便从该脚T0CK1送进信号第十六页,共二十六页,编辑于2023年,星期日定时器/计数器模块的结构方框图如图8.1所示。○十PSAPS2:PS0MUX(1)MUX(2)同步逻辑TMR0寄存器MUX(3)MUX(4)8位预分频器8选1选择开关看门狗定时器8数据总线设置T0IF标志位WDT超时信号输出T0SET0CSPSACLKOUT(fout/4)内部信号指令周期RA4/T0CK1外部引脚11110000WDT使能位PSA图8.1TMR0+分频器+看门狗结构图第十七页,共二十六页,编辑于2023年,星期日
在剖析TMR0的电路是应遵循“化繁为简”的原则,不妨将整个电路功能简化为3个相对独立的主要组成部分:计数寄存器TMR0、分频器和看门狗定时器WDT。参见如图8.2所示的简化方框图。其中,看门狗定时器WDT在以后的章节中将作为专题介绍。预分频器TMR0内部信号外部信号WDT8超时溢出溢出中断T0CS数据总线PSA100100110⑴⑵⑶⑷第十八页,共二十六页,编辑于2023年,星期日
只是因为看门狗在电路上与TMR0之间存在一定的关联,并且与TMR0共同分享同一个分频器,于是两者就有了同时出现在同一个章图上的理由。图8.3就是将看门狗定时器WDT剔除之后带有可编程预分频器的TMR0模块的方框图。预分频器TMR0寄存器与内部时钟同步溢出置位T0IF数据总线1010RA4/T0CK1T0SE异或门fosc/4MUX⑴MUX⑵PSoutPSoutPSAPS2~PS0T0CS图8.3带有可编程分频器TMR0的模块方框图
第十九页,共二十六页,编辑于2023年,星期日
在图8.2的简化方框图中,3个组成部分之间借助于3支由同一个PSA信号控制的切换开关MUX⑵、MUX⑶和MUX⑷相互联结在一起.MUX⑵、MUX⑶和MUX⑷3只切换开关还可以理解为一只带有3组单刀双掷转换开关的继电器的3组触点,如图8.4所示.当PSA控制断送来逻辑0低电平信号时,3开关靠自身弹力倒向静合触点“0”一端;而当PSA端送来逻辑1高电平信号时,继电器得电吸合,3组开关靠磁力转换到动合“1”一侧。010011A1A2A3B1B2B3PSA图8.4带有3组单刀双掷转换开关的继电器第二十页,共二十六页,编辑于2023年,星期日8.4.1分频器
看门狗定时器WDT与TMR0共同分享同一个分频器,但两者不能同时使用。也就是说,在某一时刻分频器只能分配给两者当中的WDT或着TMR0。与TMR0配合使用时,它是以一个“预”分频器的骄色出现在TMR0的输入信号路径中的;而与WDT配合使用时,它是以一个“后”分频器的角色出现在WDT的输出信号路径中的。分频器实际上也是一个8位累加计数器,不过它不能像TMR0那样通过内部数据总线用程序进行读、写操作,并且它只能配合TMR0或WDT起分频作用。由于它主要用来与TMR0配合工作,因此在厂家提供的产品手册中总是习惯的把它叫做“预分频器”,其实把它叫做“分频器”笔者认为更确切,并且也不会产生任何舞会和影响。分频器的电路结构示意图如图8.5所示,可以把它看作有2片CMOS通用集成电路构成,一片是12位二进制计数器CD4040(在此仅使用低8位),一片是8选1模拟开关CDCD4051(或者是一片8选1数据选择器74LS1151)。当开关切换到Q1点时,时钟信号CLOCK经过1级二进制分频后送到OUT端,分频为1:2;当开关切换到Q2点时,时钟信号CLOCK经过2级二进制分频后送到OUT端,分频为1:4;当开关切换到Q3点时,时钟信号CLOCK经过3级二进制分频后送到OUT端,分频为1:8;……;当开关切换到Q8点时,时钟信号CLOCK经过8级二进制分频后送到OUT,分频比为1:256。开关的切换位置取决于PS2~PS0的值,也就是由PS2~PS0设定分频比。第二十一页,共二十六页,编辑于2023年,星期日PS2PS1PS0OUTCLOCKQ7Q61Q4Q5Q3Q2Q1Q0图8.5分频器等效电路分频器的功能就是将进入TMR0的时钟信号或从WDT送出的时钟信号频率除以一个指定的倍数,这个倍数就是分频笔,又OPTION_REG寄存器中的PS2~PS0决定。第二十二页,共二十六页,编辑于2023年,星期日
几经将分频器配置给WDT还是TMR0,这就要有控制信号PSA的逻辑电平来决定,当PSA为低电平时,分频器归TMR0所有,进入累加计数器TMR0的时钟信号,都要经过分频器;而当PSA为高电平时,分频器与TMR0个例,进入TMR0的时钟信号,不能再经过分频器。应注意,当分频器分配给TMR0时,任何以TMR0为目标的写操作指令(如CLRF1,MOVWF1)都会同时将分频器清0。同理,当分频器分配给WDT时,一条清WDT的指令(CLRWDT)将会同时清0其分频器。这里指的是分频器清0,而分频比和分频对象并不会改变。第二十三页,共二十六页,编辑于2023年,星期日8.4.2TMR0累加计数寄存器
顾名思义,定时器/计数器TMR0模块既可以作为定时器使用,也可以作为计数器使用,或者说,TMR0具有定时器和计数器两种工作模式。实际上,两种模式之间的主要差异就是送入累加计数寄存器TMR0的触发信号的来源不同而已,(这里所说的触发信号指的是数字电路学科中的时钟信号的概念,所以也可以叫做时钟信号)。TMR0的工作模式由T0CS位,即选项寄存器OPTION_REG位5决定,如表8.6所列。T0CSTMR0工作模式触发信号的来源0定时器计数器的触发信号取自内部指令周期
1数器计数器的触发信号取自外部引脚T0CK1点平的上升沿/下降沿表8.6TMR0的工作模式第二十四页,共二十六页,编辑于2023年,星期日1.定时器模式
当T0CS(OPTION_REG<5>)=0时,TMR0模块北设置为定时器模式,触发信号源取自于芯片内部的指令周期信号。也常被说成是,指令周期信号作为累加器的时钟信号源。在定时器工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购合同范本实务操作手册3篇
- 采购合同制定合作双方权益的保障3篇
- 采购合同评审表问答3篇
- 采购合同的市场趋势预测3篇
- 采购合同中英文版填写范本3篇
- 采购合同框架协议的签订发展趋势3篇
- 采购合同提升企业合同签订效率3篇
- 采购战略合同的绿色发展战略优化3篇
- 2024年度养老机构与志愿者组织合作协议范本3篇
- 2024年汽车行业人才招聘与培训合同集锦3篇
- 暗黑破坏神装备大全
- 幼儿园游戏设计与实施研究
- 自然资源学原理(绪论)蔡运龙
- 大学英语(一)智慧树知到期末考试答案2024年
- 高空作业安全免责声明
- 工程制图知识要点
- 2024山东能源集团中级人才库选拔高频考题难、易错点模拟试题(共500题)附带答案详解
- 2021年安徽省公务员录用考试《行测》真题及答案
- 个人就业能力展示
- 冰箱侧板制造工艺
- 四川省凉山州西昌市2023-2024学年高一上学期期末考试物理试题【含答案解析】
评论
0/150
提交评论