项目名:LCD菜单
实现功能:通过ATmega16控制LCD显示和键盘控制菜单选择。此菜单根目录有3个子菜单:图片显示、
说明、操作。“图片显示“中有一张atmel.bmp
硬件支持:ATmega16,TS12864-3 v1.2(带字模),4x4键盘
接口连接:
PB0~PB7 DB0~DB7
PD0~PD7 PB0~PB3 4X4键盘列(4-8)
PB4~PB7 4x4键盘行(1-3)
PC0 RS
PC1 RW
PC2 E
PC3 RST
注意:
1.出现读写转换时,先关闭EN
2.逻辑错误导致液晶不显示字符
3.字符和数字混显时,如有空格,则应该空偶数个,否则会显示乱码
4.显示的窗口及窗口处理函数可以用结构数组
5.每次显示下一幅画面时,要先檫除前次显示的画面
6.对菜单项选择,只需檫除上次显示的标记位
7.尽量少使用全局变量,通过传递参数实现各模块的链接
8.在定义全局类型时,通过添加#ifndef #define #endif,确保不重复定义
9.反白选择,通过对应位填0xff
10.LCD12964一行有128个像素点。对ASCII一列为8个像素点(即一个字节),所以有16列 16个
半宽字符;汉字,一列占两个字节宽,共8列,即8个汉字。
11.TS12864-3 v1.2 为128x64,分为上下两屏,每一行的开头地址为0x80,0x90,0x88,0x98
缺陷:
1.功能实现较简单
2.未使用多任务模式
3.未使用单行反显选中,因为这样显示慢