你掉到while死胡同里去了 !我寫一段你直接燒進去你看看閃不閃啊
#include<reg52.h> #define uchar unsigned char sbit p1_1=P1^0 ; sbit p2_1=P1^1; uchar a ; void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; a=0; while(1) { if(a==20) { p1_1=~p1_1; p2_1=~p2_1; a=0; } } } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; a++; }
你的我沒改,直接把while的位置調整了一下,我沒試,你下下來試試看。你這個活著直接把LED的判斷語句直接放在中斷里面也可以,main放初始化活著干脆空著。還有就是干脆把while刪掉也可以試試看 |