[問題] LED訊號延遲
大家晚安
小弟想要讓訊號讀取到經過if、else-if判別
從P1輸出在LED燈上顯示並且延遲顯示不會馬上消失
目前想到的方法是用延遲副程式,不過在debug時過不去
顯示好幾個這種錯誤:LED.C(82): error C141: syntax error near 'else'
請問各位大大我是哪邊寫錯了呢,還請不吝指教<(_ _)>
以下是程式,寫的很囉嗦不好意思>"<
#include <reg51.h>
#include <stdlib.h>
void delay150us();//宣告ADC讀取延遲副程式
void delay(unsigned int count); //宣告LED延遲副程式
sbit ADCRD=P3^7 ;//設ADCRD腳位為P3.7
sbit ADCWR=P3^6 ;//設ADCWR腳位為P3.6
sbit ADCINTR=P3^2;//設ADCINTR腳位為P3.2
main()
{
while(1){
ADCWR=0 ; ADCWR= 1 ;
delay150us() ;
ADCRD=0 ;
if(P2<=0xFF&&P2>=0xF0)
P1=0xFF;
delay(1000);
else if(P2<=0xEF&&P2>=0xE0)
P1=0x7F;
delay(1000);
else if(P2<=0xDF&&P2>=0xD0)
P1=0x3F;
delay(1000);
else if(P2<=0xCF&&P2>=0xC0)
P1=0x1F;
delay(1000);
else if(P2<=0xBF&&P2>=0xB0)
delay(1000);
else if(P2<=0xAF&&P2>=0xA0)
P1=0x07;
delay(1000);
else if(P2<=0x8F&&P2>=0x80)
P1=0x01;
delay(1000);
ADCRD=1 ;
}
}
void delay150us()//ADC讀取延遲副程式
{
int i=0 ;
for(i=0 ; i < 18 ; i++) ;
}void delay_fun()//跑馬燈延遲副程式
{
int i,k;
for(k=0;k<70;k++)
for(i=0;i<1000;i++);
}
void delay(unsigned int count)//LED燈延遲副程式
{
unsigned int y,z;
for(y=0;y<count;y++)
for(z=0;z<120;z++);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.180.159
※ 編輯: endlessbbs 來自: 118.170.180.159 (08/25 22:11)
→
08/25 22:12, , 1F
08/25 22:12, 1F
→
08/25 22:37, , 2F
08/25 22:37, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章