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

📄 displcd.sub

📁 frequence metre to mesure the frequence of a signal
💻 SUB
字号:
           nolist
;__________________________________________________________________________
;
;                        SUBROUTINES FOR LCD DISPLAY
;                              (LOAD: 4 BITS) 
;__________________________________________________________________________
;
; You must include "displcd.lib" in the main file
; You must define E, RS, DATA_PORT and DATA_DIR in the main file
;  
;__________________________________________________________________________
;
;                                VARIABLES
;__________________________________________________________________________

           cblock
Char           
           endc

;--------------------------------------------------------------------------
; Description: Initialisation de l'afficheur LCD           
; Entr俥: Aucune
; Sortie: Aucune

INIT_LCD           
           call       T100mS     ; Attendre la stabilisation de 
                                 ;l'alimentation 
           RSCmd                 ; LCD: mode commande
           Movlf      30H,DATA_PORT
           DataOk                ; 3 envois de 30H      
           call       T10mS
           DataOk
           call       T10mS
           DataOk
           call       T1mS
           Movlf      20H,DATA_PORT
           DataOk                ; Interface 4 bits
           retlw      0

;---------------------------------------------------------------------------
; Description: Put cursor at the beginning of the second line
; ( or on th 8th Char in case of 1x16 display )

LINE_2
           DDRam      40H
           retlw      0

;---------------------------------------------------
; Description: Transmet un caract俽e vers l'afficheur          
; Entr俥: Caract俽e dans le registre W
; Sortie: Aucune

SEND_CHAR  
           call       T1mS       ; Attendre que l'afficheur soit pr坱
           RSChar                ; Afficheur en mode caract俽e
           movwf      Char       ; Sauvegarde du caract俽e
           Andlf      0x0F,DATA_PORT      
                                 ; Masquage: Reset du poids fort de DP
           movf       Char,W     ; On restaure le caract俽e dans W
           andlw      0xF0       ; On isole le poids fort du registre W 
           iorwf      DATA_PORT,F; On positionne le poids fort de DATA_PORT 
           DataOk                ; On bascule le verrou du LCD
           Andlf      0x0F,DATA_PORT      
                                 ; Masquage: Reset du poids fort de DP
           swapf      Char,W     ; On 俢hange les poids fort et faible
           andlw      0xF0       ; On isole le poids fort du registre W 
           iorwf      DATA_PORT,F; On positionne le poids fort de DATA_PORT 
           DataOk                ; On bascule le verrou du LCD
           retlw      0          ; Retour avec W=0

;---------------------------------------------------
; Description: Transmet une commande vers l'afficheur          
; Entr俥: Commande dans le registre W
; Sortie: Aucune

SEND_CMD  
           call       T1mS       ; Attendre que l'afficheur soit pr坱
           RSCmd                 ; Afficheur en mode commande
           movwf      Char       ; Sauvegarde de la commande
           Andlf      0x0F,DATA_PORT      
                                 ; Masquage: Reset du poids fort de DP
           movf       Char,W     ; On restaure la commande dans W
           andlw      0xF0       ; On isole le poids fort du registre W 
           iorwf      DATA_PORT,F; On positionne le poids fort de DATA_PORT 
           DataOk                ; On bascule le verrou du LCD
           Andlf      0x0F,DATA_PORT      
                                 ; Masquage: Reset du poids fort de DP
           swapf      Char,W     ; On 俢hange les poids fort et faible  
           andlw      0xF0       ; On isole le poids fort du registre W 
           iorwf      DATA_PORT,F; On positionne le poids fort de DATA_PORT 
           DataOk                ; On bascule le verrou du LCD
           retlw      0          ; Retour avec W=0
;
           list

⌨️ 快捷键说明

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