最新1602LCD顯示秒表匯編匯總_第1頁
最新1602LCD顯示秒表匯編匯總_第2頁
最新1602LCD顯示秒表匯編匯總_第3頁
最新1602LCD顯示秒表匯編匯總_第4頁
最新1602LCD顯示秒表匯編匯總_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1602LCD顯示秒表匯編精品資料/*/K2=P3.3 K4=P3.5僅供學(xué)習(xí)與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除 謝謝5*1602LCD顯示秒表*K2 -控制按鍵*按一下計時,再按一下暫停計時 *K4 -清零按鍵:*在任何狀態(tài)下,按一下K4,均可清零。*;晶振 11.0592M ;定時器0,方式1;計時中斷程序每隔10ms中斷一次TLOWEQU0CH;定時器初值THIGHEQU0DCHHOUREQU30HMIN EQU 31HSEC EQU 32HSEC0 EQU 33H;10msi+數(shù)值KEYD EQU 34H;為鍵當(dāng)前的端口狀況KEYS EQU 35H;為鍵上次的端口狀況X EQU 36H ;

2、LCD地址變量KEY_C EQU 37H;鍵計數(shù)單元;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 ;時間計數(shù)處理

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 ;顯示執(zhí)行信息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中內(nèi)容不為零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;設(shè)置定時器0工作模式為模式1MOV IE, #82H;啟用定時器0中斷產(chǎn)生MOV TL0,#TLOWMOV TH0,#THIGH RET ;T0_INT:PUSH ACC定時器0計時中斷程序MOV TL0,#TLOWMOV TH0,#THIGHINC SEC0MOV A,SEC0;10ms 計數(shù)值力口 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 ;;在第二行顯示數(shù)字 ;SHOW_DIG2:;在LCD的第二行顯示數(shù)字MOV B,#10;設(shè)置被除數(shù)DIV AB ;結(jié)果A存商數(shù),B存余數(shù)ADD A,#30H;A為十位數(shù),轉(zhuǎn)換為字符PUSH B;B放入堆棧暫存MOV B,X ;設(shè)置LCD顯示的位置CALL LCDP2 ;由LCD顯示出來POP B ;MOV A,B ;B為個位數(shù)ADD A,#30H;轉(zhuǎn)換為字符INC X ;LCD顯示位置加1MOV B,X ;設(shè)置LCD顯示的

7、位置CALL LCDP2 ;由LCD顯示出來RET;轉(zhuǎn)換為ASCII碼并顯示;CONV:MOV A,HOUR;加載小時數(shù)據(jù)精品資料MOV X,#5;設(shè)置位置CALL SHOW_DIG2 ;顯示數(shù)據(jù)INC X ;MOV A,#':'MOV B,X;CALL LCDP2 ;MOV A,MIN ;加載分鐘數(shù)據(jù)INC X;設(shè)置位置CALL SHOW_DIG2 ;顯示數(shù)據(jù)INC X;MOV A,#':'MOV B,X;CALL LCDP2 ;MOV A,SEC;加載秒數(shù)數(shù)據(jù)INC X ;設(shè)置位置CALL SHOW_DIG2 ;顯示數(shù)據(jù)INC X ;MOV A,#'

8、:'MOV B,X;CALL LCDP2;MOV A,SEC0;加載秒數(shù)數(shù)據(jù)INC X;設(shè)置位置CALL SHOW_DIG2 RET;;LCD CONTROL;SET_LCD:;對LCD做初始化設(shè)置及測試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;開顯示,顯示光標(biāo),光標(biāo)不閃爍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;設(shè)置LCD的第一行地址CALL WCOM

10、;寫入命令CALL CLR_LINE ;清除該行字符數(shù)據(jù)MOV A,#80H;設(shè)置LCD的第一行地址CALL WCOM ;寫入命令JMP FILLLINE2: MOV A,#0C0H;設(shè)置LCD的第二行地址CALL WCOM ;寫入命令CALL CLR_LINE ;清除該行字符數(shù)據(jù)MOV A,#0C0H;設(shè)置LCD的第二行地址CALL WCOM FILL: CLR A;填入字符MOVC A,A+DPTR ;由消息區(qū)取出字符CJNE A,#0,LC1 ;判斷是否為結(jié)束碼RETLC1: CALL WDATA ;寫入數(shù)據(jù)INC DPTR;指針加1JMP FILL;繼續(xù)填入字符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短脈沖產(chǎn)生啟用信號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位控制方式將數(shù)據(jù)寫至LCDMOV P1,A;寫入數(shù)據(jù)SETB RS設(shè)置寫入數(shù)據(jù)CALL EN1RET僅供學(xué)習(xí)與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除 謝謝9精品資料J;第二行顯示字符JLCDP2:;在LCD的第二行顯示字符PUSH ACC ;MOV A,B;設(shè)置顯示地址ADD A,#0C0H;設(shè)置LCD的第二行地址CALL WCOM ;寫入命令POP ACC由堆棧取出ACALL WDATA ;寫入數(shù)據(jù)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論