|
我用外部中断0做了一个统计槽形光耦脉冲的个数,光码盘装在一个一分钟只有十五转的电机上,统计5个脉冲的个数,然后执行相应的程序,但是不知道为什么统计不到5个,就执行相应的程序了,这是为什么?
单片机源程序如下:
- #include <reg52.h>
- unsigned char count;
- void INT0_init();
- void main(){
- INT0_init();
- P1=0x00;
- while(1){
- if(count==5){
- P1=0xff;
- count=0;
- }
- }
- }
- //有遮挡输出高电平,没有遮挡为低电平
- void INT0_init(){
- IT0=1;//外部中断0为跳变沿触发方式
- EX0=1;//打开外部中断0
- EA=1;//全局中断允许位
- }
- void INT_0() interrupt 0{
- count++;
- }
复制代码
|
|