欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

51單片機做時鐘電路,怎么將輸出的bcd碼轉化為LED顯示?

張吉惟2年前16瀏覽0評論

51單片機做的時鐘通過驅動程序即可將輸出的BCD碼顯示在數碼管上

數碼管顯示是單片機入門必經之路,相信學過單片機的朋友都知道怎么驅動數碼管顯示數字。LED顯示器有LED點陣屏和LED數碼管兩種,數碼管較為簡單,本文給大家分享一下51單片機做的時鐘怎么把BCD碼顯示在數碼管上。

什么是BCD碼?

在單片機程序中,我們通常用十六進制數為進行計算,比如十六進制數0x11轉換為十進數是17。而BCD碼(Binary-CodedDecimal?),則是用4位的二進制數來表示1位十進制數中的0~9這10個數字,在LED顯示中我們用的通常是8421的BCD碼,比如0x12表示為12

當時鐘為10:59分時,記憶小時的內存為0x10,記憶分鐘的內存則為0x59,在驅動數碼管顯示時,只要把高4位的數字顯示在數碼管的十位,低4位的數字顯示在數碼管的個位就可以的。

數碼管是怎么顯示數字的?

數碼管其實由7個LED排列成一個“8”字,再加上又下方的LED作為小數點,只要按照數字的樣子點亮對應的LED就可以了,比如點亮A,B,C,D,G這幾個位置的LED就可以顯示出數字“3”了。A,B,C,D,E,F,G,DP的位置是數碼管的行業規則,大家就按這個位置順序去驅動就可以了。

數碼管分共陰和共陽兩種,內部LED的公共腳為負極的稱為共陰,內部LED的公共腳為正極的稱為共陽。

再來看看兩位的位數的數碼管,兩位的數碼管其實就是兩個“8”,剛好可以用于顯示時鐘的小時或者分鐘。兩個數字的數碼管會有兩個公共引腳,而兩個數字相同段畫的引腳是連接在一起的。

單片機怎么驅動數碼顯示數字?

首先單片機需要通過驅動電路連接數碼管,以兩位共陽數碼管為例,需要用到十個IO和兩個PNP型的三極管進行驅動。兩個IO負責兩個數字的公共引腳Dig1和Dig2,八個IO負責A,B,C,D,E,F,G,DP這些段畫的引腳。

因為兩個數字A,B,C,D,E,F,G,DP這些段畫的引腳是連接在一起的,所以需要進行分時顯示。比如要顯示數字“12”,則要先讓Q2導通,Q1截止,讓B,C兩個段畫顯示,則第一個數字就會顯示“1”了,接著讓Q1導通,Q2截止,讓A,B,D,E,G五個段畫顯示,第兩個數字就會顯示“2”了,因為人的視覺系統是有暫留性的,只要以較高的頻率(>50Hz)對這個數字進行刷新,我們就會看到“12”兩個數字了。

我們還可以用BCD譯碼器芯片(74HC4511)來驅動數碼管,這種方法更為簡單,只要往譯碼器芯片寫BCD碼的值,數碼管就可以顯示對應的數字了。

@電子產品設計方案,一起享受分享與學習的樂趣!關注我,成為朋友,一起交流一起學習

  • 記得點贊和評論哦!非常感謝!