基于51单片机设计的交通灯
準(zhǔn)備工作
Proteus仿真,Keil5軟件,STC89C52芯片/1,74HC573鎖存器,兩位數(shù)碼管4個,紅綠高亮LED各四個,黃燈/4,470電阻20個備用,12M外部晶振,10k電阻&10uf極性電容(外部復(fù)位電路,你也可以加個按鍵).
構(gòu)建時序
當(dāng)南北通行時,南北綠燈亮,東西紅燈亮(默認(rèn)情況)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)東西通行時,東西綠燈亮,南北紅燈亮? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)時間到3秒時,亮黃燈提醒!
仿真電路如下
?
?
?(仿真可以調(diào)節(jié)主晶振所以不用接,復(fù)位也可以忽略)
74HC573鎖存器
????????????????????????????????????????????????????????????????????????????????????????????????74HC573引腳圖
?1腳三態(tài)允許控制端低電平有效
1D~8D為數(shù)據(jù)輸入端
1Q~8Q為數(shù)據(jù)輸出端
?LE為鎖存控制端;OE為使能端。
當(dāng)LE為高電平時,D0=Q0;當(dāng)LE為低電平時,數(shù)據(jù)鎖存在上一個狀態(tài);?
OE使能端低電平有效?
?注:
仿真電路中LED為I/O口直接高電平驅(qū)動,倒是硬件調(diào)試時遇到小麻煩.(
stc89c52輸出電流很小,uA級別,實測是400uA左右,高電平驅(qū)動,要加上拉電阻的。
)
所以我在硬件調(diào)試時電流過小導(dǎo)致LED只能發(fā)出微弱的光芒 只能改代碼 把LED上拉至5V低電平有效,I/O口串470電阻(5v/470歐姆約等于10ma);
?(由于搭線場面太過血腥,沒敢接著接其他數(shù)碼管,但顯示都是一樣的)
為了不讓它處于裸奔的一個狀態(tài)(也是對線路的一個保護),我給它量身定制了一套"衣服"
?總結(jié)
總體來說,利用下班時間前前后后花了兩個星期才勉強調(diào)試出來,由于硬件代碼與仿真代碼又不一樣,所以就不展示代碼了,有興趣可以評論區(qū)留言或者私信我 好啦 可以睡覺了!
總結(jié)
以上是生活随笔為你收集整理的基于51单片机设计的交通灯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统的系统命令大全,linux
- 下一篇: 51单片机:设计电子密码锁