?? 51+?
字號:
/***************************************************************************
標題: 數碼管的顯示
效果: 顯示1234,從這個例子可以學習多位數碼管的動態顯示技術
本店網站 http://xxdpj.taobao.com/
以芯換心 竭誠為您服務 您學習單片機的好幫手
近期本店有很多優惠活動 有空就進來看看吧
http://xxdpj.taobao.com/
技術支持QQ:412150384
******************************************************************************/
;腳功能定義
SMG_q EQU P1.0 ;定義數碼管陽級控制腳,千位
SMG_b EQU P1.1 ;定義數碼管陽級控制腳,百位
SMG_s EQU P1.2 ;定義數碼管陽級控制腳,十位
SMG_g EQU P1.3 ;定義數碼管陽級控制腳,個位
;數據存放
ORG 0100
TABLE: DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H ;表:共陽數碼管 0-9
ORG 0000H
LJMP MAIN
ORG 0200H
MAIN: MOV DPTR,#TABLE
M1: CLR SMG_q ;選擇千位數碼管
MOV A,#1 ;千位顯示1,顯示數值可以自己改,0-9
MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值到P0口,顯示相應的0-9
MOV P0,A
LCALL DELAY ;延時,停留一會,讓人眼感觸到它的亮度
MOV P0,#0FFH ;清除數碼管顯示,因是共陽型,所以不是0
SETB SMG_q ;關閉千位數碼管
CLR SMG_b ;選擇百位數碼管
MOV A,#2 ;百位顯示2,顯示數值可以自己改,0-9
MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值到P0口,顯示相應的0-9
MOV P0,A
LCALL DELAY ;延時,停留一會,讓人眼感觸到它的亮度
MOV P0,#0FFH ;清除數碼管顯示,因是共陽型,所以不是0
SETB SMG_b ;關閉百位數碼管
CLR SMG_s ;選擇十位數碼管
MOV A,#3 ;十位顯示3,顯示數值可以自己改,0-9
MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值到P0口,顯示相應的0-9
MOV P0,A
LCALL DELAY ;延時,停留一會,讓人眼感觸到它的亮度
MOV P0,#0FFH ;清除數碼管顯示,因是共陽型,所以不是0
SETB SMG_s ;關閉十位數碼管
CLR SMG_g ;選擇個位數碼管
MOV A,#4 ;個位顯示4
MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值到P0口,顯示相應的0-9
MOV P0,A
LCALL DELAY ;延時,停留一會
MOV P0,#0FFH ;清除數碼管顯示
SETB SMG_g ;關閉個位數碼管
LJMP M1 ;循環掃描輸出,不掃描則不顯示或顯示不正確,即為動態顯示,
DELAY: MOV R5,#10 ;此次延時子程序不用很長時間
DJNZ R5,$
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -