標(biāo)題: stc15f101w單片機(jī)燒錄成功,但是通電所有燈全亮,求教 [打印本頁]

作者: msgd6688    時間: 2021-2-9 14:11
標(biāo)題: stc15f101w單片機(jī)燒錄成功,但是通電所有燈全亮,求教
本帖最后由 msgd6688 于 2021-2-9 23:00 編輯

新手,用的stc15f101w(其實是買錯了),使用了這位兄弟的代碼http://www.torrancerestoration.com/bbs/dpj-106461-1.html ,在proteus里面用51仿真正常。
程序燒錄也成功,但是通電以后所有燈全亮,沒有閃爍效果,求解

增加之前的電路圖,之前是用高電瓶驅(qū)動的,因為沒有stc就用c51代替畫的圖

無標(biāo)題.png (72.34 KB, 下載次數(shù): 56)

無標(biāo)題.png

作者: yxt123    時間: 2021-2-9 17:13
建議使用示波器看一下控制燈的IO口是否輸出高低變化的電平。
作者: yxt123    時間: 2021-2-9 17:14
建議使用示波器查看燈的IO口是否輸出高低電平
作者: wulin    時間: 2021-2-9 17:18
雖然樓主鏈接的這個程序不咋地,甚至有錯誤,但還是可以勉強(qiáng)運行。程序燒錄成功,但是通電以后所有燈全亮可能是樓主硬件電路有問題。
作者: 418854190    時間: 2021-2-9 18:53
我用15F104W實驗了 程序沒問題   你在好好檢查一下接線是否接錯了
作者: zsw3721    時間: 2021-2-9 20:43
那位兄弟用的是四腳的三色LED燈吧。

1.jpg (81.62 KB, 下載次數(shù): 69)

1.jpg

作者: msgd6688    時間: 2021-2-9 22:36
418854190 發(fā)表于 2021-2-9 18:53
我用15F104W實驗了 程序沒問題   你在好好檢查一下接線是否接錯了

跟我是高電平驅(qū)動有關(guān)嗎,剛剛學(xué)到這
作者: wulin    時間: 2021-2-10 07:18
原程序作者是采用低電平驅(qū)動,樓主改高電平驅(qū)動要把LED驅(qū)動碼通通取反,采用stc15f101w還要修改IO口輸出模式。
void main()
{
    int t=0;
    char f=0;//亮暗標(biāo)志,0為亮
        P3M0 = 0xff;//推挽輸出模式
        P3M1 = 0x00;//推挽輸出模式

    Init();
    while(1) //主循環(huán)。
    {
        ......
作者: 學(xué)生1    時間: 2021-2-10 11:35
程序設(shè)置后硬件電路不對應(yīng),導(dǎo)致與輸出結(jié)果不一致
作者: msgd6688    時間: 2021-2-10 11:57
wulin 發(fā)表于 2021-2-10 07:18
原程序作者是采用低電平驅(qū)動,樓主改高電平驅(qū)動要把LED驅(qū)動碼通通取反,采用stc15f101w還要修改IO口輸出模 ...

按照你說的,我改了模式,然后改成低電平驅(qū)動還是6個IO口接的燈都全亮,會是這個單片機(jī)壞了嗎?燒錄都一直成功
作者: wulin    時間: 2021-2-10 14:16
msgd6688 發(fā)表于 2021-2-10 11:57
按照你說的,我改了模式,然后改成低電平驅(qū)動還是6個IO口接的燈都全亮,會是這個單片機(jī)壞了嗎?燒錄都一直 ...

樓主先按下面閃爍燈程序驗證你的硬件是否正常,免得搞不清是驢不走還是磨不轉(zhuǎn)。
#include <reg51.H>

/**1ms延時子程序(11.0592MHz 1T)****/
void delay(unsigned int k)
{
        unsigned int i,j;
        for(i=k;i>0;i--)
                for(j=829;j>0;j--);
}

void main()
{
        while(1)
        {
                P3=~P3;
                delay(500);//0.5秒
        }
}
作者: wwh2382    時間: 2021-2-10 15:02
建議檢查一下101w的io口是否正常,沒有儀器用萬用表也行,用led逐個檢查也行
作者: 亂雨臣服    時間: 2021-2-10 15:05
為什么我第一反應(yīng)是用的晶振頻率過大,延時效果看不出來
作者: hellokitty119    時間: 2021-2-10 15:16
很大概率是硬件連接問題, 我debug時一般會寫個簡單程式來逐個點亮熄滅每個燈,如果硬件沒有問題,再來分析代碼問題, 把功能減到最少比如1個燈再來確認(rèn),確認(rèn)好再逐步添加功能,希望這個思路能幫到你!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1