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

📄 text1.asm

📁 针对OCM4X8C的汉字显示的汇编程序,是用keil软件编写的.
💻 ASM
字号:
	 RS EQU P2.1
     RW EQU P2.0
     E EQU P2.2
     LCD_X EQU 30H
     LCD_Y EQU 31H
     COUNT EQU 32H
     COUNT1 EQU 33H
     COUNT2 EQU 34H
     COUNT3 EQU 35H
     LCD_DATA EQU 36H
     LCD_DATA1 EQU 37H
     LCD_DATA2 EQU 38H
     STORE EQU 39H

     ORG 0000H
     LJMP MAIN
     ORG 0100H
MAIN:
    MOV SP,#5FH
    Lcall LGS0	;初始化
AAA:LCALL HAN_WR2
    LJMP AAA

HAN_WR2:
    LCALL CLEAR_P
HAN_WR2A:
    MOV DPTR,#TAB1A
    MOV COUNT,#10H ;地址计数器设为16。
    MOV A,#80H ;第一行起始地址
    LCALL SEND_I
    LCALL QUSHU
HAN_WR2B:
   MOV DPTR,#TAB1B ;显示汉字和字符
   MOV COUNT,#10H ;地址计数器设为16。
   MOV A,#90H ;第二行起始地址
   LCALL SEND_I
   LCALL QUSHU
HAN_WR2C:
   MOV DPTR,#TAB1C ;显示汉字和字符
   MOV COUNT,#10H ;地址计数器设为16。
   MOV A,#88H ;第三行起始地址
   LCALL SEND_I
   LCALL QUSHU
HAN_WR2D:
   MOV DPTR,#TAB1D ;显示汉字和字符
   MOV COUNT,#10H ;地址计数器设为16。
   MOV A,#98H ;第四行起始地址
   LCALL SEND_I
   LCALL QUSHU
   LCALL DELAY3
   RET

LGS0: 
   MOV A,#34H ;34H--扩充指令操作
   LCALL SEND_I
   MOV A,#30H ;30H--基本指令操作
   LCALL SEND_I
   MOV A,#01H ;清除显示
   LCALL SEND_I
   MOV A,#06H ;指定在资料写入或读取时,光标的移动方向
   LCALL SEND_I ;DDRAM 的地址计数器(AC)加1
   MOV A,#0CH ;开显示,关光标,不闪烁
   LCALL SEND_I
   MOV   P0,#80H
   LCALL SEND_I
   MOV   P0,#03H        ;输入卷动地址
   ACALL SEND_I
   RET 

SEND_I:
  LCALL CHK_BUSY
  CLR RS
  CLR RW
  MOV P0,A
  SETB E
  NOP
  NOP
  CLR E
  RET

SEND_D:
   LCALL CHK_BUSY ;写数据子程序
   SETB RS
   CLR RW
   MOV P0,A
   SETB E
   NOP
   NOP
   CLR E
   RET

QUSHU:
  CLR A
  MOVC A,@A+DPTR
  LCALL SEND_D
  INC DPTR
  LCALL DELAY4
  DJNZ COUNT,QUSHU
  RET

DELAY3:
        MOV R5,#100
DEL31:  MOV R6,#100
DEL32:  MOV R7,#0FH
DEL33:  DJNZ R7,DEL33
        DJNZ R6,DEL32
        DJNZ R5,DEL31
        RET
DELAY4:
        MOV R6,#100
DEL41:  MOV R7,#200
DEL42:  DJNZ R7,DEL42
        DJNZ R6,DEL41
        RET

CHK_BUSY:
       ;MOV P0,#0FFH
       CLR RS
       SETB RW				   ;测忙指令
       SETB E
       JB P0.7,$
       CLR E
	   RET
    
CLEAR_P:
    MOV A,#01H ;清屏
    LCALL SEND_I
    MOV A,#34H
    LCALL SEND_I
    MOV A,#30H
    LCALL SEND_I
    RET

TAB1A: DB '5101234567891234' ;显示在第一行
TAB1C: DB '自学单片机第一站' ;显示在第三行
TAB1B: DB ' WWW.8951.COM '   ;显示在第二行
TAB1D: DB 'TEL 755-89956892' ;显示在第四行

END

⌨️ 快捷键说明

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