标题:
51单片机定时器中断实现数码管0-9闪烁汇编程序
[打印本页]
作者:
daniu
时间:
2014-12-27 18:22
标题:
51单片机定时器中断实现数码管0-9闪烁汇编程序
本帖最后由 daniu 于 2014-12-27 18:25 编辑
;============================================================
;程序编写人:兰建
;编写地点:51hei培训机构
;时间:5月23日下午 星期六
;功能:本程序利用定时器中断0方法,实现P0口数码管0-9的闪烁功能
;=======================开始初始化================================
SHUCHU EQU P0 ;定义P0口为输出口
PIANXUAN EQU P2 ;设置P2.0为片选
SHUZI EQU 30H
CISHU EQU 20 ;循环20次数为1秒
MODE EQU 01H
C_BIT BIT 20H.0 ;数码管闪烁标志位设置
;========================程序开始================================
ORG 00H ;程序开始
LJMP START ;跳到START
ORG 0BH ;定时器中断0入口地址
JMP T0_1 ;跳到定时器中断0服务程序
ORG 0030H ;入口地址
START:MOV R5,#CISHU
CALL INIT ;开定时器中断0,设置定时初值
MOV PIANXUAN,#00 ;片选初始化
MOV SHUZI,#00 ;数码管显示初始化
MOV DPTR,#TAB
MOV SHUZI,#00
MOV SP,#30H ;移开指针
;==========================主程序=================================
MAIN:JNB C_BIT,L0 ;判断数码管闪烁标志位,为1数码管点亮,为0灭
MOV A,SHUZI
CALL CHABIAO
CALL XIANSHI
JMP LL
L0:MOV SHUCHU,#0FFH ;数码管灭
LL:JMP MAIN ;返回主程序
;========================中断设置子程序============================
;输入:无
;输出:无
;实现的功能:初始化定时器0,初值设置
;==================================================================
INIT:MOV TMOD,#MODE ;定时器1工作方式1
MOV TL1,#0B0H ;设定时初值
MOV TH1,#3CH
MOV IE,#82H
SETB TR0
RET
;====================定时器中断0服务子程序=========================
;输入:P0
;输出:P0
;实现的功能:定时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"
;实现的功能:把A的数输出到P0口显示
;=============================================================
CHABIAO:MOVC A,@A+DPTR
RET
;========================显示子程序===========================
;输入:"A"
;输出:"P2口"
;实现的功能:把A的数输出到P0口显示
;=============================================================
XIANSHI:MOV SHUCHU,A
RET
;==========================共阳查表数据=============================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;============================程序结束===============================
END
复制代码
作者:
rangjunkai
时间:
2015-10-18 21:52
你好,请问这个有图吗,在proteus里的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1