秒表程序 汇编语言

秒表程序 汇编语言

ID:11835504

大小:50.50 KB

页数:7页

时间:2018-07-14

秒表程序  汇编语言_第1页
秒表程序  汇编语言_第2页
秒表程序  汇编语言_第3页
秒表程序  汇编语言_第4页
秒表程序  汇编语言_第5页
资源描述:

《秒表程序 汇编语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、;定义计时单元地址HOUREQU30H;存放小时变量MINEQU31H;存放分钟变量SECEQU32H;存放秒钟变量DEDAEQU33H;存放10ms计数值;按键端口状况值K1_NEQU34H;存放按键当前端口状况值K1_PEQU35H;存放按键上次端口状况值K1_CEQU37H;存放按键计数单元XEQU36H;LCD地址变量;按键引脚定义K1EQUP3.3;按键1引脚定义K2EQUP3.4;按键2引脚定义;LCD引脚定义RSEQUP3.5;LCDRS引脚定义RWEQUP3.6;LCDRW引脚定义EEQUP3.7;LCDRS引脚定义ORG0000

2、H;程序由地址0开始执行JMPMAINORG0BH;定时器0中断地址设置JMPT0_INT;―――――――――――――主程序――――――――――――――MAIN:;开始MOVSP,#60H;堆栈指针指向60HCLRE;E=0,禁止读/写LCMACALLSET_LCD;调LCD控制子程序ACALLINIT;初始化变量MOVK1_P,#01H;按键上次端口设置1ACALLINIT_TIMER;初始化定时器ACALLMEU;调用工作菜单子程序LOOP:ACALLCONV;时间计数处理ACALLLOOP1;调用清零键子程序ACALLKEY;判断是否有键按

3、下JZLOOP;无键按下转LOOPMOVK1_P,K1_N;交换数据ACALLKEY0;调用按键功能子程序JMPLOOP;跳LOOP处循环;初始变量清零子程序INIT:;初始变量清零CLRA;A清为零MOVK1_C,A;K1_C初始为0MOVDEDA,A;DEDA初始为0MOVSEC,A;SEC初始为0MOVMIN,A;MIN初始为0MOVHOUR,A;HOUR初始为0MOVK1_N,A;K1_N初始为0MOVK1_P,A;K1_P初始为0CLRTR0;启动中断RET;定时器初始化设置子程序INIT_TIMER:;定时器初始化MOVTMOD,#0

4、1H;定时器0模式1MOVIE,#10000010B;开通中断RET;中断服务程序T0_INT:;定时器T0中断程序PUSHACC;入栈保护INCDEDAMOVA,DEDA;10ms计数值加1CJNEA,#100,TTMOVDEDA,#0INCSEC;秒加1MOVA,SECCJNEA,#60,TTINCMIN;分加1MOVSEC,#0MOVA,MINCJNEA,#60,TTINCHOUR;时加1MOVMIN,#0MOVA,HOURCJNEA,#24,TTMOVDEDA,#0MOVSEC,#0;秒、分、时单元清0MOVMIN,#0MOVHOUR,#

5、0TT:POPACC;出栈RETI;中断程序返回;判断键是否按下子程序LOOP1:JBK2,LOOP2;判清零键是否按下JMPMAIN;跳转主程序处LOOP2:RET;判断K1键是否按下KEY:CLRA;A清零MOVK1_N,A;A值送入K1_NMOVC,K1;K1值送入CRLCA;同进位标志左移一位ORLK1_N,A;两个位作逻辑OR运算MOVA,K1_N;K1_N值送入AXRLA,K1_P;有键按下,A中内容不为零RET;K1键第一次按功能子程序KEY0:MOVA,K1_P;K1_P值送入AJBACC.0,KEY3;A的0位是1,转KEY3I

6、NCK1_C;K1_C加1MOVA,K1_C;K1_C值送入ACJNEA,#01H,KEY1;K1键是否第一次按?MOVDPTR,#MENU1;是,存入MENU1信息MOVA,#1;设置第一行显示CALLLCD_PRINT;调用显示字符子程序SETBTR0;启动中断RET;K1键第二次按功能子程序KEY1:MOVA,K1_C;K1_C值送入ACJNEA,#02H,KEY2;K1键是否第二次按?MOVDPTR,#MENU2;是,存入MENU2信息MOVA,#1;设置第一行显示CALLLCD_PRINT;调用显示字符子程序CLRTR0;停止中断RET

7、;;K1键第三次按功能子程序KEY2:MOVA,K1_C;K1_C值送入ACJNEA,#03H,KEY3;K1键是否第三次按?MOVDPTR,#MENU3;是,存入MENU3信息MOVA,#1;设置第一行显示CALLLCD_PRINT;调用显示字符子程序SETBTR0;启动中断RET;K1键第四按功能子程序KEY3:MOVA,K1_C;K1_C值送入ACJNEA,#04H,KEY4;K1键是否第四次按?MOVDPTR,#MENU4;是,存入MENU4信息MOVA,#1;设置第一行显示CALLLCD_PRINT;调用显示字符子程序CLRTR0;启动

8、中断KEY4:RET;子程序返回;―――――――――――――LCD显示――――――――――――――;LCD控制子程序SET_LCD:;C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。