新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机定时中断数码管程序

单片机定时中断数码管程序

作者:时间:2013-04-03来源:网络收藏

; ---- 目的:学习查表及间接寻址
;完整代码下载地址: http://www.51hei.com/f/smysh.rar
CHIP SN8F27E65
//{{SONIX_CODE_OPTION
.Code_Option WDT_CLK Flosc/4
.Code_Option Reset_Pin P04
.Code_Option LVD LVD_Max ; 3.3V Reset
.Code_Option Watch_Dog Disable ;关闭看门狗
.Code_Option Low_Fcpu Flosc/1
.Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator
.Code_Option High_Fcpu Fhosc/1
.Code_Option Security Enable
.Code_Option Noise_Filter Enable
//}}SONIX_CODE_OPTION
DATAC EQU P4M
DATA EQU P4
LEDC EQU P0M
LED EQU P0

.DATA;数据
ORG 0
TEMP DS 1
ACCBUF DS 1
PflagBUF DS 1

.CODE;程序代码
ORG 0000H
JMP A0
ORG 000BH
JMP T0
; ORG 0015H
A0: B0BCLR FT0IEN;关闭T0中断
B0BCLR FT0ENB;禁止T0中断
MOV A,#16;设置T0时钟
B0MOV T0M,A;
MOV A,#16;装初值
B0MOV T0C,A;
B0BCLR FT0IRQ;清中断标志
B0BSET FT0IEN;开T0中断
B0BSET FT0ENB;允许T0中断
B0BSET FGIE;开总中断

MOV A,#3;显示值
MOV 41H,A

MOV A,#2;显示值
MOV 42H,A
MOV A,#1;显示值
MOV 43H,A
MOV A,#0;显示值
MOV 44H,A
;*********************************************
;显示设置
;*********************************************
A1: MOV A,#11111110B ;显示位码
MOV 31H,A
MOV A,#4;显示位数
MOV 33H,A
B0MOV H,#0 ; 清“H”以寻址RAM bank 0。
B0MOV L,#41H ; 设定寄存器地址。
JMP $
;*********************************************
;T0中断
;*********************************************
T0: B0BCLR FT0IEN;关T0中断
B0BCLR FT0ENB;禁止T0中断
B0XCH A,ACCBUF;压栈
B0MOV A,PFLAG;
B0MOV PFLAGBUF,A;
MOV A,#0FFH;清显示
B0MOV DATAC,A;
B0MOV DATA,A;
MOV A,#0FFH;
B0MOV LEDC,A;
MOV A,#0FFH;
B0MOV LED,A;
T1:
MOV A,#0FFH;设置为输出口
B0MOV DATAC,A;
B0MOV Y,#Q1$M;编码表地址
B0MOV Z,#Q1$L;编码表地址
B0MOV A, @HL;间接寻址
ADD Z,A;寻找要显示编码
MOVC ;查表高八位存在R低八位存在ACC
B0MOV DATA,A;数据输出


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭