第6章 PIC单片机定时/计数器与CCP的应用
1 概述
2 定时器/计数器的控制与应用
3 CCP的应用
§6.1 概述
- 三个定时/计数器
- 定时/计数器0(TIMER0)、定时/计数器1(TIMER1)和定时/计数器2(TIMER2)。
- TIMER0 ,TIMER2是8位的增量溢出计数器,TIMER1是16位的增量溢出计数器。
- 时钟源
- TIMER0和TIMER1的时钟源可以是内部系统时钟,也可以是外部时钟;TIMER0和TIMER1既可以作定时器又可以作计数器使用。
- 而TIMER2的时钟源只能是内部系统时钟,这就意味着TIMER2只能作定时器使用。
- CCP模块
- TIMER1还可以配合捕捉/比较/PWM(CCP1或CCP2)工作,作为16位捕捉器或16位比较器的时基。
§6.2 定时器/计数器的控制与应用
- 定时功能在单片机程序中有很大的用途,合理地使用定时器可以使程序更加简单有序。使用定时器可以实现精确定时,在I/O口输出符合要求的波形,甚至使用定时器编写出基于时间片的时间触发的操作系统。这些都会使程序更加简洁可靠。
- 单片机程序很多时候要实现对外部输入信号的计数功能,硬件计数器将使计数更加简单准确可靠。在单片机无外部中断或外部中断不够用时,通过合理的配置计数器中断也能代替外部中断。
- TIMER0是一个简单典型的8位定时器/计数器,配合其中断功能及分频器功能可以方便地实现简单的定时与计数功能,但由于是8位计数,这对精度与幅度有一定的限制。
- 工作方式
- 定时器工作方式
- 计数器工作方式
6.2.1 定时器/计数器TIMER0
- 在例6.1中,利用TIMER0的计数器功能实现对RA4口的输入脉冲个数进行计数,并且在RC口输出脉冲个数。