欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)數(shù)碼管靜態(tài)顯示0到9匯編程序
[打印本頁(yè)]
作者:
daniu
時(shí)間:
2014-12-27 18:29
標(biāo)題:
單片機(jī)數(shù)碼管靜態(tài)顯示0到9匯編程序
;============================================================
;程序編寫(xiě)人:蘭建
;編寫(xiě)地點(diǎn):51hei培訓(xùn)機(jī)構(gòu)
;時(shí)間:5月23日下午 星期六
;功能:本程序?qū)崿F(xiàn)P0口的對(duì)數(shù)碼管靜態(tài)顯示0到9;
; 分時(shí)顯示0到5;動(dòng)態(tài)顯示0到9,低電平亮
; P2口實(shí)現(xiàn)對(duì)數(shù)碼管的片選功能
;==========================開(kāi)始初始化============================
SHUCHU EQU P0 ;定義P0口為輸出口
PIANXUAN EQU P2 ;定義P2口為片選口
CISHU EQU 10 ;0-9,共10個(gè)數(shù)字
CISHU1 EQU 6 ;定義片選個(gè)數(shù)
SHUZI EQU 30H ;定義處理數(shù)據(jù)存放地址
ORG 00H ;程序開(kāi)始
LJMP MAIN ;跳到MAIN
ORG 30H ;入口地址
;=========================主程序================================
MAIN:CLR A ;數(shù)碼管顯示初始化
CALL JINGTAI ;靜態(tài)顯示0-9
CLR A ;數(shù)碼管顯示初始化
CALL DONGTAI1 ;分時(shí)顯示123456
CLR A ;數(shù)碼管顯示初始化
CALL DONGTAI2 ;動(dòng)態(tài)顯示0-9
CLR A ;數(shù)碼管顯示初始化
JMP MAIN ;返回MAIN
;=====================靜態(tài)顯示0-9子程序==========================
;輸入:"30H"
;輸出:"P0"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;================================================================
JINGTAI:MOV SHUZI,#00 ;輸出數(shù)據(jù)初始化
MOV PIANXUAN,#00H ;設(shè)置片選
MOV R0,#CISHU ;把查表次數(shù)放R0
MOV DPTR,#TAB ;查表初始化
L1:CALL CHABIAO ;查表
CALL DISPLAY ;顯示
MOV R1,#200
L1_0:CALL DELAY ;延時(shí)
DJNZ R1,L1_0
CALL CHULI ;處理
DJNZ R0,L1 ;若R0減一不為0,進(jìn)行下一個(gè)數(shù)字顯示
RET
;=====================分時(shí)顯示123456子程序======================
;輸入:"30H"
;輸出:"P0"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;===============================================================
DONGTAI1:MOV SHUZI,#00 ;輸出數(shù)據(jù)初始化
MOV R1,0 ;設(shè)置片選
MOV PIANXUAN,R1
MOV R0,#CISHU1 ;把查表次數(shù)放R0
MOV DPTR,#TAB ;查表初始化
L2:CALL CHABIAO ;查表
CALL DISPLAY ;顯示
MOV R2,#100
L2_0:CALL DELAY ;延時(shí)
DJNZ R2,L2_0
CALL CHULI ;處理
CALL PIANXUANCHULI ;片選處理
DJNZ R0,L2 ;若R0減一不為0,進(jìn)行下一個(gè)數(shù)字顯示
RET
;======================動(dòng)態(tài)顯示0-9子程序=========================
;輸入:"30H"
;輸出:"P0"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;================================================================
DONGTAI2:MOV SHUZI,#00 ;輸出數(shù)據(jù)初始化
MOV DPTR,#TAB ;查表初始化
MOV R3,#CISHU ;把現(xiàn)實(shí)數(shù)字的次數(shù)放在R3
L3_1:MOV R1,#00H ;設(shè)置片選
MOV PIANXUAN,R1 ;片選
CALL CHABIAO ;查表
MOV R2,#50
DD:MOV R0,#CISHU1 ;把查表次數(shù)放R0
L3:CALL DISPLAY ;顯示
CALL PIANXUANCHULI ;片選處理
CALL DELAY ;延時(shí)
DJNZ R0,L3 ;若R0減一不為0,跳轉(zhuǎn)到L1
DJNZ R2,DD ;各數(shù)子之間顯示設(shè)置一定的時(shí)間間隔
CALL CHULI ;處理
DJNZ R3,L3_1 ;若R3不為0,顯示下一個(gè)數(shù)字
RET
;========================處理子程序==============================
;輸入:無(wú)
;輸出:無(wú)
;實(shí)現(xiàn)的功能:把30H地址加1
;================================================================
CHULI:MOV A,SHUZI
INC A
MOV SHUZI,A
RET
;=======================查表子程序===============================
;輸入:"DPTR"
;輸出:"A"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;================================================================
CHABIAO:MOVC A,@A+DPTR
RET
;====================片選處理子程序==============================
;輸入:無(wú)
;輸出:無(wú)
;實(shí)現(xiàn)的功能:把片選數(shù)據(jù)加1
;================================================================
PIANXUANCHULI:INC R1
MOV PIANXUAN,R1
RET
;======================顯示子程序================================
;輸入:"A"
;輸出:"P0口"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;================================================================
DISPLAY:MOV SHUCHU,A
RET
;======================延時(shí)程序==================================
;輸入;無(wú)
;輸出: 無(wú)
;實(shí)現(xiàn)的功能:延時(shí)一段時(shí)間
;================================================================
DELAY:MOV R7,#02H
L6:MOV R6,#002H
L7:MOV R5,#0F8H
L8:DJNZ R5,L8
DJNZ R6,L7
DJNZ R7,L6
RET
;======================共陽(yáng)查表數(shù)據(jù)==============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
復(fù)制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1