资源描述:
《片机定时汇编程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、;******************;;定时器程序;;采用89c51;;2001.10;;******************;;;******************;伪定义;;******************SLEQU30H;SL存放秒的个位数SHEQU31H;SH存放秒的十位数MLEQU32H;ML存放分的个位数MHEQU33H;MH存放分的十位数HLEQU34H;HL存放时的个位数HHEQU35H;HH存放时的十位数;L0EQU36H;L0~L3:显示数据存储器L1EQU37HL2EQU38HL3EQU39HDSPLYPEQU3AH;
2、显示数据指针(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
3、;发光管状态位BELLBITP1.7;蜂鸣器SWITCHBITP3.7;继电器FKEYBITP3.0;功能键(S1)MKEYBITP3.1;修改键(S2);WORKINBIT38H;工作状态指示位;;******************;中断入口;;******************ORG0000HSTART:LJMPMAIN;0000H引向主程序LJMPERR;0003HNOPNOPLJMPERR;引向出错处理程序LJMPPGT0;000BH引向中断处理程序PGT0NOPNOPLJMPERR;引向出错处理程序LJMPERR;0013HINT1N
4、OPNOPLJMPERRLJMPERR;001BHT1NOPNOPLJMPERRLJMPERR;0023HNOPNOPLJMPERRLJMPERR;002BHNOPNOP;;************;主程序;;************MAIN:MOVIE,#00H;关中断MOVSP,#57H;设置堆栈指针MOVPSW,#00H;选用寄存器组0MOVTMOD,#11H;设定中断工作方式为T0和T1;MOVA,56HCJNEA,#0AAH,CSTART;判上电复位标志,无标志转冷启动MOVA,57HCJNEA,#55H,CSTART;无标志转冷启动AJ
5、MPHSTART;有上电复位标志转热启动NOPNOPLJMPERR;软件陷阱,引向出错处理程序CSTART:MOVP1,#0FFH;冷启动,全面初始化MOVP3,#0FFHMOVTCON,#00H;计时停止MOVTL0,#0B0H;赋中断T0初值MOVTH0,#3CHMOVTCOUNT,#0AH;赋定时器初值MOVR5,#00H;R5为一空单元(备用)MOVR4,#00H;R4为工作模式选择寄存器MOVSL,#00H;定时单元清零MOVSH,#00H;秒MOVML,#00H;MOVMH,#00H;分MOVHL,#00H;MOVHH,#00H;时MO
6、VPLYTS,#64H;赋显示次数初值为100次MOVDSPLYP,#L0;显示指针指向显存单元MOVL0,#0AH;送显示数据"-----"MOVL1,#0AHMOVL2,#0AHMOVL3,#04HSETBLED4;LED4为数码管之间的发光二极管SETBLPLMOD;设定显示方式为闪烁SETBHPLMOD;SETBBRIGHT;允许显示CLRWORKIN;清工作标志,待命AJMPSETUP;转开始工作NOPNOPLJMPERR;软件陷阱HSTART:MOVSCON,#00H;有上电标志,热启动,清串行口控制寄存器MOVIP,#00H;清中断优
7、先控制寄存器SETBFKEY;重设按键SETBMKEYSETBEA;开中断AJMPBEGIN;转向继续工作NOPNOPLJMPERR;软件陷阱SETUP:SETBEA;开中断;MAIN1:ACALLDISPLY;调用显示JBFKEY,JUDGE;按键扫描ACALLKEYDLY;延时消抖动JBFKEY,JUDGE;无键按下转向判断是否到点CLRET0;功能键被按下,则CLRTR0;暂停计时ACALLMENU;调用菜单设置程序BEGIN:SETBWORKIN;置工作标志位,开始工作SETBET0;开中断SETBTR0;开始计时MOVA,R4;移入工作模
8、式选择RLA;指针放大MOVDPTR,#M_TABJMP@A+DPTR;根据工作模式跳转到相应程序段M_TAB:AJMPW