版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1602LCD显示秒表汇编精品资料/*/K2=P3.3 K4=P3.5仅供学习与交流,如有侵权请联系网站删除 谢谢5*1602LCD显示秒表*K2 -控制按键*按一下计时,再按一下暂停计时 *K4 -清零按键:*在任何状态下,按一下K4,均可清零。*;晶振 11.0592M ;定时器0,方式1;计时中断程序每隔10ms中断一次TLOWEQU0CH;定时器初值THIGHEQU0DCHHOUREQU30HMIN EQU 31HSEC EQU 32HSEC0 EQU 33H;10msi+数值KEYD EQU 34H;为键当前的端口状况KEYS EQU 35H;为键上次的端口状况X EQU 36H ;
2、LCD地址变量KEY_C EQU 37H;键计数单元;K1 EQU P3.2K2 EQU P3.3;K3 EQU P3.4K4 EQU P3.5BEEP EQU P2.4RS EQU P3.5 ;LCD控制端口定义RW EQU P3.6EN EQU P3.7JORG 0000HJMP STARTORG 0BHJMP T0_INT ;START: MOV R3,#00HMOV SP,#60HCLR ENCALL SET_LCDCALL INIT;初始化变量MOV KEY_S,#01HCALL INIT_TIMER ;初始化定时器;CALL MENU LOOP: CALL CONV ;时间计数处理
3、CALL SKEYMOV KEY_S,KEY_DJZ XPMOV A, KEY_SJB ACC.0,XPCLR AMOV B,AINC R3MOV A,R3MOV B,#2 DIV AB MOV A,BCALL BZ JZ XPPSETB TR0启动中断MOV DPTR,#MADJ ;显示执行信息CALL P_KEY SJMP XPXPP:CLR TR0MOV DPTR,#MADJ1 CALL P_KEYXP:JB K4,LOOP;判清零键是否按?MOV R3,#00H CALL BZ JMP STARTJP_KEY: MOV A,#1;第一行显示CALL LCD_PRINT RET ;SKE
4、Y: CLR A;判是否有键按下子程序MOV KEY_D,AMOV C,K2RLC AORL KEY_D,AMOV A,KEY_DXRL A,KEY_S;有键按下,A中内容不为零RET;LMESS1: DB "",0 ;LCD 第一行显示消息;LMESS2: DB "TIME ",0 ;LCD 第二行显示消息 ;INIT: CLR A;初始化控制变量MOV SEC0,AMOV SEC,AMOV MIN,AMOV HOUR,AMOV KEY_D,AMOV KEY_S,ASETB BEEPCLR TR0RET;INIT_TIMER:;初始化定时器接口MOV
5、TMOD,#01H;设置定时器0工作模式为模式1MOV IE, #82H;启用定时器0中断产生MOV TL0,#TLOWMOV TH0,#THIGH RET ;T0_INT:PUSH ACC定时器0计时中断程序MOV TL0,#TLOWMOV TH0,#THIGHINC SEC0MOV A,SEC0;10ms 计数值力口 1CJNE A,#100,TTMOV SEC0,#0INC SEC秒力口 1MOV A,SEC CJNE A,#60,TTINC MIN ;分加 1MOV SEC,#0MOV A,MIN CJNE A,#60,TTINC HOUR ;时力口 1MOV MIN,#0MOV A,
6、HOURCJNE A,#24,TTMOV SEC0,#0MOV SEC,#0 渺、分、时单元清0MOV MIN,#0MOV HOUR,#0TT: POP ACC RETI ;;在第二行显示数字 ;SHOW_DIG2:;在LCD的第二行显示数字MOV B,#10;设置被除数DIV AB ;结果A存商数,B存余数ADD A,#30H;A为十位数,转换为字符PUSH B;B放入堆栈暂存MOV B,X ;设置LCD显示的位置CALL LCDP2 ;由LCD显示出来POP B ;MOV A,B ;B为个位数ADD A,#30H;转换为字符INC X ;LCD显示位置加1MOV B,X ;设置LCD显示的
7、位置CALL LCDP2 ;由LCD显示出来RET;;转换为ASCII码并显示;CONV:MOV A,HOUR;加载小时数据精品资料MOV X,#5;设置位置CALL SHOW_DIG2 ;显示数据INC X ;MOV A,#':'MOV B,X;CALL LCDP2 ;MOV A,MIN ;加载分钟数据INC X;设置位置CALL SHOW_DIG2 ;显示数据INC X;MOV A,#':'MOV B,X;CALL LCDP2 ;MOV A,SEC;加载秒数数据INC X ;设置位置CALL SHOW_DIG2 ;显示数据INC X ;MOV A,#'
8、;:'MOV B,X;CALL LCDP2;MOV A,SEC0;加载秒数数据INC X;设置位置CALL SHOW_DIG2 RET;;LCD CONTROL;SET_LCD:;对LCD做初始化设置及测试CLR ENCALL INIT_LCD ;初始化 LCDMOV R5,#10 CALL DELAYMOV DPTR,#MMENU ;指针指到显示消息1MOV A,#1;显示在第一行CALL LCD_PRINTMOV DPTR,#SLF甘旨针指到显示消息2MOV A,#2;显示在第二行CALL LCD_PRINT RET ;INIT_LCD1:;LCD控制指令初始化MOV A,#38H
9、;双列显示,字形5*7点阵CALL WCOM ; call delay1MOV A,#0CH;开显示,显示光标,光标不闪烁CALL WCOM;call delay1MOV A,#01H;清除LCD显示屏CALL WCOM ; call delay1 RET ;ENABLE:;写指令CLR RS$=1亚=1£=高脉冲CLR RW;D0-D7=指令码SETB ENACALL DELAY1CLR EN RET ;LCD_PRINT:;在LCD的第一行或第二行显示字符CJNE A,#1,LINE2 ;判断是否为第一行LINE1: MOV A,#80H;设置LCD的第一行地址CALL WCOM
10、 ;写入命令CALL CLR_LINE ;清除该行字符数据MOV A,#80H;设置LCD的第一行地址CALL WCOM ;写入命令JMP FILLLINE2: MOV A,#0C0H;设置LCD的第二行地址CALL WCOM ;写入命令CALL CLR_LINE ;清除该行字符数据MOV A,#0C0H;设置LCD的第二行地址CALL WCOM FILL: CLR A;填入字符MOVC A,A+DPTR ;由消息区取出字符CJNE A,#0,LC1 ;判断是否为结束码RETLC1: CALL WDATA ;写入数据INC DPTR;指针加1JMP FILL;继续填入字符RET ;CLR_LI
11、NE:;清除该行LCD的字符MOV R0,#16CL1: MOV A,#''CALL WDATA DJNZ R0,CL1 RET ;DE: MOV R7,#250;延时 500 微秒DJNZ R7,$ RET ;EN1: CLR RWSETB EN短脉冲产生启用信号CALL DE CLR EN CALL DE RET ;INIT_LCD:;8位I/O控制LCD接口初始化MOV P1,#38H;双列显示,字形5*7点阵call enable call delay1MOV P1,#38H;双列显示,字形5*7点阵call enable call delay1MOV P1,#38H;
12、双列显示,字形5*7点阵call enable call delay1 CALL INIT_LCD1 RET ;WCOM:;以8位控制方式将命令写至 LCDMOV P1,A;写入命令call enable RET ;WDATA:;以8位控制方式将数据写至LCDMOV P1,A;写入数据SETB RS设置写入数据CALL EN1RET仅供学习与交流,如有侵权请联系网站删除 谢谢9精品资料J;第二行显示字符JLCDP2:;在LCD的第二行显示字符PUSH ACC ;MOV A,B;设置显示地址ADD A,#0C0H;设置LCD的第二行地址CALL WCOM ;写入命令POP ACC由堆栈取出ACALL WDATA ;写入数据RET;DELAY:;延时 10MSMOV R6,#50 D1: MOV R7,#100DJNZ R7,$ DJNZ R6,D1 DJNZ R5,DELAY RET ;DELAY1:;延时 5MSMOV R6,#25 D2: MOV R7,#100DJNZ R7,$ DJNZ R6,D2 RET ;BZ:蜂鸣器MOV R6,#100B1: CALL DEX CPL BEEP DJNZ R6,B1 MOV R5,#10 CALL DELAYRETDEX: MOV R7,#180D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产营销策划 -美的 -义乌 -宝龙世家年度传播方案
- 夫妻离婚股份分割的流程-生活日常
- 西宁-PEP-24年小学英语第五单元测验卷
- 湖南衡阳2025届高三一轮复习好题训练:10月第1周 地理试题(解析版)
- 2025届高三英语二轮复习专项 2024年全国新课标I卷易错题二次开发练习 (含答案)
- 2024年冻土共振柱试验机项目资金筹措计划书代可行性研究报告
- 强化安全管理制度建设-坚持以人为本
- 概念验证服务标准
- Python程序设计实践- 习题及答案 ch05 实验1 数据的输入和输出
- 2025年高考生物总复习试题分类训练:免疫调节(原卷)
- 江苏省苏州市吴中区2024-2025学年八年级上学期期中考试历史卷(含答案)
- 2024-2025学年上学期期中教育学业质量监测九年级历史试卷
- 【2024-2025】学年一上语文期中素养测评基础卷一
- 小儿血液透析的护理
- 广东省江门市新会区崖南镇田边小学2024-2025学年一年级上学期11月期中语文试题
- 主管护师社区护理学考试题库及答案
- 中学学生两操管理办法
- 行政职业能力测试分类模拟题科技常识题
- 人教版(2024新版)七年级上册数学期中模拟检测试卷(含答案)
- 双减下小学数学作业设计的实践研究课题开题报告
- 高级农机修理工技能鉴定考试题及答案
评论
0/150
提交评论