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

📄 06062-lcm.asm

📁 有很多朋友在使用LCM,现在传一份上来,方便大家参考.液晶控制为RA8803程序.rar
💻 ASM
📖 第 1 页 / 共 2 页
字号:


	  ZK       EQU 30H
          X        EQU 31H
	  Y        EQU 32H
          Z        EQU 33H
	  DATA1    EQU 34H
	  DATA2    EQU 35H
	  TIME0    EQU 36H
	  TIME1    EQU 37H
          REG      EQU 38H
          DAT      EQU 39H

          rs      equ p3.0
	  wr 	  equ p3.1
          cs      equ p3.2
          rd      equ p3.4
          busy    equ p3.5
          res_    equ p3.7

	  ORG   0000H
	  LJMP  BBEGIN
;
	  ORG   0030H
	  NOP
BBEGIN:   MOV   SP,#60H
          mov p1,#0ffh
          mov p3,#0FFh
          MOV TIME1,#150
          LCALL DELAY
          clr res_
          MOV TIME1,#200
          LCALL DELAY
          setb res_
          MOV TIME1,#100
          LCALL DELAY
BINITIAL:
          MOV REG,#00H  ;LCD 基本显示功能设定-1
          MOV DAT,#0C5H ;绘图模式
          LCALL BWRCTRL

          MOV REG,#01H  ;系统工作频率与中断准位设定
          MOV DAT,#0F1H ;System clock=4MHz
          LCALL BWRCTRL

          MOV REG,#02H  ;LCD 内存读写速度与功能设定
          MOV DAT,#10H
          LCALL BWRCTRL

          MOV REG,#03H  ;LCD 特殊显示功能
          MOV DAT,#80H
          LCALL BWRCTRL

          MOV REG,#10H  ;LCD 基本显示功能设定-2
          MOV DAT,#0E8H
          LCALL BWRCTRL

          MOV REG,#11H  ;设定光标高度与行距
          MOV DAT,#22H
          LCALL BWRCTRL

          MOV REG,#12H  ;LCD 显示图层设定
          MOV DAT,#91H  ;91H
          LCALL BWRCTRL

          MOV REG,#20H  ;设定实际显示窗口右边位置地址(X1)
          MOV DAT,#39   ;(39+1)*8=320 seg
          LCALL BWRCTRL

          MOV REG,#30H  ;设定实际显示窗口底边位置地址(Y1)
          MOV DAT,#79   ;79+1=80 com
          LCALL BWRCTRL

          MOV REG,#40H  ;设定实际显示窗口左边位置地址(X2)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#50H  ;设定实际显示窗口顶边位置地址(Y2)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#21H  ;设定LCD 模块右边位置地址(X1)
          MOV DAT,#39   ;(39+1)*8=320 seg
          LCALL BWRCTRL

          MOV REG,#31H  ;设定LCD 模块底边位置地址(Y1)
          MOV DAT,#79   ;79+1=80 com
          LCALL BWRCTRL

          MOV REG,#41H  ;设定LCD 模块左边位置地址(X2)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#51H  ;设定LCD 模块顶边位置地址(Y2)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#60H  ;设定光标水平地址(Common)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#61H  ;设定垂直开始显示地址(Segment)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#70H  ;设定光标垂直地址(Segment)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#71H  ;设定于水平区块移动模式下,起始地址
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#72H  ;设定于水平区块移动模式下,结束地址
          MOV DAT,#00
          LCALL BWRCTRL

          MOV REG,#80H  ;光标闪烁时间设定
          MOV DAT,#33H
          LCALL BWRCTRL

          MOV REG,#81H  ;变换FRM 极性的起始地址(Common)
          MOV DAT,#0CH
          LCALL BWRCTRL

          MOV REG,#91H  ;变换FRM 极性的结束地址(Common)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#90H  ;SET Shift Clock Control Register
          MOV DAT,#20   ;SET FRAME RATE=60Hz
          LCALL BWRCTRL

          MOV REG,#0A0H  ;中断功能设定
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0A1H  ;键盘扫描控制缓存器
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0A2H  ;键盘扫描控制输出数据
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0A3H  ;键盘扫描控制输入数据
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0B0H  ;设定水平方向断点的地址
          MOV DAT,#39
          LCALL BWRCTRL

          MOV REG,#0B1H  ;设定垂直方向断点的地址
          MOV DAT,#79
          LCALL BWRCTRL

          MOV REG,#0C0H  ;触控屏幕功能设定
          MOV DAT,#10H
          LCALL BWRCTRL

          MOV REG,#0C1H  ;读写并可侦测触控屏幕的状态
          MOV DAT,#0AH
          LCALL BWRCTRL

          MOV REG,#0C8H  ;读取触控屏幕水平轴的数据(高字节)
          MOV DAT,#80H
          LCALL BWRCTRL

          MOV REG,#0C9H  ;读取触控屏幕水平轴的数据(高字节)
          MOV DAT,#80H
          LCALL BWRCTRL

          MOV REG,#0CAH  ;读取触控屏幕水平轴与垂直轴的数据(低字节)
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0D0H  ;设定DAC 电流输出,可调整LCD 亮度
          MOV DAT,#80H   ;not use DAC
          LCALL BWRCTRL

          MOV REG,#0E0H  ;设定写入显示内存的数据(需搭配缓存器[F0]
          MOV DAT,#00H
          LCALL BWRCTRL

          MOV REG,#0F0H  ;设定中文字型
          MOV DAT,#0A0H  ;GB-MODE2
          LCALL BWRCTRL

          MOV REG,#0F1H  ;改变字型垂直与水平显示大小
          MOV DAT,#0FH
          LCALL BWRCTRL

          MOV REG,#81H  ;变换FRM 极性的起始地址(Common)
          MOV DAT,#01H
          LCALL BWRCTRL

          LCALL BCLRRAM
BDISALL:  MOV   DATA1,#0FFH
          MOV   DATA2,#0FFH
	  LCALL BWRITE
          LCALL DELAY1S

          LCALL BCLRRAM
          LCALL DELAY1S

          MOV   DATA1,#0FFH
          MOV   DATA2,#00H
	  LCALL BWRITE
          LCALL DELAY1S

	  MOV   DATA1,#55H
          MOV   DATA2,#55H
	  LCALL BWRITE
          LCALL DELAY1S

          MOV   DATA1,#55H
          MOV   DATA2,#0AAH
	  LCALL BWRITE
          LCALL DELAY1S

          LCALL DispBorder
          LCALL DELAY1S

          LCALL BCLRRAM
          LCALL DISZK
          LCALL DELAY1S
          LCALL DELAY1S

          LCALL BCLRRAM
          LCALL DISPHZ
          LCALL DELAY1S
          LCALL DELAY1S
          JMP   BDISALL

          ljmp BINITIAL

BCLRRAM:  mov data1,#00h
          mov data2,#00h
          lcall bwrite
	  RET;-------------------
;***********************
DispBorder:
          MOV REG,#00H  ;LCD 基本显示功能设定-1
          MOV DAT,#0C5H ;绘图模式
          LCALL BWRCTRL

          MOV REG,#60H  ;设定光标水平地址(Common)
          MOV DAT,#00H
          LCALL BWRCTRL

⌨️ 快捷键说明

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