首页
| 基础教程 | 单片机设计实例 | 常用芯片 | 电子基础
当前位置:单片机教程 >> 单片机设计实例 >> 浏览文章 今天是:
单片机设计实例

HT1621 32字节×4位LCD液晶驱动芯片程序

作者:    来源:本站原创    点击数:   更新时间:2008年06月28日   
 

#include
#define RAMSIZE 16 //RAM区16字节
#define BIAS 0x52
#define RC256K 0x30
#define LCDON 0x06
#define SYSEN 0x02
#define SYSDIS 0x00
#define uchar unsigned char
#define uint unsigned int
sbit ht_wr=P1^2;
sbit ht_cs=P1^4;
sbit ht_da=P1^3;
void delay(void){ ; ; }
void enable(void);
void sendbit(uchar nbit,uchar n);
void sendcommand(uchar command);
void reset(void);
void setup(void);
void sendbyte(uchar addr,uchar byte);
void sendstring(uchar addr,uchar *ptr,uchar len);
;http://www.51hei.com出品
;HT1621 32字节×4位LCD液晶驱动芯片程序,程序没有注释原理请读者自行分析。

void enable(void)
{
ht_cs=0;
ht_wr=1;
delay();
ht_wr=0;
delay();
}

void sendbit(uchar nbit,uchar n)
{
uchar i;
for(i=0;i {
if(nbit&0x80)
ht_da=1;
else ht_da=0;
ht_wr=0;
delay();
ht_wr=1;
delay();
nbit<<=1;
}
ht_cs=1;
ht_da=1;
}

void sendcommand(uchar command)
{
enable();
sendbit(0x80,4);
sendbit(command,8);
ht_wr=1;
delay();
ht_cs=1;
delay();
ht_da=1;
}

void reset(void)
{
ht_wr=1;
delay();
ht_cs=1;
delay();
ht_da=1;
}

void setup(void)
{
sendcommand(BIAS);
sendcommand(RC256K);
sendcommand(SYSEN);
sendcommand(LCDON);
}

void sendbyte(uchar addr,uchar byte)
{
addr<<=3;
enable();
sendbit(0xA0,3);
sendbit(addr,6);
sendbit(byte,8);
ht_wr=1;
delay();
ht_cs=1;
}

void sendstring(uchar addr,uchar *ptr,uchar len)
{
uchar i;
addr<<=2;
enable();
sendbit(0xa0,3);
sendbit(addr,6);
if((len+addr)>RAMSIZE)len=RAMSIZE-addr;
for(i=0;i {
sendbit(ptr[i],8);
}
ht_cs=1;
}

void main()
{
setup();
sendbyte(0x04,0x11);
}




 
发表评论】【告诉好友】【收藏此文】【关闭窗口
网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 >> 推荐文章
自制单片机实验板
单片机一键多功能按键识别设
 >> 阅读排行
keil教程
单片机电子时钟设计
单片机DS18B20水温控制系统
单片机交通灯设计
单片机课程设计
单片机数字钟设计
单片机时钟设计
单片机键盘程序(4×4矩阵式
单片机秒表设计
四组智力竞赛抢答器电路设计
 >> 相关文章
单片机键盘c程序
PIC单片机键盘扫描汇编程序(扫描
pic单片机键盘程序
pic单片机驱动led数码管显示程序
单片机看门狗程序
pic单片机计时秒表程序设计(时钟
RS-232接口实现计算机和单片机通
pic单片机p18f458A/D转换程序-采
单片机串行口通信程序汇编语言编
单片机抢答器程序
站长:刘兴国 站长信箱:372xcom1@21cn.com
单片机教程 @ www.51hei.com 2007-2008