最新51单片机定时汇编程序.docx
- 文档编号:1969029
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:23
- 大小:21.37KB
最新51单片机定时汇编程序.docx
《最新51单片机定时汇编程序.docx》由会员分享,可在线阅读,更多相关《最新51单片机定时汇编程序.docx(23页珍藏版)》请在冰豆网上搜索。
最新51单片机定时汇编程序
51单片机定时汇编程序
;******************;
;定时器程序;
;采用89c51;
;2001.10;
;******************;
;
;******************
;伪定义;
;******************
SLEQU30H;SL存放秒的个位数
SHEQU31H;SH存放秒的十位数
MLEQU32H;ML存放分的个位数
MHEQU33H;MH存放分的十位数
HLEQU34H;HL存放时的个位数
HHEQU35H;HH存放时的十位数
;
L0EQU36H;L0~L3:
显示数据存储器
L1EQU37H
L2EQU38H
L3EQU39H
DSPLYPEQU3AH;显示数据指针(DISPLAY-POINT)
PLYTSEQU3BH;显示次数计数器(DISPLAY-TIMES)
;
LPLMODBIT39H;低两位显示方式(LOW-PLAY-MOD)
HPLMODBIT3AH;高两位显示方式(HIGH-PLAY-MOD)
BRIGHTBIT3BH;DISPLAY子程序参数:
亮灭指示位
;
TCOUNTEQU3CH;时间计数器(TIME-COUNT)
;
ADDRESEQU3DH;加1子程序参数
MAXEQU3EH;加1子程序参数
IFDECBIT20H;BCD加法子程序参数
;
R_MODEQU3FH;响铃方式参数
;
LED4BIT30H;发光管状态位
BELLBITP1.7;蜂鸣器
SWITCHBITP3.7;继电器
FKEYBITP3.0;功能键(S1)
MKEYBITP3.1;修改键(S2)
;
WORKINBIT38H;工作状态指示位
;
;******************
;中断入口;
;******************
ORG0000H
START:
LJMPMAIN;0000H引向主程序
LJMPERR;0003H
NOP
NOP
LJMPERR;引向出错处理程序
LJMPPGT0;000BH引向中断处理程序PGT0
NOP
NOP
LJMPERR;引向出错处理程序
LJMPERR;0013HINT1
NOP
NOP
LJMPERR
LJMPERR;001BHT1
NOP
NOP
LJMPERR
LJMPERR;0023H
NOP
NOP
LJMPERR
LJMPERR;002BH
NOP
NOP
;
;************
;主程序;
;************
MAIN:
MOVIE,#00H;关中断
MOVSP,#57H;设置堆栈指针
MOVPSW,#00H;选用寄存器组0
MOVTMOD,#11H;设定中断工作方式为T0和T1
;
MOVA,56H
CJNEA,#0AAH,CSTART;判上电复位标志,无标志转冷启动
MOVA,57H
CJNEA,#55H,CSTART;无标志转冷启动
AJMPHSTART;有上电复位标志转热启动
NOP
NOP
LJMPERR;软件陷阱,引向出错处理程序
CSTART:
MOVP1,#0FFH;冷启动,全面初始化
MOVP3,#0FFH
MOVTCON,#00H;计时停止
MOVTL0,#0B0H;赋中断T0初值
MOVTH0,#3CH
MOVTCOUNT,#0AH;赋定时器初值
MOVR5,#00H;R5为一空单元(备用)
MOVR4,#00H;R4为工作模式选择寄存器
MOVSL,#00H;定时单元清零
MOVSH,#00H;秒
MOVML,#00H;
MOVMH,#00H;分
MOVHL,#00H;
MOVHH,#00H;时
MOVPLYTS,#64H;赋显示次数初值为100次
MOVDSPLYP,#L0;显示指针指向显存单元
MOVL0,#0AH;送显示数据"-----"
MOVL1,#0AH
MOVL2,#0AH
MOVL3,#04H
SETBLED4;LED4为数码管之间的发光二极管
SETBLPLMOD;设定显示方式为闪烁
SETBHPLMOD;
SETBBRIGHT;允许显示
CLRWORKIN;清工作标志,待命
AJMPSETUP;转开始工作
NOP
NOP
LJMPERR;软件陷阱
HSTART:
MOVSCON,#00H;有上电标志,热启动,清串行口控制寄存器
MOVIP,#00H;清中断优先控制寄存器
SETBFKEY;重设按键
SETBMKEY
SETBEA;开中断
AJMPBEGIN;转向继续工作
NOP
NOP
LJMPERR;软件陷阱
SETUP:
SETBEA;开中断
;
MAIN1:
ACALLDISPLY;调用显示
JBFKEY,JUDGE;按键扫描
ACALLKEYDLY;延时消抖动
JBFKEY,JUDGE;无键按下转向判断是否到点
CLRET0;功能键被按下,则
CLRTR0;暂停计时
ACALLMENU;调用菜单设置程序
BEGIN:
SETBWORKIN;置工作标志位,开始工作
SETBET0;开中断
SETBTR0;开始计时
MOVA,R4;移入工作模式选择
RLA;指针放大
MOVDPTR,#M_TAB
JMP@A+DPTR;根据工作模式跳转到相应程序段
M_TAB:
AJMPWORK1
AJMPWORK2
AJMPWORK3
AJMPWORK4
NOP
NOP
LJMPERR;软件陷阱
WORK1:
;
WORK2:
CLRSWITCH;工作方式1和2:
开继电器
AJMPMAIN2
NOP
NOP
LJMPERR;软件陷阱
WORK3:
;
WORK4:
SETBSWITCH;工作方式3和4:
不开继电器
MAIN2:
CLRBELL;蜂鸣器短鸣一声,以示开始工作
ACALLDL05S
SETBBELL
JUDGE:
JNBWORKIN,MAIN1;判断是否在定时之中
MOVA,SL;判断秒是否为零
JNZMAIN1
MOVA,SH;判断秒是否为零
JNZMAIN1
MOVA,ML;判断分是否为零
JNZMAIN1
MOVA,MH;判断分是否为零
JNZMAIN1
MOVA,HL;判断时是否为零
JNZMAIN1
MOVA,HH;判断时是否为零
JNZMAIN1;若时分秒全为零则
CLRET0;停止计时
CLRTR0;
ACALLACTION;调用到点工作子程序
AJMPMAIN;返回
NOP
NOP
LJMPERR;软件陷阱
;
;******************
;倒计时程序;
;******************
PGT0:
CLREA;关中断
PUSHACC;保护现场
PUSHPSW
PUSHDPL
PUSHDPH
MOVPSW,#08H;选用寄存器组1
CLRTR0;暂停计时
MOVA,#0B7H;中断同步修正
ADDA,TL0
MOVTL0,A
MOVA,#3CH
ADDA,TH0
MOVTH0,A
SETBTR0;恢复计时
DECTCOUNT;定时器T0每50000毫秒溢出一次,则
MOVA,TCOUNT;溢出10次为0.5秒
JNZOUTT0;判断是否到半秒
MOVTCOUNT,#0AH;
CPLLED4;若到半秒LED取反
JNBLED4,OUTT0;LED每闪烁一次是一秒
MOVR0,#SH;移入秒位的地址
SETBIFDEC;BCD子程序参数,使其做减法
ACALLADDBCD;调用BCD子程序,秒减1
CJNER3,#99H,OUTT0;判断秒要否借位
MOVSH,#05H;要借位则
MOVSL,#09H;送数据59(否则显示99)
MOVR0,#MH;移入分位的地址
ACALLADDBCD;分减1
CJNER3,#99H,OUTT0;判断分要否借位
MOVMH,#05H
MOVML,#09H
MOVR0,#HH
ACALLADDBCD
OUTT0:
POPDPH;恢复现场
POPDPL
POPPSW
POPACC
SETBEA
RETI;中断返回
NOP
NOP
LJMPERR;软件陷阱
;
;
;**************************
;BCD子程序(加1或减1);
;**************************
ADDBCD:
MOVA,@R0;移入被操作数的高位
DECR0;指针减一
SWAPA
ORLA,@R0;移入被操作数的低位
MOVB,#01H;B寄存器送立即数#01H
MOVC,IFDEC;若减法标志位为1,则
MOVB.3,C;
MOVB.4,C;B寄存器的值被改为#99H
MOVB.7,C;
ADDA,B;对一个压缩的BCD码加#99H等于对其减一
DAA;BCD码调整
MOVR3,A;暂存结果
ANLA,#0FH;取低位码
MOV@R0,A;存数
MOVA,R3;取回结果
INCR0;指针加一
SWAPA;交换
ANLA,#0FH;取结果数的高位
MOV@R0,A;存数
RET
NOP
NOP
LJMPERR;软件陷阱
;
;**************
;加1程序;
;**************
ADDONE:
MOVR0,ADDRES;移入被加数单元的地址
CLRIFDEC;设定BCD子程序做加法
ACALLADDBCD;调用BCD子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 51 单片机 定时 汇编程序