产品信息搜索 资料下载搜索
  
LCD驱动芯片
LED驱动
升压芯片
草坪灯IC
烟雾报警器IC
降压芯片
开关电源IC
上海贝岭系列
HT1621应用实例
合泰(Holtek)单片机
100mA降压稳压HT75XX
250mA降压稳压HT73XX
300mA (LDO) CMD73XX
300mA降压稳压HT72XX
30mA降压稳压HT71XX
合泰电压检测HT70XX
100mA(LDO)CMD75XX
时钟芯片
电压检测复位芯片
充电器IC
IC Buy网
军工IC网
18show
千禧网100
电子元器件工厂采购网
中采网
电源网
中国国防电子网
English website
上海图一实业(深圳)有限公司
google
新浪
电子查询网
世界电子元器件
电子元器件交易网

首页 >>> 产品目录 >>> HT1621应用实例 >>> HT48 & HT46 MCU 对HT1621 的读写-- 使用C 语言
产品[HT48 & HT46 MCU 对HT1621 的读写-- 使用C 语言]资料
如果您对该产品感兴趣的话,可以
产品名称: HT48 & HT46 MCU 对HT1621 的读写-- 使用C 语言
产品型号: HT1621
产品展商: 上海图一实业有限公司
简单介绍
HT1621 是一款128 个位元的LCD 控制器件,内部RAM 直接对应LCD 的显示单元。HT1621相应的软件使它适用于包括LCD 模块和显示子系统在内的多功能应用。主控制器与HT1621接口只需4 到5 根线。内置的省电模式极大的降低了功耗。本文介绍HT48R05A-1 单片机来控制HT1621,并介绍如何turn ON 及turn OFF LCD 所有位元。
HT48 & HT46 MCU 对HT1621 的读写-- 使用C 语言的详细介绍

HT48 & HT46 MCU 对HT1621 的读写
--使用C 语言
文件编码:HA0103S
介绍:
HT1621 是一款128 个位元的LCD 控制器件,内部RAM 直接对应LCD 的显示单元。相应的软件使它适用于包括LCD模块和显示子系统在内的多功能应用。主控制器与HT1621接口只需4 到5根线。内置的省电模式极大的降低了功耗。本文介绍HT48R05A-1 单片机来控制HT1621,并介绍如何turn ON 及turnOFF LCD 所有位元。
应用说明:
对于HT1621,操作之前应该给它发送标志码,表明要求工作在哪种状态。标志的定义
如下表:
操作 状态 标志码
读 数据 110
写 数据 101
读-修改-写数据 101
控制 命令 100
为了点亮LCD,必须先给出两个控制指令:SYSTEM ENABLE 和LCD ON。SYSTEM
ENABLE 指令码是:10000000001X(X 为 Don’t care bit)。LCD ON指令码是:10000000011X
(X 为 Don’t care bit)。操作结束可以用SYSTEM DISABLE 来关闭LCD。
由于是串行通信,数据应该先出现在DATA INPUT 脚,然后给出一个写允许信号(WR),
输入一位数据,接着输入第二位…直到全部写入。
对RAM 区不连续写数据过程如下:
1 0 1 A5 A4 A3 A2 A1 A0 D0 D1 D2 D3 结束位 下一过程
先发送标志码101,表明下面要进行写操作。然后发送地址码A5~A0,用D0~D3 指定
对应的位,就可以对LCD 相应的位元操作了。读的过程除了标志位不同,其余类似。
连续读写时,给出起始地址,操作结束地址自动加一。
例程:
本例介绍如何turn ON 及turn OFF LCD 全部位元。程序流程如下:
系统初始化→1621 启动→点亮LCD 全部位元→关闭HT1621
电路图:参照HT1621 的规格书
HT48 & HT46 MCU 对HT1621 的读写 – 使用C 语言

#include <ht48r05a-1.h>
#define uchar unsigned char
#define BIAS 0x24
#define SYSEN 0x01
#define LCDOFF 0x02
#define LCDON 0x03
#define cs _pa0
#define wr _pa2
#define dat _pa3
void SendBit_1621(uchar data,uchar cnt) //data 的高cnt位写入HT1621,高位在前
{
uchar i;
for(i =0; i <cnt; i ++)
{
if((data&0x80)==0) dat=0;
else dat=1;
wr=0;
_nop();
wr=1;
data<<=1;
}
}
void SendDataBit_1621(uchar data,uchar cnt) //data 的低cnt位写入HT1621,低位在前
{
uchar i;
for(i =0; i <cnt; i ++)
{
if((data&0x01)==0) dat=0;
else dat=1;
wr=0;
_nop();
wr=1;
data>>=1;
}
}
HT48 & HT46 MCU 对HT1621 的读写 – 使用C 语言

void SendCmd(uchar command)
{
cs=0;
SendBit_1621(0x80,3); //写入标志码"100"
SendBit_1621(command,9); //写入9 位数据,其中前8 位为command 命令,最后1 位任意
cs=1;
}
void Write_1621(uchar addr,uchar data)
{
cs=0;
SendBit_1621(0xa0,3); //写入标志码"101"
SendBit_1621(addr<<2,6); //写入6 位addr
SendDataBit_1621(data,4); //写入data 的低4 位
cs=1;
}
void WriteAll_1621(uchar addr,uchar *p,uchar cnt)
{
uchar i;
cs=0;
SendBit_1621(0xa0,3); //写入标志码"101"
SendBit_1621(addr<<2,6); //写入6 位addr
for(i =0; i <cnt; i ++,p++) //连续写入数据
{
SendDataBit_1621(*p,8);
}
cs=1;
}
void main()
{
uchar a[10];
a[0]=0x21;a[1]=0x43;a[2]=0x65;a[3]=0x87;a[4]=0xa9;
_pac=0; //将端口设为输出
SendCmd(BIAS); //设置偏压和占空比
SendCmd(SYSEN); //打开系统振荡器
SendCmd(LCDON); //打开LCD 偏压发生器
Write_1621(0x09,0x01); //在地址0x09 处写入数据0x01
WriteAll_1621(0,a,5); //在起始地址为0 处连续写入5 个字节数据
//a为写入数据的起始地址,5 为写入的字节数
SendCmd(LCDOFF); //关闭LCD 显示
}

 台湾合泰(Holtek)中国区技术支持电话,上海盛扬:021-64855560,深圳盛扬:0755-83465589,北京盛扬: 010-66410030 成都盛扬:028-66536590

产品留言


相关产品
HT48 & HT46 MCU 对HT1621 的读写-- 使用C 语言 HT1621
上海图一实业有限公司
联系电话:021-65173783,65619492  传真电话:021-65366771
联系地址:上海市宝山区逸仙路1238弄逸仙华庭6号301-401室      邮 编:200439   粤ICP备08118721号   网站管理入口
 
主营产品:HT1621  HT1622  HT7130  时钟芯片HT1381  水族箱  烟雾报警器