找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4429|回復: 13
打印 上一主題 下一主題
收起左側(cè)

stc15f101w單片機燒錄成功,但是通電所有燈全亮,求教

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:883301 發(fā)表于 2021-2-9 14:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 msgd6688 于 2021-2-9 23:00 編輯

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

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

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

無標題.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:483456 發(fā)表于 2021-2-9 17:13 | 只看該作者
建議使用示波器看一下控制燈的IO口是否輸出高低變化的電平。
回復

使用道具 舉報

板凳
ID:483456 發(fā)表于 2021-2-9 17:14 | 只看該作者
建議使用示波器查看燈的IO口是否輸出高低電平
回復

使用道具 舉報

地板
ID:213173 發(fā)表于 2021-2-9 17:18 | 只看該作者
雖然樓主鏈接的這個程序不咋地,甚至有錯誤,但還是可以勉強運行。程序燒錄成功,但是通電以后所有燈全亮可能是樓主硬件電路有問題。
回復

使用道具 舉報

5#
ID:261025 發(fā)表于 2021-2-9 18:53 | 只看該作者
我用15F104W實驗了 程序沒問題   你在好好檢查一下接線是否接錯了
回復

使用道具 舉報

6#
ID:702386 發(fā)表于 2021-2-9 20:43 | 只看該作者
那位兄弟用的是四腳的三色LED燈吧。

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

1.jpg
回復

使用道具 舉報

7#
ID:883301 發(fā)表于 2021-2-9 22:36 | 只看該作者
418854190 發(fā)表于 2021-2-9 18:53
我用15F104W實驗了 程序沒問題   你在好好檢查一下接線是否接錯了

跟我是高電平驅(qū)動有關(guān)嗎,剛剛學到這
回復

使用道具 舉報

8#
ID:213173 發(fā)表于 2021-2-10 07:18 | 只看該作者
原程序作者是采用低電平驅(qū)動,樓主改高電平驅(qū)動要把LED驅(qū)動碼通通取反,采用stc15f101w還要修改IO口輸出模式。
void main()
{
    int t=0;
    char f=0;//亮暗標志,0為亮
        P3M0 = 0xff;//推挽輸出模式
        P3M1 = 0x00;//推挽輸出模式

    Init();
    while(1) //主循環(huán)。
    {
        ......
回復

使用道具 舉報

9#
ID:811405 發(fā)表于 2021-2-10 11:35 | 只看該作者
程序設置后硬件電路不對應,導致與輸出結(jié)果不一致
回復

使用道具 舉報

10#
ID:883301 發(fā)表于 2021-2-10 11:57 | 只看該作者
wulin 發(fā)表于 2021-2-10 07:18
原程序作者是采用低電平驅(qū)動,樓主改高電平驅(qū)動要把LED驅(qū)動碼通通取反,采用stc15f101w還要修改IO口輸出模 ...

按照你說的,我改了模式,然后改成低電平驅(qū)動還是6個IO口接的燈都全亮,會是這個單片機壞了嗎?燒錄都一直成功
回復

使用道具 舉報

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

樓主先按下面閃爍燈程序驗證你的硬件是否正常,免得搞不清是驢不走還是磨不轉(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秒
        }
}
回復

使用道具 舉報

12#
ID:748788 發(fā)表于 2021-2-10 15:02 | 只看該作者
建議檢查一下101w的io口是否正常,沒有儀器用萬用表也行,用led逐個檢查也行
回復

使用道具 舉報

13#
ID:883857 發(fā)表于 2021-2-10 15:05 | 只看該作者
為什么我第一反應是用的晶振頻率過大,延時效果看不出來
回復

使用道具 舉報

14#
ID:883860 發(fā)表于 2021-2-10 15:16 | 只看該作者
很大概率是硬件連接問題, 我debug時一般會寫個簡單程式來逐個點亮熄滅每個燈,如果硬件沒有問題,再來分析代碼問題, 把功能減到最少比如1個燈再來確認,確認好再逐步添加功能,希望這個思路能幫到你!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表