8051中斷問題 |
答題得分者是:balabubu
|
king206sw
一般會員 發表:2 回覆:1 積分:0 註冊:2007-03-06 發送簡訊給我 |
請問大大們~我正在做8051與pc間的溝通~
我想按 'a' 要讓P2.0腳的LED持續閃動,按 'b' 不亮,按 'c' 亮著 可是我按a後他就持訊閃動,按b或c都沒反應,知道我那樣寫是錯誤的 需用中斷來執行~可是我是剛接觸8051沒多久~我不會中斷 = =" 也看不懂書本寫的中斷~是否有中斷的小範例可提供參考或是 該怎麼寫才能順利執行 #include #include unsigned char tmp; sbit wled =P2^0; /*----------------------*/ delay(int d) { int i,j; for(i=0;i } /*-------------------------*/ led_b1() { int i; for(i=0;i<2;i ) { wled=1; delay(100); wled=0; delay(100); } } /*--------------------------*/ void main(void) { SCON=0x50; TMOD=0x20; TH1=0xfd; TL1=0xfd; TI=1; TR1=1; printf("test start"); while(1) { if(RI) { RI=0; tmp=SBUF; switch(tmp) { case 'a': <-----錯誤的地方 while(1) { led_b1(); } break; case 'b': wled = 0; break; case 'c': wled = 1; break; } } } } 還有一個問題想請問各位大大~如果要8051與PC互傳資料 例如 : pc傳"1"給8051,過一秒8051會回傳給pc顯示"2", pc傳"2"給8051,過一秒8051會回傳給pc顯示"3", pc傳"3"給8051,過一秒8051會回傳給pc顯示"4",依此類推到9 請問各位大大,程式該怎麼寫(C語言,使用keil c) 我是使用IC是用 AT89C51 石英震盪器是 11.0592 鮑率設為 9600 請各位大大幫忙~謝謝 |
balabubu
初階會員 發表:11 回覆:15 積分:25 註冊:2006-12-30 發送簡訊給我 |
void main()
{ IE=0x85; IP=0x1B; TCON=0x00; ................ } /*********************************************** * Interrupt 0 service external trigger by int0 pin ***********************************************/ void ex0_isr (void) interrupt 0 using 1 { } |
king206sw
一般會員 發表:2 回覆:1 積分:0 註冊:2007-03-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |