導航:首頁 > 操作系統 > 單片機led不閃

單片機led不閃

發布時間:2023-11-14 14:44:49

1. 為什麼單片機實驗中編程成功了但LED燈卻不亮

編程通過只是說明你的程序沒有語法錯誤,至於你的功能是什麼,能不能實現,編譯器是管不了的。編譯器所保證的就是正確的解釋你的代碼,把你的代碼解釋成單片機使用的機器碼,然後生成燒寫文件,至於你想要的功能卻達不到,那肯定是你的問題。
首先檢查硬體,驅動方式有沒有問題,電流夠不夠大,延時合不合理?如果硬體不確定的的話,試一試用軟體模擬,你是直接驅動IO口,功能還是很簡單的,keil的軟體模擬能夠隔開你的硬體,程序單步執行,看埠輸出能不能達到設計要求,如果能,還是硬體的問題;不能,那就找程序的錯誤。

2. 單片機Led燈不亮

看你的板子,P1^0引腳上並沒有LED燈,那8個LED燈應該在P0口上吧,把程序的定義改一下。

sbitD1=P0^0;

另外寫主程序,要加一行while(1); 見下圖,兩個畫紅圈處的改法。

最後補充一點,普中的實驗板,用的是STC單片機,去STC官網下載正宗的燒錄軟體:STC-ISP。別用普中的燒錄軟體,不可靠,經常不能正常燒錄程序。

3. 51單片機LED點陣屏有燈不亮怎麼辦

可進入調試模式,在執行22句後,檢查595數據,看看其輸出是不是 0xaa,在執行23句後,檢查P0口數據,看看是不是 0x7f;

4. 單片機led為啥一直亮著而不是閃爍

改一下程序就可以了。
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a,b,c;
uchar led=0xfe;
void main()
{
a=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
P1=led;
while(1)
{
if(a==20)
{
led=~led;
led|=0xfe;
P1=led;
a=0;
}
}
}
void timer() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
}

閱讀全文

與單片機led不閃相關的資料

熱點內容
程序員那麼可愛陸漓出車禍失憶了 瀏覽:138
51單片機ad轉換教程 瀏覽:436
TPM怎麼加密文件夾 瀏覽:81
找工作用什麼app靠譜 瀏覽:915
從程序員轉產品經理 瀏覽:793
linux查詢序列號 瀏覽:251
vi輸入命令 瀏覽:654
程序員節幾月份合適 瀏覽:291
凱迪app是什麼東西 瀏覽:765
linuxjavapath環境變數 瀏覽:971
pdf的更多命令在哪裡 瀏覽:168
c語言經過編譯的後綴 瀏覽:875
怎麼做一款app 瀏覽:969
小紅書看過的視頻在哪個文件夾 瀏覽:536
中興雲伺服器市場份額 瀏覽:407
內網系統報文加密 瀏覽:210
centeroslinux 瀏覽:910
xcode如何編譯大型項目 瀏覽:59
平安京編譯器 瀏覽:869
把文件夾名稱改成符號 瀏覽:128