河南科技大学本科毕业设计(论文)
§2.2.1 主控芯片选择
码表主要以单片机为主控芯片,而能是想其功能的芯片却有很多,本设计选用的是SST89E516RD。
SST89E516RD是8位集成存储器的51系列兼容单片机,和51系列单片机软件兼容、开发工具兼容、管脚也兼容。SST89E516RD片内有两块SuperFlash EEPROM,分为64K主块(Block0)和8K次块(Block1)。Block0的地址范围是0000H~ffffH;Block1的地址范围是10000h~11fffh。做仿真器时Block1存储区烧写SoftICE仿真监控程序。
SST89E516RD具有在应用可编程(IAP)和在系统可编程(ISP)的功能,其中IAP是通过串口实现的。由于SST89E516RD具有两块独立的SuperFlash程序存储区,当监控程序在Block1存储区中运行时可以改写Block0程序存储区中的程序,使用在线SoftICE模式,不需要反复的将调试程序下载到单片机中,避免了单片机的老化损坏,可方便的与Keil C实现SoftICE在线仿真调试功能[3]。
§2.3 数据处理并显示模块
§2.3.1 多位LED数码管显示
1. 数码管动态显示
有多位LED数码管显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由FPGA的一个8位的I/O口控制,而每一位LED数码管的公共阴极或者公共阳极分别由FPGA的其它的I/O口线控制。对于8位的LED数码管显示,可用采用程序控制的方法,通过不断的移位发送选中要显示的数码管。可见在整个显示模块中至少要9根I/O口线。因为是动态显示,所以需要定时刷新LED数码管。为了稳定的显示,在多位LED数码管显示时需要有很高的数据刷新频率,否则会导致显示效果有些闪烁[4]。
2. 数码管静态显示
7
河南科技大学本科毕业设计(论文)
在多位LED数码管显示时,为了能够显示效果较好,简化电路,把每一位LED数码管的公共阴极或公共阳极通过串行限流电阻后接地或者接+5V,而每位LED数码管的段选线(a、b、c、d、e、f、h)与一片74LS164的4位并行输出口相连接。因为FPGA是并行工作的,故此时FPGA同时发送36个数据用于锁定9个显示的数码管。这样不用通过不断地刷新来改变显示数据,也没有延时,数码管也不会因为频率低而闪烁,只有FPGA发送的数据改变时数码管才发生相应改变。
§2.3.2 128*64 LCD显示
1. 128*64LCD串口方式显示
当PSB脚接低电位时,模块将进入串行模式。从一个完整的串行传输流程来看,一开始先传输起始字节,它需先接收到五个连续的?1?(同步位字符串),在起始字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八位则为?0?。在接收到同步位及RW和RS资料的起始字节后,每一个八位的指令将被分为两个字节接收到:高4位(DB7~DB4)的指令资料将会被放在第一个字节的LSB(最低有效位)部分,而低4位(DB3~DB0)的指令资料则会被放在第二个字节的LSB部分,至于相关的另四位则都为?0?。
2. 128*64LCD并口方式显示
当PSB脚(OCMJ4X16A/B)接高电位时,模块将进入并行模式,在并列模式下可由指令DL FLAG 来选择8位或4位接口,主控制系统将配合(RS , RW , E , DB0~DB7)来达成传输动作。
从一个完整的流程来看,当下设定地址指令后(CGRAM,DDRAM)若要读取数据时需先DUMMY READ一次,才会读取到正确数据,第二次读取时则不需DUMMY READ ,除非再进行下设定地址指令才需再次DUMMY READ。在4位传输模式中,每一个八位的指令或数据都将被分为两个字节动作:较高4位(DB7~DB4)的资料将会被放在第一个字节的(DB7~DB4)部分,而较低4位(DB3~DB0)的资料则会被放在第二个字节的(DB7~DB4)部分,至于相关的另四位则在4位传输模式中DB3~DB0接口未使用。
8
河南科技大学本科毕业设计(论文)
鉴于并口传输方式可以大大地减少系统对时钟的考虑,并且可以提高系统的效率以及减少延时带来的误差,故采用并口传输方式。
并口传输信号时如图2-2示。
图2-2 LCD并口传输信号图
本设计采用的是128*64LCD液晶显示。 主要参数:
(1)工作电压(VDD):4.5~5.5V。 (2)逻辑电平:2.7~5.5V。 (3)LCD驱动电压(Vo):0~7V。
(4)工作温度(Ta):0~55℃(常温)/-20~75℃(宽温)。 (5)保存温度(Tstg):-10~65℃(常温)/-30~85℃(宽温)。
§2.4 键盘部分及所需芯片选择
键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。
编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况。
非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构[5]。
首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键
9
河南科技大学本科毕业设计(论文)
盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。
键盘是单片机系统设计中一种主要的信息输入接口,合理的设计,不仅可以节省系统的设计成本,更可使仪器设备的操作变得更为简单、方便,很大程度上提高系统综合性能。
本设计中,码表要设置很多参数,所以需要输入很多数据,所以本设计中的键盘部分是选用的ZLG7290 I2接口键盘。键盘只需要12个,分别为0~9十个数和小数点以及确认键[6]。
§2.4.1 ZLG7290芯片特点
选用的ZLG7290具有以下特点:
(1) I2C串行接口,提供键盘中断信号,方便与处理器接口。 (2) 可驱动8位共阴数码管或64只独立LED和64个按键。 (3) 可控扫描位数可控任一数码管闪烁。
(4) 提供数据译码和循环,移位,段寻址等控制。 (5) 8个功能键,可检测任一键的连击次数。
(6) 无需外接元件即直接驱LED,可扩展驱动电流和驱动电压。 (7) 提供工业级器件,多种封装形式PDIP24,SO24。
10
河南科技大学本科毕业设计(论文)
第3章 系统硬件设计
§3.1 系统设计图
ZLG7920 芯片 键盘 AT24C02 128*64LCD显示器 SST89E516主控芯片 喇叭 传感器
图3-1 系统框图
本设计采用的是128*64液晶显示器,以ZLG7290作为控制芯片的键盘,以SST89E516作为系统的主控芯片。
§3.2 SST89E516主控芯片
§3.2.1 芯片一般通用暂存器
ACC:最重要的暂存器,运算资料转移都透过ACC。 PC:程式计数器,记载着程式下一个待执行指令位址。 B暂存器:用于乘法,除法指令的辅助暂存器。 PSW程式状态字组:记录程式云作时,CPU各种状态。
11