电子信息工程技术专业《外围电路模块设计》 显示与按键
⑵ 12864(128×64的分辨率) ①综述
12864为带中文字库图形点阵液晶显示模块其液晶屏幕为128*64,可显示四行,每行可显示8个汉字。其背光为蓝色,字符为白色。
中文液晶显示模块12864的字型ROM内含8192个16*16点中文字型和128个16*8半宽的字母符号型;另外绘图画面提供一个64*256点的绘图区域GDRAM;而且内含CGRAM提供4组软件可编程的16*16点阵造字功能。 ②电气特性
编号 1 2 3 名称 模块电压(VDD) 模块电流 背光参数 单位 V mA V/mA 参数 5V 2mA 3.1V,75mA 图2 12864电气特征
③引脚定义
管脚号 管脚名称 管脚功能描述 1 2 3 4 VSS VCC V0 RS(CS) 电源地 电源正 LCD亮度调整,外接电阻端 并行:RS=“H”,表示DB0-DB7为数据 RS=“L”,表示DB0-DB7为指令数据 串行:为CS片选信号 CS=“H”允许 CS=“L”禁止 5 R/W(SID) 并行:R/W=”H”,读出数据 R/W=“L”,写入数据 串行:输入串行数据 6 E(SCLK) 并行:使能信号 串行:出入串行脉冲 7
DBO-DB7 三态数据线 6
电子信息工程技术专业《外围电路模块设计》 显示与按键
8 PSB 串并行工作选择端 H:8位或4位并口方式,L:串口方式 通过改接模块背光短路电阻改变PSB引脚电平,默认接高电平。不可在不改接短路电阻的情况下将此引脚直接引线接低电平 9 10 11 12 13 NC RESET VODT A X 空脚 复位端,低电平有效 背光亮度调整,外接电阻端 背光源正端(+5V) 背光源负端 图3 引脚定义表
2、按键
独立键盘与单片机连接时,每一个按键都需要单片机的一个I/O口,若某单片机系统需较多按键,如果用独立按键便会占用过多的I/O口资源。单片机系统中I/O口资源往往比较宝贵,当用到多个按键时,为了节省I/O口线,我们引入矩阵键盘。
我们以4×4矩阵键盘为例讲解其工作原理和检测方法。将16个按键排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样便一共有4行4列共8根线,我们将8根线连接到单片机的8个I/O口上,通过程序扫描键盘就可检测16个键。用这种方法我们也可以实现3行3列9个键、5行5列25个键、6行6列36个键等。
无论是独立键盘还是矩阵键盘,单片机检测其是否被按下的依据都是一样的,也就是检测与该按键对应的I/O口是否为低电平。独立按键有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I/O口相连,因此在检测时需人为通过单片机I/O口送出低电平。检测时,先送一列为低电平,其余几列全为高电平(此时我们确定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪一行那一列的,用同样的方法轮流送各列一次低电平,再
7
电子信息工程技术专业《外围电路模块设计》 显示与按键
轮流检测一次各行是否变为低电平,这样既可检测完所有按键,当有键被按下时便可判断出按下的键是哪一个键。当然我们也可以将行线置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法。
四、 基本原理
图4 显示部分原理图
图5 按键原理图
8
电子信息工程技术专业《外围电路模块设计》 显示与按键
图6 显示与按键PCB图
五、 软件部分
1、编程技巧
⑴、在按键扫描中,通过for循环语句实现被按下的按键行值的确定,用switch
语句实现列值。0xEX(X表示任意一个十六进制数)表示4×4键盘的第一行中的某个按键被按下,相应的0xDX、0xBX、0x7X分别表示键盘的第二行、第三行、第四行;0xXE、0xXD、0xXB、0xX7则分别表示键盘的第一列、第二列、第三列和第四列。
⑵、uc-Row+ucLine+1即为被按下的按键的行列值。
⑶、用十六个switch语句实现对单片机P0端口和P2端口的I/O数据线的
控制,来控制数码管显示被按下按键的行值和列值。
9
电子信息工程技术专业《外围电路模块设计》 显示与按键
2、程序流程图
开始
初始地址化参数
输入列扫描信号
列扫描信号移位
读入行信号
是 该列有键输入?
否
6 列扫描完? 否 返回
按照行列计算键值
查表得键码
等待按键释
返回
图7 程序流程图
10