新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)驅(qū)動數(shù)碼管顯示設(shè)計

單片機(jī)驅(qū)動數(shù)碼管顯示設(shè)計

作者: 時間:2013-01-15 來源:網(wǎng)絡(luò) 收藏
點擊瀏覽下一頁
圖6

現(xiàn)在讓我們把目標(biāo)文件"smg1.hex"燒寫到中去,看看實際的效果吧,將ISP編程器硬件連接好(見下圖7)。

點擊瀏覽下一頁
圖7:ISP

將產(chǎn)品配套光盤中的“ISP編程器驅(qū)動軟件”文件夾復(fù)制到你電腦硬盤的D盤根目錄下,并將其目錄下的所有文件的只讀屬性去掉,具體操作如下:全選文件夾中的文件,鼠標(biāo)右鍵單擊出現(xiàn)文件屬性對話框,單擊“只讀”屬性前面復(fù)選框中的勾,使其只讀屬性去掉即可。然后雙擊文件夾中的“ISP編程器驅(qū)動軟件.exe”啟動編程軟件,點擊"文件",在打開文件的對話框中找到工程文件夾中的目標(biāo)文件"smg1.hex"打開即可,然后點擊“AUTORUN”將程序燒寫到內(nèi)部(如下圖8)。

點擊瀏覽下一頁
圖8:將程序燒寫到內(nèi)部

燒寫完成了,把單片機(jī)從編程器中取出,然后插到S51增強(qiáng)型實驗板上,插上USB電源,看看顯示效果是不是和上面圖4顯示一樣,是否有一點點的成就感呀!初學(xué)者也許會問:一個數(shù)字“6”就要15行程序,太復(fù)雜了?的確有點復(fù)雜了,在上面程序中為了顯示數(shù)字“6”,數(shù)碼管的段碼"b"、段碼"dp"輸出的是高電平,其它引腳輸出的是低電平,實際上從單片機(jī)的P0.0~P0.7輸出的是二進(jìn)制碼“10000010”,轉(zhuǎn)換成十六進(jìn)制為82H。因此,我們只要把所有要顯示的數(shù)字和字符的段碼根據(jù)硬件連接編制一個字形表,顯示時直接把相應(yīng)的字形碼送到P0口就可以了。

共陽LED數(shù)碼管字形(段碼)表
顯示數(shù)字
(字符)
P0.7
"dp"
P0.6
"g"
P0.5
"f"
P0.4
"e"
P0.3
"d"
P0.2
"c"
P0.1
"b"
P0.0
"a"
二進(jìn)制代碼
十六進(jìn)制代碼
0
1
1
0
0
0
0
0
0
11000000
C0H
1
1
1
1
1
1
0
0
1
11111001
F9H
2
1
0
1
0
0
1
0
0
10100100
A4H
3
1
0
1
1
0
0
0
0
10110000
B0H
4
1
0
0
1
1
0
0
1
10011001
99H
5
1
0
0
1
0
1
1
0
10010110
92H
6
1
0
0
0
0
0
1
0
10000010
82H
7
1
1
1
1
1
0
0
0
11111000
F8H
8
1
0
0
0
0
0
0
0
10000000
80H
9
1
0
0
1
0
0
0
0
10010000
90H
A
1
0
0
0
1
0
0
0
10001000
88H
B
1
0
0
0
0
0
1
1
10000011
83H
C
1
1
0
0
0
1
1
0
11000110
C6H
D
1
0
1
0
0
0
0
1
10100001
A1H
E
1
0
0
0
0
1
1
0
10000110
86H
F
1
0
0
0
1
1
1
0
10001110
8EH
H
1
0
0
0
1
0
0
1
10001001
89H
O
1
1
0
0
0
0
0
0
11000000
A3H
P
1
0
0
0
0
1
0
0
10000100
8CH
N
1
1
0
0
1
0
0
0
11001000
C8H

從上面表格中可以看到,顯示“6”的十六進(jìn)制段碼值為"82H",因此我們把剛才的程序修改一下,修改后的完整程序如下:

MAIN:MOV P0,#82H ;將數(shù)字"6"的段碼輸出到P0口
 MOV P2,#0FEH;從P2口輸出數(shù)碼管選通代碼,即輸出二進(jìn)制“11111110”
 AJMPMAIN;跳轉(zhuǎn)到開始重新進(jìn)行
 END ;程序結(jié)束

手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉