ht1621 LCD通用驱动实例

发布者:TranquilDreamer最新更新时间:2018-01-17 来源: eefocus关键字:ht1621  LCD  通用驱动 手机看文章 扫描二维码
随时随地手机看文章

;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 LCDCommand,#LCDON ;启动1621显示偏压发生器,启
动显示
ACALL Send1621Com
POP LCDCOMMAND
RET  

;刷新显示子程序
;名称:BrushLcd
;描述:把显示缓冲区DISBUFFER共16个单元的内容送到1621中
BrushLcd:
PUSH LCDBYTECNT
PUSH LCDADR
MOV LCDBYTECNT,#16 ;发送16个数据
MOV LCDADR,#DISBUFFER ;指向显示缓冲区
DISPLAY0:
LCALL SEND1621DATA ;调用发送数据子
程序,从SEG0段开始
POP LCDADR
POP LCDBYTECNT
RET 

;函数名:DISDPTR
;功能:    把DPTR指向的程序存贮器的16个字节内容直接送到1621的显示缓冲区内
;参数:    DPTR-缓冲区指针
;返回值:无
DISDPTR:
PUSH 07H
PUSH 00H
PUSH 06H
PUSH ACC
MOV R7,#10H ;设置各指针及变
量初值
MOV R0,# DISBUFFER ;先把数据读入显
示缓冲区
MOV R6,#00
ICERRORCON:
MOV A,R6
MOVC A,@A+DPTR ;读取程序区的数据
MOV @R0,A ;放入显示缓冲区
INC R0
INC R6
DJNZ R7,ICERRORCON 
ACALL BrushLcd ;输出显示
POP ACC
POP 06H
POP 00H
POP 07H
RET

;*******************************************************************
;                 子程序
;用启尽量不要单独的调用这此子程序
;***********************************************

;************************************************
;发送数据程序
;名称: Send1621Data
;描述: 向HT1621B发送BYTECNT个数据(从SEG0开始发送)
;           数据在发送缓冲区中,缓冲区指针lcdadr.
;-----------------------------------------------
Send1621Data:
PUSH ACC
PUSH LCDBITCNT
PUSH LCDBYTECNT
PUSH LCDADR
ACALL INTI
MOV LCDBITCNT,#01H ;发送写1621RAM命

MOV A,#80H ;发送1位数据
ACALL SENDB0
MOV A,#40H ;1621RAM地址设置
为00H
ACALL SEND1621BYTE 
MOV R1,LCDADR
SENDNEXT1:
MOV A,@R1 ;读取数据
ACALL SEND1621BYTE ;发送数据
INC R1
DJNZ LCDBYTECNT,SENDNEXT1
SETB WRITE
SETB CS
SETB SDATA
POP LCDADR
POP LCDBYTECNT
POP LCDBITCNT
POP ACC
RET

;************************************************
;1621初始化子程序
;即起动1621
;-----------------------------------------------
INTI:
CLR CS
SETB WRITE
NOP
CLR WRITE
NOP
RET


;******************************************************************
;发送字节数据子程序
;名称: Send1621Byte
;描述: 向HT1621B发送一个字节数据,数据在A中
;-----------------------------------------------
Send1621Byte:
PUSH LCDBITCNT
MOV lcdbitcnt,#08h ;发送8位数据位
ACALL SENDB0 ;调用发送数据位
子程序
POP LCDBITCNT
RET

;******************************************************************
;发送位数据子程序
;名称: sendb0
;描述: 向HT1621B发送N位数据,数据在A中,N在LCDBITCNT中,从高位开始发送
;-----------------------------------------------
SENDB0:
PUSH ACC
PUSH PSW
PUSH LCDBITCNT
SENDB01:
RLC A
MOV SDATA,C ;先发送高位数据
SETB WRITE ;产生WR信号
NOP
NOP
CLR WRITE
NOP
NOP
DJNZ LCDBITCNT,SENDB01 ;未发送完,继续
POP LCDBITCNT
POP PSW
POP ACC
RET

;========================================================
;表格区
;ZY886A型LCD数字显示表(0-F),供用户转换使用。(以上程序不用此表)
LCDData:
DB  0EBH,60H,0C7H,0E5H,6CH,0ADH,0AFH,0E0H,0EFH,0EDH,0EEH,2FH,07H,67H,8FH,8EH
;===============================================================
;
;以上程序是HT1621的通用程序,对不同的LCD只是其字模不一样而以。


关键字:ht1621  LCD  通用驱动 引用地址:ht1621 LCD通用驱动实例

上一篇:LCD12864汇编语言程序例子
下一篇:数字温度传感器DS18B20资料

推荐阅读最新更新时间:2024-03-16 15:53

小型LCD背光的LED驱动电路设计考虑因素
  过去几年来,小型彩色LCD显示屏已经被集成到范围越来越宽广产品之中。彩色显示屏曾被视为手机豪华配置,但如今,即便在入门级手机中,彩屏已成为一项标配。幸好,手机产业经济规模性(全球手机年出货量接近10亿部)降低了LCD彩色显示屏成本,并使它们集成在无论是便携医疗设备、通用娱乐遥控器、数字相框/图像查看器、教育玩具,或是最新具有WiFi功能VoIP无绳电话等其他产品中都具有吸引力。   彩色LCD显示屏需要白色背光,以便用户在任何光照环境下都能正常地观看。这个背光子系统包括1个高亮度白光发光二极管(LED)阵列、1个扩散器(diffuser)以扩散光线和1个背光驱动器将可用电能稳压为恒定电流以驱动LED。一块1到1.5英寸显示屏
[电源管理]
小型<font color='red'>LCD</font>背光的LED<font color='red'>驱动</font>电路设计考虑因素
IDT 推出首款用于 TFT LCD 面板的单芯片解决方案
混合信号半导体解决方案供应商 IDT® 公司(Integrated Device Technology, Inc.; NASDAQ: IDTI)推出业界首款用于上网本、平板电脑和笔记本电脑等薄膜晶体管(Thin Film Transistor, TFT)液晶显示器( Liquid Crystal Display,LCD)面板的单芯片电源管理解决方案。IDT新的解决方案集成了全功能低电压差分信号(Low-Voltage Differential Signaling, LVDS)计时控制器和完全集成的电源管理及用于 LED 背光的 4 通道 LED 驱动器。 通过将所有这些功能集成在一个芯片中, IDT VDAP1
[手机便携]
IDT 推出首款用于 TFT <font color='red'>LCD</font> 面板的单芯片解决方案
ARM之LPC2132流水灯LCD1602
1、汇编程序 GPADIR EQU 0xE0028008 GPASET EQU 0xE0028004 GPACLR EQU 0xE002800C EXPORT xmain AREA Init,CODE,READONLY ENTRY xmain ldr r0,=GPADIR orr r1,r1,#0x0ff orr r1,#0x300 str r1, ;A=out ;========
[单片机]
ARM之LPC2132流水灯<font color='red'>LCD</font>1602
一个简单的18B20程序
'////////////////////////////////////// '读取DS18B20温度数据,并在LCD上显示出来 '设计者 啊艺 '编译器BASCOM-AVR1.11.8.1 '////////////////////////////////////// $regfile = M16def.dat $crystal = 1000000 Config 1wire = Portb.7 '定义单总线器件的接口 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db
[单片机]
51单片机测量PWM脉冲宽度LCD1602显示当前PWM占空比频率
此程序通过两个定时器一个外部中断,测量PWM高电平时间以及周期,计算并在1602显示出占空比 周期 高电平时间,只需让脉冲在P3^2口输入即能测得数据。。 单片机源程序如下: #include reg52.h #include LCD1602.h typedef unsigned char uint8; typedef unsigned int uint16;//数据类型重定义 uint8 count = 0; //计进入外部中断次数 bit flag = 1; //捕获结束标志位 long Pwm_All; //PWM的周期 long Pwm_High; //PWM的高电平时间 占空比=Pwm_Hi
[单片机]
2017年陆厂TFT LCD面板出货量将较2013年成长54%
大陆积极发展平面显示器产业,主要着眼点在于提高所需面板的自给率以及减少进口逆差,由于大陆业者积极投资TFT LCD面板生产线,预期无论是在产能或是出货量的全球占有率将可望逐年攀升。 DIGITIMES Research预估大陆地区中小尺寸(Small & Medium)应用TFT LCD产能占全球比重将由2011年的15.5%,大幅增加至2017年的35%;大尺寸应用方面,产能占全球比重将由2011年的5.3%,大幅增加至2017年的25.5%,以上预测数值含海外厂商在大陆所设的生产线。 在大尺寸及中小尺寸TFT LCD应用出货量全球占有率方面,DIGITIMES Research预估大陆本土业者在2017年时分别
[电源管理]
2017年陆厂TFT <font color='red'>LCD</font>面板出货量将较2013年成长54%
刷新LCD投影仪行业里程碑 BOE(京东方)携手小明投影正式开启LCD投影仪4K时代
8月29日,BOE(京东方)携手LCD投影仪行业领导者小明投影在北京恒通国际创新园(UCP)召开2023年投影仪旗舰新品发布会,联合推出两款划时代的新品:搭载BOE(京东方)4K LCD显示屏的小明V1 Ultra超高清投影仪及搭载BOE(京东方)璨光S60光机的小明V1高亮投影仪。 根据洛图数据显示,2017年以来中国智能投影市场销量持续增长,2022年已超600万台。从不同投影技术视角看,自2022年以来,LCD投影技术产品已经逐步超越DLP技术产品成为市场主流的投影选择,2023年Q2已占产品销量的64.7%。BOE(京东方)同智能投影品牌客户合作以来,致力于技术创新、产品创新,在亮度、分辨率等方面不断突破当前LC
[手机便携]
刷新<font color='red'>LCD</font>投影仪行业里程碑 BOE(京东方)携手小明投影正式开启<font color='red'>LCD</font>投影仪4K时代
PCI设备Windows通用驱动程序设计
        摘 要: 结合“通用高速PCI总线目标模块”的驱动程序设计,全面地讨论了Windows设备(特别是PCI设备)驱动程序编写时所面临的主要问题及解决方案,并提出了封装设备驱动的方法。     关键词: PCI 设备驱动程序 端口 内存 中断 封装     在设计和使用 PCI 设备时,经常要在PC机的软件中访问和控制硬件设备,但Windows操作系统(包括Windows95/98、Windows NT、Windows 2000为了保证系统的安全性、稳定性和可移植性,对应用程序访问硬件资源加以限制,这就要求设计设备驱动程序以实现PC机的软件对 PCI 设备的访问。     Windo
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved