最新1602LCD显示秒表汇编汇总_第1页
最新1602LCD显示秒表汇编汇总_第2页
最新1602LCD显示秒表汇编汇总_第3页
最新1602LCD显示秒表汇编汇总_第4页
最新1602LCD显示秒表汇编汇总_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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_LIN

11、E:;清除该行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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论