当前位置:首页 > 单片机 > 单片机
[导读]1 #include //用的是PICC编译器2 __CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS);3 //PIC单片机都需要配置该位,HS是外部晶振模式4 // 使能PROTECT保护程

1 #include //用的是PICC编译器

2 __CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS);

3 //PIC单片机都需要配置该位,HS是外部晶振模式

4 // 使能PROTECT保护程序存储器

5 //BOREN使能掉电保护

6

7 //WDTDIS关闭看门狗

8 void display(int pulse_amount);

9 void main(void)

10 {

11 int pulse_amount //定义变量,存储外部脉冲数

12 SCS=0; //时钟源的选择。

13 TMR0=0; //清零计数器

14 OPTION_REG=0x20; //定义计数模式,对单片机的TOCK1引脚的脉冲

15 //计数,每来一个脉冲,TMR0就会加1,设置好之后计数器就开始工作了

16 while(1) //这个循环就是不断读取计数值

17 {

18 pulse_amount=TMR0;

19 display(pulse_amount); //这个程序是我假设的,就是用来显示计数值

20 }

21 }

22 程序的局限性在于,因为定时器0是8位的,也就是对外部引脚脉冲计数的最大值是256 当计数值达到这个值后,计数器的值会自动清零,这时候你可以设置一个中断

23 程序来计数。我这里不多讲了。外部脉冲频率是由晶振决定的,定时器在计数模式下,计数初值和计数值跟那两个没有任何关系.


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭