![]() |
發(fā)布時間: 2021-12-7 11:03
正文摘要:圖上畫的是P75,實際電路P0,P1,P7口都是這樣的電路,就這樣的簡單控制LED都不能正常,P7口能正?刂芁ED亮滅,P0和P1口部分IO口都不能控制LED滅燈,部分LED常亮,常亮的LED單個IO口測試時也是常亮,是設置出問題了嗎 ... |
電路問題,光耦暗電路觸發(fā)了三極管,量一量IO輸出電位就清楚了 |
樓主的驅動電路是體育老師教的吧?光耦需要5ma電流驅動,樓主的電流=(5V-1.8V)/2K=1.6ma,偏小,右邊LED驅動明顯有錯誤,是你的電路有問題。IO口只要不是設置成高阻模式都可以驅動LED,單片機IO默認是雙向,根本不需要設置IO口,直接用就可以,你的軟件沒有問題,LED電路有問題。 |
xuyaqi 發(fā)表于 2021-12-7 17:13 只是檢測LED是否點亮,光耦完全可以不用,將光耦直接用一只LED代替就可以了。從原理圖可以看出,光耦初級紅外發(fā)射管點亮次級LED發(fā)光。我們完全可以把光耦次級紅外發(fā)射管直接用LED代替。 |
wulin 發(fā)表于 2021-12-7 16:01 D4 比 STC8 其他型號 新增了很多寄存器,IO口結構有改變,頭文件不一樣。 ![]() |
D4這顆我P41我怎么設置。。只要=0一次,就回不到5V(只能回到3.多V),設置推挽模式也一樣(像樓主的P75我改為P41) |
#include "reg51.h"建議修改成#include "STC8.h"使用該芯片的頭文件,找不到就去STC-ISP軟件添加到你的KEIL里面 |
北漂的二極管 發(fā)表于 2021-12-7 16:39 不要輕易懷疑芯片有問題,功能不正常99.9%是使用者的問題。加電燈就亮是你的硬件電路設計缺陷所致。 |
你接線應按5樓給的改一下。 |
北漂的二極管 發(fā)表于 2021-12-7 16:39 stc8是有內置上拉電阻的,你最好了解一下,看你include的reg52,我猜你連stc的寄存器列表都沒看過吧?不然說啥都會用stc8的頭文件了。那么多寄存器全自己定義,不死人么? |
wulin 發(fā)表于 2021-12-7 16:01 不知道是不是廠家設置的有問題,我P0和P1口全部設置成高阻態(tài)了,P00,P01,P02,P03,P16,P17這些IO口控制的LED還是能點亮,并且是加電初始狀態(tài)就亮,按理說高阻態(tài)不能控制外部輸出的 |
可以用STC8頭文件,端口初始化全部準雙向。硬件按圖改一下。![]() ![]() ![]()
|
用到哪個設置哪個 |
對每個IO單獨設置 |
D4芯片開始必須對各個IO口設置,見D4說明書。 |
Powered by 單片機教程網(wǎng)