上一篇文章写了PIC最基本得入门的闪灯程序,经过这个程序而欧美能够看到咱们的单片机确实开端依照咱们的程序工作了,今日咱们开端使用单片机里边的一个守时器的资源,即便是PIC里边的守时器,经过查询守时器是否计时到咱们规则的值来决议咱们是否要做什么事!
PIC里边有3个守时器,比起51单片机多了一个守时器(哈哈)!别离为Timer0,Timer1,Timer2.别离说说每一个守时器吧:
Timer0是一个8为守时器,与看门狗共用一个8位预分配频器,时钟源能够挑选位内部时钟和外部时钟,经过设置OPTION_REG寄存器的PS<2:0>位的值能够挑选不同的预分频比,依据挑选的预分频比和体系震动频率就能够计时守时了。
Timer1是一个16位的计时器,有一个3位预分频器,也便是意味着最多完成1:8的分频比,(随意说一下,要完成比较准确的守时的话,最好挑选小一点的预分频比,最好是不分频),Timer1也能够挑选内部或者是外部时钟。
Timer2是一个8为守时器,至今没用过Timer2,感觉仍是Timer1用的比较舒畅。
下面贴上最基本得Timer0的守时器查询的闪灯程序,程序计时0.5秒灯闪一次。
#include
;程序选用可重定位的汇编编写
udata_shr
L1 res 1h ;为变量L1分配一个字节地址
reset code 0x0 ;程序开端地址
pagesel main
goto main
main
INITTMR0
LOOP