欢迎来到天天文库
浏览记录
ID:16070441
大小:261.34 KB
页数:3页
时间:2018-08-07
《pic单片机定时器计数器模块及其应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、万方数据匕CHNOL00YlN}O}iM^IIONPIC单片机定时器/计数器模块及其应用①信息技术韩洁琼1甘晓燕2张旭东3(1.仲恺农业工程学院计算机科学与工程学院广州510225:2.陆军航空兵学院直升机机械工程系北京1011233.广州海洋地质调查局广州510075)摘要:本文通过介绍PIc秉列单片机的优越性和其所配置的定时器/计数器TMRo.TlⅥI“、TMR2模块之间的共性及各自的特性,以及PIc单片机在电机调速中的应用。关键词:单片机定时器/计数嚣TMRo,TMRl,TMR2电机中图分类号:TP332.1+2文献标识码:A文章编号:1672—3
2、79l(2008)ll(8)一0020—02随着微电子技术的迅猛发展,由美国Microchip公司开发生产的PIC系列单片机是8位CMOS单片机,率先采用了RIsc(精简指令集)结构的嵌入式微控制器,并凭借性能高、速度快、体积小、价格低、稳定可靠等优点,在过程检测、数据采集、智能仪表,机电一体化、智能家居工程及网络技术等领域中发挥着越来越重要的控制作.用。在单片机芯片内部配置的各种外围设备模块中,定时器/计数器是一种应用比较灵活的外设模块,针对不同型号的单片机而言,其所配备的定时器/计数器的数量和规格也不尽相同。本文所提到PICl6F87X系列单片机都配
3、置了3个定时器/计数器模块(分别记为TMR0,TMRl,TMR2),三种定时器/计数器模块虽然存在一定的共同之处,但在电路结构上均不同,而且设计的目的也各有所侧重。1三种定时器/计数器的异同之处1.1三者的共同点它们都是在RAM空间内进行统一编址的寄存器;用户可以采用软件的方式直接读出或写入计数寄存器的内容;都具有溢出中断功能。核心部分都是一个按递增方式工作的循环计数器,都能够从0(或预先设定的初始值)开始计起,当累计到超过最大值将产生溢出,并且会建立一个相应的溢出标志,其编程方法也基本相似。1.2三者各自的特点TMR0为8位宽,附带一个8位宽可编程的预
4、分频器,用于通用目的,累加计数的信号可以选择内部或外部时钟信号源;具有定时器模式和计数器模式,当使用外部触发信号作为时钟信号源时可以由程序定义在上升沿还是在下降沿触发有效;TMR0模块的外部输入信号TOCKl与端口引脚RA4是复合在同一条引脚上,当TMRO工作于计数器模式时,要求RA4必须设定为输入方式,作为TOcKl信号专用输入引脚,看门狗定时器wDT与TMRO是共享同一个分频器的,但二者是不能同时使用,具体分配给谁,要通过对选项寄存器0PTION—REG中的PsA位设置来实现。当PSA=1时,将分频器分配给wDT,它是以一个。后”分频器的角色出现在W
5、DT的输出信号路径中的,当PSA=0时,将分频器分配给TMR0,此时它是以一个“预”分频器的角色出现在TMR0的输入信号路径中的。TMRl为16位宽,附带一个3位宽可以编程的预分频器,还附带一个可选的低频时基振荡器,适合丁输入捕捉/输出比较/脉冲宽度调制CCP(capture/Compare/PWM)模块,配合使用来实现输入捕捉或输出比较的功能;TMRl自带低频低功耗时基振荡源,该性能适合应用于那些要求具备实时时钟功能,并且保持不断走时,同时要求能耗降低到最低限度的应用项目巾,TMRl振荡器允许单片机被设置成睡眠模式,同时计时器会继续保持不停地递增,当T
6、MRl产生溢出时,产生中断请求,能够唤醒单片机,以便使相应的寄存器得到及时更新;同时它可以借助于自带的低频时基振荡器,来实现记录和计算真实的实时时钟功能;其核心是一个16位宽的由时钟信号上升沿触发的循环累加计数寄存器对TMRlL:TMRlH,用于累加计数的信号源可以选择内部系统时钟,外部触发信号或自带时基振荡器信号;它除了可以工作于定时器模式、计数器模式外,还可以用作实时时钟RTc;当将TMRl控制寄存器的使能位TMRlON设置为0时,将使TMRl退出活动状态,从而节省功耗,这一点优于不能被关闭的TMR0。TMR2为8位宽,同时附带一个4位宽可以编程的预
7、分频器和一个4位宽的可编程的后分频器,另外还附带了一个周期寄存器PR2和比较器,适合于ccP模块配合使用来实现PwM脉冲宽度调制信号的产生,也可以为主同步串行端口MSSP模块(sPI模式)提供波特率时钟;值得注意的是它只能工作于定时器模式下,因此累加计数的信号源只能选择内部系统时钟;与TMRI一样,TMR2工作与否是具有可控性的,可以被用户软件关闭,使其退出工作状态;在对TMR2或TMR2控制寄存器进行写操作或用任何方式复位时,都可以使预分频器清零;当TMR2被用做延迟时间可调的周期性定时器时,只要一次性设定超时溢出周期,它就会周而复始地按预先设定的溢出
8、周期产生超时中断,而TMR0则是在每一次超时溢出时,都需要给寄存器TMR0重新赋
此文档下载收益归作者所有