⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.asm

📁 此文件应用PIC16F913实现LCD控制,本程序具有加,移,设置三键功能,可以在仪器仪表等方面应用.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;name:lcd display
;by:wjh
;date:2006/11/7
;===================================================
               #INCLUDE    <P16F913.INC>
DS1        EQU         20H
DS2        EQU         21H
DS3        EQU         22H
DS4        EQU         23H
LCD_BUF    EQU         24H
DSQ        EQU         25H
DSQ1       EQU         26H
LCD_SELE   EQU         27H
DL_CUT     EQU         28H
DL_CUT1    EQU         29H
TOP        EQU         2AH
BOTTOM     EQU         2BH
FLASH_CON  EQU         2CH
K_FLAG     EQU         2DH
SEC        EQU         2EH
SHOW       EQU         2FH
;===================================================
               ORG    0000H
               GOTO   START
               ORG    0005H

TAB         ADDWF       PCL,1        ;"P--D--C--E--B--G--A--F"
            RETLW       07BH         ;"0"
            RETLW       028H         ;"1"
            RETLW       05EH         ;"2"
            RETLW       06EH         ;"3"
            RETLW       02DH         ;"4"
            RETLW       067H         ;"5"
            RETLW       077H         ;"6"
            RETLW       02AH         ;"7"
            RETLW       07FH         ;"8"
            RETLW       06FH         ;"9"
            RETLW       03FH
            RETLW       07CH
            RETLW       06AH
            RETLW       075H
            RETLW       06EH
            RETLW       02EH

TAB1        ADDWF       PCL,1
            RETLW       0FBH
            RETLW       0A8H
            RETLW       0DEH
            RETLW       0EEH
            RETLW       0ADH
            RETLW       0E7H
            RETLW       0F7H
            RETLW       0AAH
            RETLW       0FFH
            RETLW       0EFH

JWZ         INCF        DS1,1
            MOVFW       DS1
            XORLW       0AH
            SKPZ
            RETURN
            CLRF        DS1
            INCF        DS2,1
            MOVFW       DS2
            XORLW       06H
            SKPZ
            RETURN
            CLRF        DS2
            INCF        DS3,1
            MOVFW       DS3
            XORLW       0AH
            SKPZ
            RETURN
            CLRF        DS3
            INCF        DS4,1
            MOVFW       DS4
            XORLW       0AH
            SKPNZ
            CLRF        DS4
            RETURN

DISPLAY     INCF        LCD_SELE,1
            MOVLW       4
            SUBWF       LCD_SELE,0
            SKPNC
            CLRF        LCD_SELE
            MOVFW       LCD_SELE
            ADDWF       PCL,1
            GOTO        LCDDISP1
            GOTO        LCDDISP2
            GOTO        LCDDISP3
            GOTO        LCDDISP4
            
LCDDISP1    CLRF        SHOW
            MOVFW       SEC
            ANDWF       FLASH_CON,0
            MOVWF       SHOW
            BTFSS       SHOW,0
            GOTO        DISP1
            BSF         STATUS,RP1
            BSF         STATUS,IRP            
            CLRF        LCDDATA0
            CLRF        LCDDATA3
            CLRF        LCDDATA6
            CLRF        LCDDATA9
            BCF         STATUS,RP1
            BCF         STATUS,IRP
            RETURN
DISP1       BSF         STATUS,RP1
            BSF         STATUS,IRP            
            CLRF        LCDDATA0
            CLRF        LCDDATA3
            CLRF        LCDDATA6
            CLRF        LCDDATA9
            BCF         STATUS,RP1
            BCF         STATUS,IRP
            MOVFW       DS1
            CALL        TAB
            MOVWF       LCD_BUF
            BTFSS       LCD_BUF,0          ;"F1"
            GOTO        LD1
            BSF         STATUS,RP1
            BSF         LCDDATA9,1
            BCF         STATUS,RP1
LD1         BTFSS       LCD_BUF,1          ;"A1"
            GOTO        LD2
            BSF         STATUS,RP1
            BSF         LCDDATA9,0
            BCF         STATUS,RP1
LD2         BTFSS       LCD_BUF,2          ;"G1"
            GOTO        LD3
            BSF         STATUS,RP1
            BSF         LCDDATA6,1
            BCF         STATUS,RP1
LD3         BTFSS       LCD_BUF,3          ;"B1"
            GOTO        LD4
            BSF         STATUS,RP1
            BSF         LCDDATA6,0
            BCF         STATUS,RP1
LD4         BTFSS       LCD_BUF,4          ;"E1"
            GOTO        LD5
            BSF         STATUS,RP1
            BSF         LCDDATA3,1
            BCF         STATUS,RP1
LD5         BTFSS       LCD_BUF,5          ;"C1"
            GOTO        LD6
            BSF         STATUS,RP1
            BSF         LCDDATA3,0
            BCF         STATUS,RP1
LD6         BTFSS       LCD_BUF,6          ;"D1"
            GOTO        LD7
            BSF         STATUS,RP1
            BSF         LCDDATA0,1
            BCF         STATUS,RP1 
LD7         BTFSS       LCD_BUF,7          ;"P1"
            GOTO        LD8
            BSF         STATUS,RP1
            BSF         LCDDATA0,0
            BCF         STATUS,RP1                      
            RETURN
LD8         BSF         STATUS,RP1
            BCF         LCDDATA0,0
            BCF         STATUS,RP1            
            RETURN
         
LCDDISP2    CLRF        SHOW
            MOVFW       SEC
            ANDWF       FLASH_CON,0
            MOVWF       SHOW
            BTFSS       SHOW,1
            GOTO        DISP2
            BSF         STATUS,RP1
            BSF         STATUS,IRP            
            CLRF        LCDDATA0
            CLRF        LCDDATA3
            CLRF        LCDDATA6
            CLRF        LCDDATA9
            BCF         STATUS,RP1
            BCF         STATUS,IRP
            RETURN
DISP2       BSF         STATUS,RP1
            BSF         STATUS,IRP            
            CLRF        LCDDATA0
            CLRF        LCDDATA3
            CLRF        LCDDATA6
            CLRF        LCDDATA9
            BCF         STATUS,RP1
            BCF         STATUS,IRP
            MOVFW       DS2
            CALL        TAB
            MOVWF       LCD_BUF
            BTFSS       LCD_BUF,0           ;"F2"
            GOTO        LD1_1
            BSF         STATUS,RP1
            BSF         LCDDATA9,3
            BCF         STATUS,RP1
LD1_1       BTFSS       LCD_BUF,1           ;"A2"
            GOTO        LD2_1
            BSF         STATUS,RP1
            BSF         LCDDATA9,2
            BCF         STATUS,RP1
LD2_1       BTFSS       LCD_BUF,2           ;"G2"
            GOTO        LD3_1
            BSF         STATUS,RP1
            BSF         LCDDATA6,3
            BCF         STATUS,RP1
LD3_1       BTFSS       LCD_BUF,3           ;"B2"
            GOTO        LD4_1
            BSF         STATUS,RP1
            BSF         LCDDATA6,2
            BCF         STATUS,RP1
LD4_1       BTFSS       LCD_BUF,4           ;"E2"
            GOTO        LD5_1
            BSF         STATUS,RP1
            BSF         LCDDATA3,3
            BCF         STATUS,RP1
LD5_1       BTFSS       LCD_BUF,5           ;"C2"
            GOTO        LD6_1
            BSF         STATUS,RP1
            BSF         LCDDATA3,2
            BCF         STATUS,RP1
LD6_1       BTFSS       LCD_BUF,6           ;"D2"
            GOTO        LD7_1
            BSF         STATUS,RP1
            BSF         LCDDATA0,3
            BCF         STATUS,RP1
LD7_1       BTFSS       LCD_BUF,7           ;"P2"       
            GOTO        LD8_1
            BSF         STATUS,RP1
            BSF         LCDDATA0,2
            BCF         STATUS,RP1                     
            RETURN
LD8_1       BSF         STATUS,RP1
            BCF         LCDDATA0,2
            BCF         STATUS,RP1            
            RETURN

LCDDISP3    CLRF        SHOW
            MOVFW       SEC
            ANDWF       FLASH_CON,0
            MOVWF       SHOW
            BTFSS       SHOW,2
            GOTO        DISP3
            BSF         STATUS,RP1
            BSF         STATUS,IRP            
            CLRF        LCDDATA0
            CLRF        LCDDATA3
            CLRF        LCDDATA6
            CLRF        LCDDATA9
            BCF         STATUS,RP1
            BCF         STATUS,IRP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -