找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 613|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

解決單片機開機階段狀態(tài)不確定下亂輸出的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:496636 發(fā)表于 2025-3-8 22:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以前我樓上的單片機師傅做了個MODBUS DO輸出板,在上電的那一刻,繼電器會突然全部吸合,又突然斷開。
然后想出了解決問題的辦法,就是用單片機的空余的二個引腳,在單片機正常運行的時候分別輸出高電平和低電平。而在單片機上電的那一刻,狀態(tài)是不確定的,但有個規(guī)律是:引腳要么全是高電平,要么全是低電平。利用二個三極管對,NPN和PNP三極管,串聯(lián)起來輸出,只有正常程序運行的情況下,NPN三極管的基極輸入高電平,而PNP三極管基極給低電平,二個三極管才能同時導(dǎo)通,才能把高電平傳給開關(guān)管的柵極,從而繼電器才能正常供電,這就可以避免單片機上電初期亂輸出的問題。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:230500 發(fā)表于 2025-3-9 22:53 | 只看該作者
這樣的單片機已經(jīng)老掉牙沒人用了; 現(xiàn)在的單片機 上電一般默認是低電平,只有配置了輸出模式后才會有輸出。
回復(fù)

使用道具 舉報

板凳
ID:1110945 發(fā)表于 2025-3-10 00:19 | 只看該作者
可以用軟件法解決,不用添加任何元件。
當然不同的單片機要用不同的軟件指令,使它的引腳盡快輸出確定的電平。
如果C語言寫的代碼的響應(yīng)速度不夠,那就用匯編,總之要想盡一切辦法用軟件解決。
回復(fù)

使用道具 舉報

地板
ID:227818 發(fā)表于 2025-3-10 06:52 | 只看該作者
在控制繼電器的單片機引腳上加上拉或者下拉電阻可以解決嗎?
回復(fù)

使用道具 舉報

5#
ID:1133081 發(fā)表于 2025-3-10 11:36 | 只看該作者
這個問題是設(shè)計人員水平欠缺或疏忽所致。不論是老款還是新款MCU都是可以通過硬件或軟件解決,而且?guī)缀醪粫黾映杀尽?/td>
回復(fù)

使用道具 舉報

6#
ID:1109793 發(fā)表于 2025-3-10 15:21 | 只看該作者
是直接用單片機腳輸出的?按理不會有兩種狀態(tài)才對吧。
回復(fù)

使用道具 舉報

7#
ID:1034262 發(fā)表于 2025-3-10 21:00 | 只看該作者
單片機上電時,IO口的模式是確定的,不會有亂輸出,有亂輸出是因為你的硬件沒有設(shè)計好。
上電時IO一般為高阻,此時IO電平由外部電路確定。
如果IO高阻懸空、或IO高阻鏈接也是高阻輸入的器件,則狀態(tài)不定,所以必須使用外部電路(比如上拉、下拉電阻)來確定上電時的IO電平。
回復(fù)

使用道具 舉報

8#
ID:1128898 發(fā)表于 2025-3-11 04:39 | 只看該作者
繼電器加電阻
回復(fù)

使用道具 舉報

9#
ID:123917 發(fā)表于 2025-3-11 21:44 | 只看該作者
早期的8051或者2051確實如此,不知道樓上說軟件解決的是真的實現(xiàn)了嗎?反正我是通過 硬件控制
回復(fù)

使用道具 舉報

10#
ID:466250 發(fā)表于 2025-3-11 22:55 | 只看該作者
增加一級緩沖+使能控制即可。早期51單片機上電默認輸出高
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表