不亮的點陣

爲什麼兩個點陣只亮一個呢?可能的原因:

 1、主函數寫錯了。

2、74hc595的驅動函數錯了。

3、電路圖畫錯了。

4、proteus的bug。

 

    困擾了我幾天的問題現在解決了,原因是電路圖錯了。我用複用的P0(AD0~AD7)口作爲74hc595的使能端,這是錯誤的,而改用普通的P1口後就行了。這是什麼原因呢?

    某人的回答:

     由於P0口內部沒有上拉電阻,是開漏的,不管它的驅動能力多大,相當於它是沒有電源的,需要外部  的電路提供,絕大多數情況下P0口是必需加上拉電阻的。
1.一般51單片機的P0口在作爲地址/數據複用時不接上拉電阻。
2.作爲一般的I/O口時用時,由於內部沒有上拉電阻,故要接上上拉電阻!!
3.當p0口用來驅動PNP管子的時候,就不需要上拉電阻,因爲此時的低電平有效;
4.當P0口用來驅動NPN管子的時候,就需要上拉電阻的,因爲此時只有當P0爲1時候,才能夠使後級端導通。
簡單一點說就是它要驅動LCD顯示屏顯示就必須要有電源驅動,否則亮不了,而恰好P0口沒有電源,所以就要外接電源,接上電阻是起到限流的作用;如果接P1、P2、P3端口就不用外接電源和電阻了。

    

   

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章