線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:941
推到 Plurk!
推到 Facebook!

程式疑問

答題得分者是:src
jantribal
一般會員


發表:4
回覆:3
積分:1
註冊:2008-03-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-02 17:05:56 IP:192.83.xxx.xxx 訂閱
各位前輩們:小弟要請教一下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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-02 17:50:52 IP:211.21.xxx.xxx 訂閱
break就是跳出
------
KUSO 無處不在
src
高階會員


發表:1
回覆:94
積分:154
註冊:2005-08-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-03 18:35:46 IP:59.117.xxx.xxx 訂閱

[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, 註解 無‧
系統時間:2024-04-28 13:43:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!