單片機學習之八:用數碼管顯示數字
一、 實驗現象
本文引用地址:http://www.104case.com/article/201609/310077.htm讓最右面的數碼管顯示數字2,小數點也顯示。
二、 實驗目的
掌握讓數碼管顯示所需要的數字時,各I/O口的賦值方法
三、 實驗任務分析
前面的試驗我們都是選擇發光二極管作為顯示單元,這個試驗我們要用數碼管作為顯示單元,這時,應該把JMP0跳線置于2、3位置,選擇數碼管顯示。
現在我們來看看電路的連接形式吧,如下圖所示。

從電路圖上可以看到,p0口輸出的是數碼管的段碼,控制數碼管顯示的數字是什么,而p2口輸出的是位碼,控制選通那個數碼管顯示。
那么如果要數碼管顯示2,p0口和p2口應該輸出什么呢?現在我們來分析一下數碼管的發光原理。
數碼管實質是幾個條形的發光二極管構成,有兩種連接方式,分別為共陰極和共陽極連接。如下圖所示:

從圖上我們可以看到,對于共陽極連接的數碼管,要讓它正常顯示,則應該com口接電源,相應的字段是輸出低電平驅動。而對于共陰極連接的數碼管,則com應該接地,相應的字段輸出高電平驅動。
由于該學習板采用的共陽極數碼管,所以欲最右面的S0顯示數字,則P2.0應該輸出高電平,使得S0的com端接高電平,選通S0顯示;要它顯示2,并且小數點也要顯示,則a,b,g,e,d,dp字段輸出低電平,其余字段輸出高電平即可。
同時,由于P0口和各字段對應關系是:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0~d dp e c g b f a,所以我們應該給P0口賦值12h,然后讓P2.0輸出高電平即可。
四、實驗程序如下:
org 0000h;
start: clr p1.5
mov a,#012h ;顯示數字2和外加小數點時,對應的8段碼
mov p0,a ;把8段碼送到P0口
mov P2,#01H ;選通最右面的數碼管顯示
ljmp start
end
五、為方便查閱,各種數字顯示對應P0口的內容如下表所示:

評論