|
我用外部中斷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++;
- }
復制代碼
|
|