分类: LINUX
2010-08-31 09:02:28
最近一个月在做何态的LCD显示,辛苦一个月显示终于正常了,下面是我的小节,算是留作纪念告慰自己。
HT1626是一个专为I/O口型微控制器设计的液晶显示驱动芯片. HT1626的最大驱动显示能力为512 段 (64x8). HT1626支持串行接口, HT1626同时支持蜂鸣器输出, HT1626还内建看门狗定时器或时基定时器。 HT1626是一个内存映射和多功能的LCD控制器. 通过软件配置功能后的HT1626能适合于多种应用场合,包括液晶显示器、液晶显示模块和显示子系统。用于连接主控制器和HT1626的数据通讯线只需要3根,HT1626还有一个节电命令用于降低系统功耗。
HT1626显示屏的特点是,他里面有个RAM,里面存储的信息以点阵的方式实现,LCD上的每个点对应RAM上的每个信息。简单来说就是RAM里面存储了LCD一个屏的信息。
我的做法是把所有需要显示的字符,在一个表中用ASCI码表示出来,这样显示屏要显示的字符就可以用数组来表示,每个字符用5*5的点阵表示。分别用两个buf存储(当然根据LCD上面各种数据的不用用不同的buf存储,但是点阵只有两个buf,一个存每个字符的点阵表示,另一个存储的值和lcd上面RAM一样(01编码,0表示这个点灭,1表示亮),这样每次往LCD上写数据的时候都把BUF的数据刷到LCD上面去),蜂鸣器输出命令也是在同样的IO口输出,但是它们不存放在BUF里面,否则就刷到LCD上面去了,刷新的时候记得需要把LCD的模式设置成输出模式。
贴上部分代码: