程式疑問 |
答題得分者是:src
|
jantribal
一般會員 發表:4 回覆:3 積分:1 註冊:2008-03-11 發送簡訊給我 |
各位前輩們:小弟要請教一下8051的程式問題就是說,如果用while (1)做迴圈除了用中斷去結束外還可以用什麼的方式阿???
舉個課本例題:用while (1)去掃描或是按鈕開關偵測,如果要跳出的話可怎樣跳呢???? #include "reg51.h" #define output P0 unsigned char scan=1; unsigned char digital[4]={0xf9,0xa4,0xc0,0x99}; void main () { int k; while (1) { scan=1; for (k=3;k>=0;k--) { output=digital[k]; P2=~scan; scan<<=1; delay (5); } if (k==4) { k=0; scan=1; } } } 編輯記錄
jantribal 重新編輯於 2008-12-02 17:08:26, 註解 無‧
|
kagaya
中階會員 發表:74 回覆:175 積分:59 註冊:2002-12-28 發送簡訊給我 |
|
src
高階會員 發表:1 回覆:94 積分:154 註冊:2005-08-23 發送簡訊給我 |
[code c#] #include "reg51.h" #define output P0 unsigned char scan=1; unsigned char digital[4]={0xf9,0xa4,0xc0,0x99}; sbit key=P1^0; delay(int b) { int i,s; for (i=0;i<=b;i ) for (s=0;s<=120;s ) ; } void main () { int k; while(1) { while(key) { scan=1; for(k=3;k>=0;k--) { output=digital[k]; P2=~scan; scan<<=1; delay (5); } if(scan==16) { scan=1; } } } } [/code] ===================引 用 jantribal 文 章=================== 各位前輩們:小弟要請教一下8051的程式問題就是說,如果用while (1)做迴圈除了用中斷去結束外還可以用什麼的方式阿??? 舉個課本例題:用while (1)去掃描或是按鈕開關偵測,如果要跳出的話可怎樣跳呢???? #include "reg51.h" #define output P0 unsigned char scan=1; unsigned char digital[4]={0xf9,0xa4,0xc0,0x99}; void main () { int k; while (1) { scan=1; for (k=3;k>=0;k--) { output=digital[k]; P2=~scan; scan<<=1; delay (5); } if (k==4) { k=0; scan=1; } } }
編輯記錄
src 重新編輯於 2008-12-03 18:40:27, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |