微芯片技术:时钟源选择与Timer1/3/5操作

需积分: 15 18 下载量 55 浏览量 更新于2024-08-09 收藏 9.82MB PDF 举报
"这篇文档详细介绍了在PIC18F25K22、PIC18F45K22、PIC18LF25K22和PIC18LF45K22微控制器中时钟源的选择和Timer1/3/5模块的使用。时钟源的选择对定时器和计数器的精度和功能至关重要,文章通过TxCON寄存器中的TMRxCS<1:0>和TxSOSCEN位来说明如何配置这些定时器的时钟源。" 在微控制器设计中,时钟源的选择直接影响到系统的性能和定时器的精度。对于Timer1/3/5,可以选择内部时钟源或外部时钟源。内部时钟源通常基于FOSC(系统时钟),而外部时钟源则可以是连接到TxCKI引脚的外部脉冲。 12.2.1 内部时钟源: 当选择内部时钟源时,Timer1/3/5的TMRxH:TMRxL寄存器会在FOSC的一个整数倍处递增。FOSC内部时钟源会导致Timer1/3/5在每个指令周期递增4次,从而导致2 LSB的读取误差。为了充分利用定时器的分辨率,需要使用异步输入信号(如TxG引脚上的事件或C1/C2比较器输入)对时钟进行门控。 12.2.2 外部时钟源: 外部时钟源允许Timer1/3/5工作在计数器或定时器模式。在计数器模式下,定时器会在TxCKI引脚的上升沿递增,可以同步或异步于系统时钟。使用外部32.768 kHz晶振配合专用辅助振荡器电路,可以实现定时器功能。启用计数器时,需注意在某些条件下(如POR复位、写入TMRx寄存器或Timer禁用后再启用等)计数器才会在首个上升沿递增。 表12-1展示了TIMER1/3/5的使能选择,通过TMRxON和TMRxGE位控制定时器的工作状态。TMRxCS1和TMRxCS0位以及TxSOSCEN位决定了时钟源的选择,如表12-2所示。例如,设置TMRxCS1为0,TMRxCS0为1,不设置TxSOSCEN,定时器将使用系统时钟(FOSC)。 选择正确的时钟源是优化微控制器性能的关键,尤其是在需要精确定时或计数的应用中。开发者需要根据具体需求,通过编程配置相应的寄存器位来设定合适的时钟源,以确保系统按照预期运行。对于涉及生命安全或关键任务的项目,确保对时钟源和定时器的正确使用尤其重要,因为任何错误都可能导致严重后果。