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

📄 driver_ht1622.txt

📁 driver_ht1622 芯片HT1622/21 LED的驱动芯片的驱动程序 C 语言版
💻 TXT
字号:
HT1621的汇编驱动程序的详细介绍 
;****************************
;HT1621操作辑
P_HT    EQU    0X05        ;LCD驱动口
    DATA    EQU    1
    WR    EQU    3
    CS    EQU    4
;****************************
;=======================
;写字节
;入口:    LCD_D:    写往DATA的数值
;    LCD_N:    位数(循环数)
;=======================
WBLCD:
    MOV    A,@8
WBLCD1:
    MOV    LCD_N,A
;=======
WNLCD:
    RLC    LCD_D        ;LCD_D左循环,LCD_D(7)->C
    JBC    R3,C        ;C=0跳
    JMP    WNLCD1
    BC    P_HT,DATA    ;DATA=0
    JMP    WNLCD2
WNLCD1:
    BS    P_HT,DATA    ;DATA=1
WNLCD2:
    NOP
    NOP
    BC    P_HT,WR        ;WR=0
    NOP            ;延时1.67uS以上
    BS    P_HT,WR        ;WR=1
    NOP            ;延时1.67uS以上
    DJZ    LCD_N
    JMP    WNLCD
    RET
;=======
WBLCDADD:            ;写操作码101+首地址码000000(共9位)
    MOV    A,@0B10100000
W9LCD:
    MOV    LCD_D,A
    BC    R3,C
    MOV    A,@9
    JMP    WBLCD1
;=======
WBLCDCOM:            ;命令码100(共3位)
    MOV    A,@0B10000000
    MOV    LCD_D,A
    MOV    A,@3
    JMP    WBLCD1
;****************************
;LCD显示初始化
;功能:    LCD驱动器HT1621显示初始化
;****************************
RESTLCD:
    BC    P_HT,CS        ;CS=0,开片选
    NOP
    CALL    WBLCDCOM    ;命令操作
    MOV    A,@0B00000001
    CALL    W9LCD        ;开震荡源SYSEN
    MOV    A,@0B00101001
    CALL    W9LCD        ;BIAS 1/3
    MOV    A,@0B00000011
    CALL    W9LCD        ;开显示LCDON
    NOP
    BS    P_HT,CS        ;CS=1,关片选
    RET
;****************************
;送LCD显示
;功能:    U1显缓区(0X20-0X28)->LCD驱动器HT1621内RAM
;****************************
MOVLCD:
    WDTC            ;喂狗
    BC    P_HT,CS        ;CS=0,开片选
    MOV    A,@DISBUF1    ;载入显缓区首地址
    MOV    R4,A
    CALL    WBLCDADD    ;写操作码101+首地址码000000->LCD
MOVLCD1:
    MOV    A,R0        ;取欲显示字符代码
    CALL    TABLCD        ;查表求笔画码
    MOV    LCD_D,A
;=======填加小数点
    RLC    DISBUF9        ;取小数点->C
    JBC    R3,C        ;
    BS    LCD_D,0        ;填加小数点
;=======
    CALL    WBLCD        ;笔画码->LCD
    MOV    A,R4
    AND    A,@0B00111111
    XOR    A,@DISBUF7    
    JBS    R3,Z        ;显缓区地址=最后一个显示单元跳
    JMP    MOVLCD2
;=======小数点
    MOV    A,DISBUF8
    MOV    LCD_D,A
    CALL    WBLCD        ;笔画码->LCD
;=======
    BS    P_HT,CS        ;CS=1,关片选
    RET
MOVLCD2:
    INC    R4        ;显缓区地址+1
    JMP    MOVLCD1
 

⌨️ 快捷键说明

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