標(biāo)題: 單片機獨立控制開關(guān)控制流水燈程序錯誤 [打印本頁]
作者: 千巖 時間: 2022-3-28 18:15
標(biāo)題: 單片機獨立控制開關(guān)控制流水燈程序錯誤
大佬們,小白學(xué)習(xí)遇到問題了,還請大佬不嫌麻煩,指點一二。
事情:
本想用獨立控制開關(guān)控制流水燈,但是,程序在protues上模擬卻沒有反應(yīng),而且,我不知道怎么線上調(diào)試程序,所以,一直無法發(fā)現(xiàn)錯誤在哪?
希望大佬們不吝指教,救救小白。
下面是程序的截圖和程序文本:
#include<reg52.h>
#define LED P2
typedef unsigned int u16;
typedef unsigned char u8;
sbit key=P3^1;
int daley(u8 x)
{
u8y;
for(x;x>0;x--)
{
for(y=110;y>0;y--);
}
return 0;
}
int Leds()
{
u16 num;
u16 LED_1;
LED=0xff;
while(1)
{
LED_1=0Xfe;
LED=0Xfe;
daley(100);
for(num=7;num>0;num--)
{
LED_1=LED_1<<1|0X01;
LED=LED_1;
daley(100);
}
}
return 0;
}
int KEY()
{
while(1);
{
if(key==0)
{
daley(2);
if(key==0)
{
Leds();
}
while(!key);
}
}
return 0;
}
int main()
{
while(1)
{
KEY();
// Leds();
}
return 0;
}
-
程序.jpg
(61.76 KB, 下載次數(shù): 70)
下載附件
2022-3-28 18:11 上傳
程序圖片
-
工程圖.jpg
(291.3 KB, 下載次數(shù): 61)
下載附件
2022-3-28 18:12 上傳
作者: lkc8210 時間: 2022-3-28 21:00
誰教你在函數(shù)中用while(1)的?
作者: 興安xa 時間: 2022-3-28 22:42
改動一下,看看能跑起來不
#include<reg52.h>
#define LED P2
typedef unsigned int u16;
typedef unsigned char u8;
sbit key=P3^1;
void daley(u8 x)
{
u8 y;
for(x;x>0;x--)
{
for(y=110;y>0;y--);
}
}
void Leds()
{
u16 num;
u16 LED_1;
LED=0xff;
{
LED_1=0Xfe;
LED=0Xfe;
daley(100);
for(num=7;num>0;num--)
{
LED_1=LED_1<<1|0X01;
LED=LED_1;
daley(100);
}
}
}
void KEY()
{
if(key==0)
{
daley(2);
if(key==0)
{
Leds();
}
while(!key);
}
}
void main()
{
while(1)
{
KEY();
Leds();
}
}
作者: 千巖 時間: 2022-3-29 08:29
我自學(xué)的,老師們用的都是while(1)死循環(huán)。
而且,今天我分別測試了兩個分裝函數(shù),發(fā)現(xiàn)是key()函數(shù)出的問題,于是便仔細(xì)檢查每一句,最后發(fā)現(xiàn)是因為while(1)后面加了個分號,我已經(jīng)狠狠摑了自己一個大鼻竇,希望我能記住這次教訓(xùn),并由衷感謝您的留言。
作者: 千巖 時間: 2022-3-29 08:32
謝謝,我也找到自己的錯誤所在,問題就在于在while(1)后多加了一個分號,這種毛病不經(jīng)意間~,由衷感謝你的教導(dǎo)。
作者: 千巖 時間: 2022-3-29 08:38
大佬們,這個問題已經(jīng)解決,問題竟然是key()函數(shù)中的while(1)后多加了一個分號,這種低級錯誤確實難防,我以后會勤加練習(xí),全力避免這樣的錯誤。由衷的感謝大佬的幫助,我會仔細(xì)閱讀各位的回復(fù)。
作者: laowang123222 時間: 2022-3-29 19:02
把按鍵的while(1)循環(huán)部分去掉,單獨弄一個按鍵函數(shù)。然后放在main函數(shù)的大循環(huán)里
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |