3。 采用16位矩阵键盘进行商品选择与确认。
3 硬件设计
3。1 中央控制元件来自优O尔P论R文T网WWw.YoueRw.com 加QQ7520`18766
在本设计中,采用AT89C51作为中央控制元件,如图3。1、3。2所示。
图3。1 89C51仿真图
图3。2 89C51引脚图
主要特性有[3]:AT89C51具有4k字节的闪速存储器,128字节内部RAM,32 个I/O 接口线,2个16位定时器、计数器,1个5向量两级中断结构,片内振荡器和时钟电路。并且,AT89C51可以减少到0Hz的静态逻辑操作,具有两种不同的节电模式。空闲方式停止中央处理器的工作,许可随机存取存储器,定时器、计数器,串行通信口和中断系统持续工作。掉电方式保存随机存取存储器中的内容,但振荡器停止工作而且禁止其它所有部件工作直到下一个硬件的复位。
3。2 LCD1602液晶屏
工业字符型液晶,可以同时显示32个字符。
1602液晶也可以称为1602字符型液晶,是一种主要用来显示字母、数字、符号的点阵型液晶模块。[4]它由若干个5X7或5X11等点阵字符位而组成,每个点阵字符位都可以显示一个字符,每位之间具有间隔,每行之间也有间隔,起到了字符间距及行间距的作用,因此它不能很好地显示图形。
LCD1602指的是显示的内容为16X2,每行16个字符液晶的模块。
LCD1602液晶屏模块接口说明如下表3。1所示。
表3。1 液晶显示模块接口说明
标 号 功 能 说 明 备 注
Vss 逻辑负电源输入,0V
Vdd 逻辑正电源输入,+5V
V0 LCD驱动电源输入脚,大小可调先是对比度 一般接0V
E 读写引脚:
高电平有效,下降沿锁定数据
RS 数据/指令寄存器选择:
RS=“1”:数据D0-D7与数据寄存器通信
RS=“0”:数据D0-D7与指令寄存器通信
R/W 读/写选择引脚:
高电平:读数据论文网
低电平:写数据 若不须读操作功能,该引脚可以直接接地
D0~D7 8位数据线
使用Proteus仿真1602,可以使用以下方式来解决可能会遇到的问题:
1。 数据手册中1602内部D0-7已经有上拉,因此驱动可以直接使用P0口。在Proteus里LM016L内部可能没有,应该人为加上拉电阻。通常不建议使用排阻,使用普通电阻依次拉应该可以解决这个问题;
2。 如果碰到不能检测忙信号的问题,可以使用延时把忙信号拖过去。
市面上字符液晶大多数是基于HD44780液晶芯片,控制原理是完全相同,因而基于HD44780写的控制程序可以很便捷地应用于市面上大部分的字符型液晶屏。
1602液晶屏的读写时序如图所示:
1。 读时序图
图3。3 读操作时序图
2。写时序图