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

📄 fm373-ht1621.asm

📁 HT1621控制的段码液晶显示驱动。51汇编写的。
💻 ASM
字号:


	  LCDMM   EQU   23H

	  DATAB   EQU   P1.4
	  WRPIN   EQU   P1.5
	  CSPIN   EQU   P1.6

	  ORG     0000H
	  LJMP    MAIN

	  ORG     0003H
	  LJMP    LINT0
 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;   初始化 ,01H开系统振荡  ,03HLCD ON,
 ;   28H  BIAS1/2 DUTY1/4  ,04H  时基输出失效
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 MAIN:
      SETB    DATAB
	  SETB    WRPIN
	  SETB    CSPIN

	  MOV     LCDMM,#01H
	  LCALL   LCDCM
	  MOV     LCDMM,#03H
	  LCALL   LCDCM
	  MOV     LCDMM,#28H
	  LCALL   LCDCM
	  MOV     LCDMM,#04H
	  LCALL   LCDCM

LOOP3:  LCALL CLRLCD1
 MOV     DPTR,   #TAB1
	  LCALL   WRCOM
        LCALL CLRLCD

       MOV      DPTR,  #TAB2
       LCALL   WRCOM
        LCALL CLRLCD
       MOV      DPTR,   #TAB3
       LCALL   WRCOM
        LCALL CLRLCD
       MOV      DPTR,   #TAB4
       LCALL   WRCOM
        LCALL CLRLCD
        sjmp loop3



;;;;;;;;;;;;;;;;清屏        ;;;;;;;;;;;;;;;;;;;
CLRLCD:
          LCALL key
	  CLRLCD1: MOV     DPTR,   #TABC
          LCALL   WRCOM
          ret

;;;;;;;;;;;;   写100类命令ID   ;;;;;;;;;;;;;;;;;;;;
LCDCM: CLR    CSPIN
	   MOV    A,    #80H    ;100类
	   MOV    R7,   #03H
LCM1:  RLC    A
	   MOV    DATAB,C
	   NOP
	   CLR    WRPIN
	   NOP
	   NOP
       NOP
	   SETB   WRPIN
	   DJNZ   R7,   LCM1

	   MOV    R7,   #08H
	   MOV    A,    LCDMM
LCM2:  RLC    A
	   MOV    DATAB,C
	   NOP
	   CLR    WRPIN
	   NOP
       NOP
	   NOP
	   NOP
	   SETB   WRPIN
	   NOP
	   NOP
	   NOP
	   DJNZ   R7,   LCM2
	   NOP
       NOP
	   NOP
	   NOP
	   CLR    DATAB
	   NOP
	   CLR    WRPIN
	   NOP
       NOP
	   NOP
	   NOP
	   SETB   WRPIN
	   NOP
       NOP
	   NOP
	   NOP
	   SETB   CSPIN
       NOP
	   NOP
	   NOP
	   NOP
	   SETB   DATAB
	   RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;   写101命令
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRCOM:
           CLR    CSPIN
	   MOV    R7,   #03H  ;101
	   MOV    A,    #0A0H
LWR1:
           RLC    A
	   MOV    DATAB,C
	   NOP
	   CLR    WRPIN
	   NOP
	   NOP
	   NOP
	   SETB    WRPIN
	   NOP
	   NOP
	   DJNZ    R7,      LWR1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;   连写模式,发送6位ADDRES数据
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	   MOV     R7,      #06H  ;6 addres
	   MOV     A,       #00H
LWR2:  RLC     A
	   MOV     DATAB,   C
	   NOP
	   NOP
	   NOP
	   NOP
	   NOP
	   CLR     WRPIN
	   NOP
	   NOP
	   NOP
	   NOP
	   NOP
	   SETB    WRPIN
	   NOP
	   NOP
	   DJNZ    R7,       LWR2
 ;;;;;;;;;;;  发送表数据,9个字节,8位;;;;;;;;;;;;;;;;;;;;;;;
	  MOV     R2,       #10H
LOOP7:    MOV     A,        #00H               ;
	  MOVC    A,        @A+DPTR
	  MOV     R7,       #08H
	  INC     DPTR
LCM3:     RRC     A                      ;
	  MOV     DATAB,    C
	  NOP
	  CLR     WRPIN
	  NOP
          NOP
	  NOP
	  NOP
	  lcall DLY50
	  SETB    WRPIN
	  NOP
	  DJNZ    R7,       LCM3
	  DJNZ    R2,       LOOP7
	  NOP
	  SETB    CSPIN
	  NOP
	  SETB    DATAB
	  NOP
	  RET

;;;;;;;;;;;;;;;;;;  按键,p2.0  ;;;;;;;;;;;;;;;;;

 KEY:
    MOV A,P2
    JB ACC.0,KEY
    CALL DLY50
    CALL DLY50
    JB ACC.0,KEY
    RET


 ;;;;;;;;;;;;;;;;;;;; 延时;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  DLY50:MOV R3,#01H
        DL511:MOV R4,#0dH
        DL522:MOV R6,#0AFH
        DL533:DJNZ R6,DL533
            DJNZ R4,DL522
            DJNZ R3,DL511
            RET

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LINT0:NOP
	  NOP
	  NOP
	  NOP
	  RETI


 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



tab1:
	   DB    05H,00H,86H,31H,87h,21h,07H,60H      ;
	   DB    81H,61H,83H,71H,85H,00H,87H,71H

tab2:
	   DB    7aH,26H,7aH,26H,7aH,26H,7aH,26H       ;
	   DB    7aH,26H,7aH,26H,7aH,26H,7aH,26H
tab3:
	   DB    00H,88H,00H,88H,00H,88H,00H,88H   ;
	   DB    00H,88H,00H,88H,00H,88H,00H,88H
tab4:
	   DB   0ffH,0ffh,0ffH,0ffh,0ffH,0ffh,0ffH,0ffh  ;
	   DB   0ffH,0ffh,0ffH,0ffh,0ffH,0ffh,0ffH,0ffh


tabC :
	   DB    00H,00H,00H,00H,00H,00H,00H,00H              ;
	   DB    00H,00H,00H,00H,00H,00H,00H,00H


           END

⌨️ 快捷键说明

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