![]() |
數(shù)碼bai管其實是由發(fā)光二極管組成,有共du陰極和共陽極之分,對于共陽極來說,zhi一位數(shù)碼管由dao8個二極管組成,他們的陽極接在一起接+5v電源,而各個陰極與某個端口,如p1的8個引腳相連,當某個引腳輸出低電平的時候數(shù)碼管對應(yīng)的二極管亮。 用引腳輸出高低電平來控制數(shù)碼管的8個子管的亮滅,達到數(shù)字和小數(shù)點顯示的效果,通常要給每個數(shù)字做一個轉(zhuǎn)換表,以便在編程的時候忽略轉(zhuǎn)換過程,達到快速編程的目的,轉(zhuǎn)換表一般采用枚舉的方式,具體轉(zhuǎn)換數(shù)字和你電路里面的連接方式有關(guān)系,用二進制寫出來,再換算成16進制就好了。 數(shù)碼管,也稱作輝光管,是一種可以顯示數(shù)字和其他信息的電子設(shè)備。玻璃管中包括一個金屬絲網(wǎng)制成的陽極和多個陰極。大部分數(shù)碼管陰極的形狀為數(shù)字。管中充以低壓氣體,通常大部分為氖加上一些汞和/或氬。給某一個陰極充電,數(shù)碼管就會發(fā)出顏色光,視乎管內(nèi)的氣體而定,一般都是橙色或綠色。 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
你這個圖數(shù)碼管顯示P0口輸入段碼,顯示數(shù)碼管具體數(shù)字;P2^0--P2^4顯示位碼,就是顯示哪一位數(shù)碼管亮,如果數(shù)碼管位數(shù)多的話可以加一個譯碼器。 |
數(shù)碼管部分使用共陽數(shù)碼管,SMG1、2、3、4分別接數(shù)碼管的第一位至第四位的公共端,然后A、B……G接數(shù)碼管的七個筆畫,DP是小數(shù)點,用排阻把他們上拉到5V電源端使其在所有筆畫在單片機未輸出低電平時保持高電位。和數(shù)碼管的公共端保持一樣的電平,數(shù)碼管不亮。當SGM電平輸出高電平,單片機的P0口輸出對應(yīng)的筆畫輸出低電平,那在數(shù)碼管的筆畫間產(chǎn)生電壓差使數(shù)碼管點亮。 舉例:當SGM1端為高電平,P0口的P0^1 P0^2輸出的是低電平,對應(yīng)數(shù)碼管的第一位的B和C筆畫點亮,那就會在第一位顯示1。比如要顯示數(shù)字3,就要同時點亮A B C D G等5個筆畫的LED,就要P0口的P0^0; P0^1; P0^2; P0^3; P0^6; 輸出低電平。如此類推。 ![]() (圖片來源于網(wǎng)絡(luò)) 對照上邊的數(shù)碼管電路會更好理解些。 另外仿真圖可以工作,但實際使用這樣的接法就有不合理的地方,一般的單片機管腳直接驅(qū)動LED數(shù)碼管電流都供不上,所以在位驅(qū)動的地方一般都會使用三極管擴流。或者使用諸如ULN2003那種驅(qū)動IC對段供電進行驅(qū)動。 ![]() (圖片來源于網(wǎng)絡(luò)) 數(shù)碼管的驅(qū)動有很多種硬件接法,比如245緩沖器,595串轉(zhuǎn)并驅(qū)動……,樓主先理解你自己發(fā)的仿真電路后再行研究。 |
參與人數(shù) 1 | 黑幣 +30 | 收起 理由 |
---|---|---|
![]() | + 30 | 回帖助人的獎勵! |
再補充一下,P0口“不能顯示高電平”【這個說法可能不大準確】(可以仿真的時候看是灰色的),所以需要上拉電阻的幫助。希望有所幫助😅 |
這個數(shù)碼管是共陽極數(shù)碼管,所以寫程序的時候用共陽極數(shù)碼管段碼表(當然也可以用共陰極數(shù)碼管段碼表,只是寫程序的時候需要取反了),數(shù)碼管的更具體原理可以百度,和led其實很像。 A-G和DP是段碼位,用于顯示數(shù)字和字母還有小數(shù)點;1-4是位碼,用于選擇哪個數(shù)碼管亮。兩個合在一起使用需要用到動態(tài)掃描。 動態(tài)掃描簡單的意思就是通過位碼先選擇哪個數(shù)碼管亮,再發(fā)送相應(yīng)的段碼顯示需要顯示的數(shù)字字母及小數(shù)點;通過通過延時來取決于數(shù)碼管閃爍的頻率,只要延時恰當(小于肉眼可以看見的閃爍頻率)即可認為是數(shù)碼管無閃爍。希望能有所幫助😅 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
Powered by 單片機教程網(wǎng)