![]() |
發布時間: 2017-8-30 11:46
正文摘要:利用兩個按鍵模擬傳感器計數為a和b,當a大于b是亮一個燈,a等于b時亮另一個燈。 道理我懂,但是為什么程序寫出來后仿真卻不計數呢?請各位大神幫忙看一下應該怎么改 #include<reg51.h> #define uchar uns ... |
看看3333 |
太感謝了 |
應先學些基礎理論,才能事半功倍。 |
上面我改了外部中斷的語句: EX0=1; EX1=1; IT1=1; IT0=1; |
我也沒測試過呀具體不太懂 |
#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit out1=P1^0; sbit out2=P1^1; uint a=0,b=0; void delay(uchar c) { uchar i; while(c--)for(i=0;i<120;i++); } void int0() interrupt 0 { a++; } void int1() interrupt 2 { b++; } main() { EX0=1; EX1=1; IT1=1; IT0=1; EA=1; while(1) { if(a>b)out1=0; if(a==b) { delay(200); out2=0; } }} |