標(biāo)題:
51單片機(jī)定時(shí)器中斷實(shí)現(xiàn)數(shù)碼管0-9閃爍匯編程序
[打印本頁(yè)]
作者:
daniu
時(shí)間:
2014-12-27 18:22
標(biāo)題:
51單片機(jī)定時(shí)器中斷實(shí)現(xiàn)數(shù)碼管0-9閃爍匯編程序
本帖最后由 daniu 于 2014-12-27 18:25 編輯
;============================================================
;程序編寫人:蘭建
;編寫地點(diǎn):51hei培訓(xùn)機(jī)構(gòu)
;時(shí)間:5月23日下午 星期六
;功能:本程序利用定時(shí)器中斷0方法,實(shí)現(xiàn)P0口數(shù)碼管0-9的閃爍功能
;=======================開始初始化================================
SHUCHU EQU P0 ;定義P0口為輸出口
PIANXUAN EQU P2 ;設(shè)置P2.0為片選
SHUZI EQU 30H
CISHU EQU 20 ;循環(huán)20次數(shù)為1秒
MODE EQU 01H
C_BIT BIT 20H.0 ;數(shù)碼管閃爍標(biāo)志位設(shè)置
;========================程序開始================================
ORG 00H ;程序開始
LJMP START ;跳到START
ORG 0BH ;定時(shí)器中斷0入口地址
JMP T0_1 ;跳到定時(shí)器中斷0服務(wù)程序
ORG 0030H ;入口地址
START:MOV R5,#CISHU
CALL INIT ;開定時(shí)器中斷0,設(shè)置定時(shí)初值
MOV PIANXUAN,#00 ;片選初始化
MOV SHUZI,#00 ;數(shù)碼管顯示初始化
MOV DPTR,#TAB
MOV SHUZI,#00
MOV SP,#30H ;移開指針
;==========================主程序=================================
MAIN:JNB C_BIT,L0 ;判斷數(shù)碼管閃爍標(biāo)志位,為1數(shù)碼管點(diǎn)亮,為0滅
MOV A,SHUZI
CALL CHABIAO
CALL XIANSHI
JMP LL
L0:MOV SHUCHU,#0FFH ;數(shù)碼管滅
LL:JMP MAIN ;返回主程序
;========================中斷設(shè)置子程序============================
;輸入:無(wú)
;輸出:無(wú)
;實(shí)現(xiàn)的功能:初始化定時(shí)器0,初值設(shè)置
;==================================================================
INIT:MOV TMOD,#MODE ;定時(shí)器1工作方式1
MOV TL1,#0B0H ;設(shè)定時(shí)初值
MOV TH1,#3CH
MOV IE,#82H
SETB TR0
RET
;====================定時(shí)器中斷0服務(wù)子程序=========================
;輸入:P0
;輸出:P0
;實(shí)現(xiàn)的功能:定時(shí)1S后P0口取反
;===================================================================
T0_1:MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R5,L1
CPL C_BIT
JB C_BIT,L2
INC SHUZI
MOV A,SHUZI
CJNE A,#10,L2
MOV SHUZI,#00
L2:MOV R5,#CISHU
L1:RETI
;========================查表子程序===========================
;輸入:"DPTR"
;輸出:"A"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;=============================================================
CHABIAO:MOVC A,@A+DPTR
RET
;========================顯示子程序===========================
;輸入:"A"
;輸出:"P2口"
;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
;=============================================================
XIANSHI:MOV SHUCHU,A
RET
;==========================共陽(yáng)查表數(shù)據(jù)=============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;============================程序結(jié)束===============================
END
復(fù)制代碼
作者:
rangjunkai
時(shí)間:
2015-10-18 21:52
你好,請(qǐng)問(wèn)這個(gè)有圖嗎,在proteus里的
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1