1621驱动程序

  作者:dolphin 时间:2012-10-31

LCD 设定(命令模式字的低8位数据)
BIAS EQU 52H 1/3 偏压4背极
RC256 EQU 30H 系统时钟选用片
内RC振荡器
SYSEN EQU 02H 打开系统时钟
LCDON EQU 06H 打开偏压发生器
SYSDIS EQU 00H 关闭系统时钟和
偏压发生器
X32K EQU 28H 系统时钟选择为
片外晶振
ToneOn EQU 12H 打开音频输出
ToneOff EQU 10H 关闭音频输出
Tone4k EQU 80H 音频输出频率为
4K
Tone2k EQU 0C0H 音频输出频率为2K
TIMEREN EQU 0CH 时基输出使能
TIMERDIS EQU 08H 时基输出禁能
CLRtime EQU 18H 清零进基发生器
WDTEN EQU 0EH 使能WDT溢出标志
输出
WDTDIS EQU 0AH 禁止WDT溢出标志
输出
CLRWDT EQU 1CH 清零WDT
IRQEN EQU 10H 使能IRQ输出
IRQDIS EQU 00H 禁止IRQ输出
FR1 EQU 40H 设置时基输出
1HZ,WDT溢出时间4s

;HT1621B控制位(液晶模块接口定义,用户根据自已的需要更改)
CS BIT P0.1 HT1621B片选
WRITE BIT P0.3 HT1621B写控制位
SDATA BIT P0.5 HT1621B数据线

;显示缓冲区(用户根据自已的需要更改变量的存储地址)
DISBUFFER EQU 34H 显示缓冲区地址34H--43H(16
字节)

;临时变量定义(不会破坏这些资源,只是临时占用,用户不要自行修改)
lcdbitcnt EQU 03H 发送位计数器
lcdcommand EQU 02H 发送命令缓冲器
lcdadr EQU 01H lcd显存指针
LCDBYTECNT EQU 04H 发送字节数记数器

;===============================================================================
====
; 向HT1621B发送命令和数据模块
;软件包面向用户的界面程序:
; Send1621Com 发送命令子程序,命令ID为100+0型式 + 命令字
; Send1621ComB 发送命令子程序(B),命令ID为100+1型式 + 命令字
; HT1621DOWN 设置1621进行掉电工作方式
; INTI1621 初化1621,并打开LCD显示,用户可更改相应初化字,进行1621的不同设
置。
; BrushLcd 刷新LCD显示,即将显示缓冲区的16字节数据发送到1621,从SEG0
段开始。
; DISDPTR 将DPTR指向的程序存储器的数据(连续16字节)发送到1621显示。
;这此子程序都会自动保护所需的临时单元,所以占用较多的堆栈,用户要注意这一点。
;===============================================================================
====

;发送命令程序
;名称: Send1621Com
;描述: 向HT1621B发送控制命令,命令内容在LCDCOMMAND中。
;所发的命令类型为ID=100+0+命令,占用堆栈。
Send1621Com:
PUSH ACC
PUSH LCDBITCNT
ACALL INTI 起动1621(即初
化)
MOV LCDBITCNT,#04h
MOV A,#80h 发送ID值100+0
ACALL sendb0
MOV A,LCDCOMMAND 取得命令字
ACALL send1621byte 发送到1621
SETB write
SETB cs
SETB sdata
POP LCDBITCNT
POP ACC
RET

;发送命令程序(B)
;名称: Send1621ComB
;描述: 向HT1621B发送控制命令,命令内容在LCDCOMMAND中。
;所发的命令类型为ID=100+1+命令,占用堆栈。
Send1621ComB:
PUSH ACC
PUSH LCDBITCNT
ACALL INTI 起动1621(即初
化)
MOV LCDBITCNT,#04h
MOV A,#90h 发送ID值100+1
ACALL sendb0
MOV A,LCDCOMMAND
ACALL send1621byte
SETB write 将SPI接口均置为
高电平
SETB cs
SETB sdata
POP LCDBITCNT
POP ACC
RET

;HT1621B掉电模式
;使1621进行掉电模式,以降低功耗
HT1621DOWN:
PUSH LCDCOMMAND
MOV LCDCOMMAND,#SYSDIS 关闭系统振荡器即进行掉电
方式
ACALL Send1621Com
POP LCDCOMMAND
RET

;1621设置
;描述:进行1621的基本设置,偏压、背极、系统工作方式
;用户添加初化内容或更改设置内容。
INTI1621:
PUSH LCDCOMMAND
MOV LCDCommand,#bias
ACALL Send1621Com 工作于1/3偏压,
4背极
MOV LCDCommand,#X32K
ACALL Send1621Com 系统时钟选择为
外部时钟
MOV LCDCommand,#wdtdis
ACALL Send1621Com 关闭看门狗
MOV LCDCommand,#timerdis
ACALL Send1621Com
MOV LCDCommand,#sysen 启动1621系统振荡器
ACALL Send1621Com

关键词: 发送 MOV EQU 数据 程序 POP PU

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路