[問題] LED訊號延遲

看板C_and_CPP (C/C++)作者時間16年前 (2009/08/25 22:02), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
大家晚安 小弟想要讓訊號讀取到經過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
文章代碼(AID): #1Aa-xwdK (C_and_CPP)
文章代碼(AID): #1Aa-xwdK (C_and_CPP)