導航:首頁 > 操作系統 > 單片機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不閃相關的資料

熱點內容
做解壓學慣用品手工 瀏覽:85
手機文件夾刪除又出現怎麼解決 瀏覽:285
php時間段分析 瀏覽:213
redisjava類 瀏覽:911
剪力牆錯開部分鋼筋是否加密 瀏覽:477
linux字元設備驅動程序 瀏覽:57
全排列演算法java 瀏覽:465
中國銀行app轉賬電子回單在哪裡 瀏覽:51
操作簡單的程序員 瀏覽:600
數值積分演算法求pi 瀏覽:18
按鈕怎麼連命令方塊 瀏覽:909
房貸還清後不解壓能貸款嗎 瀏覽:36
程序員哄老婆開心技術 瀏覽:672
oracle自動備份壓縮文件 瀏覽:855
遵義人字形加密網帶 瀏覽:255
寧波人社在哪裡下載app 瀏覽:92
好噠商戶app下載在哪裡下載 瀏覽:609
廣發兌星巴克是在app哪裡操作 瀏覽:783
linuxgetline 瀏覽:215
app的懸浮窗許可權在哪裡設置 瀏覽:686