Page 113 - 201909数码世界9.9
P. 113
科技交流
基于 FPGA 的简易计算器的设计
曾小宝
摘要:本文介绍了一款基于 FPGA 的 8051 单片机 IP 核的简易计算器的设计。系统硬件采用 EP3C5E144 芯片设计开发,软件采
用康芯公司提供的 8051 单片机 IP 核设计开发,该设计使用 Quartus9.0 开发环境来设计 FPGA 片上系统,采用 C 语言设计 8051
单片机程序,并使用 Keil 开发环境来编程开发。系统外围硬件设备主要包括液晶显示模块,键盘输入模块,蜂鸣器模块,LED
灯模块;其中信息显示使用 LCD1602 液晶显示模块,信息输入使用矩阵键盘模块,LED 灯用于监视程序运行状态,蜂鸣器设
计用于产生按键辅助提示音。本文设计的简易计算器实现了有符号整数的加、减、乘、除表达式运算显示功能和日历时间显
示功能,实验测试表明,系统能够稳定、可靠地运行。
1 引言 到 P0[7] 四个输入线电平之一变为 0,则按键中断信号 P3I[2]
随着现代 EDA(Electronic Designed Automation)技术 也变为 0,信号 P3I[2] 与 8051 单片机的外部中断 0 管脚连接。
的发展和大规模 FPGA(Field - Programmable Gate Array) 在单片机初始化程序中,设置外部中断 0 为低电平触发方式,
器件的出现,嵌入式软核处理器在嵌入式系统设计开发中的应 并启动外部中断 0 ,当外部按键按下时,按键中断信号就会变
用越来越广泛,与传统的基于微控制器芯片的开发方式相比, 为低电平而触发按键中服务程序,在按键中断服务程序中,逐
IP 核(Intellectual Property Core)受硬件条件限制小,具 列送出扫描电平,并判断按键行号,然后根据行列值计算按键
有更大的灵活性,可缩短系统的设计开发时间。采用 FPGA 与 编码,由此,实现按键动作的识别和编码。
IP 核相结合进行嵌入式系统开发,为设计人员提供了一种新的 4 调试与分析
快捷高效的设计方法。 系统的实验测试使用了康芯公司设计的 EP3C5E144 开发板
本文设计的简易计算器是在 FPGA 芯片内嵌入 8051 单片机 硬件平台,FPGA 开发设计软件采用 Quartus9.0 版本,单片机 C
IP 核作为主控制器,并利用 FPGA 的内部资源来构造出单片机 程序开发采用 Keil uVision4。在开发调试过程中,我们遇到
系统必需的 PLL 模块、RAM 模块和 ROM 模块,另外,因为 4X4 了很多问题,比如,在 LCD1602 液晶显示设计中,由于没有对
矩阵按键扫描和 LCD1602 读忙操作都需要具有输入输出双向功 液晶进行读忙操作,使得液晶初始化操作异常,导致液晶显示
能的 I/O 口,因此系统设计了相应的双向 I/O 口电路,此外, 异常的问题,通过加入读忙操作,可确保液晶可靠初始化,从
为了实现 4X4 矩阵按键的中断扫描工作方式,还专门设计了按 而解决液晶显示异常问题。读忙的操作要求单片机的 I/O 具备
键中断信号产生电路。 双向功能,为此,系统需要给 8051 单片机 IP 核设计双向 I/O
2 系统硬件方案设计 的接口电路 .
本文设计的简易计算器系统硬件主要由电源模块、EEPROM 5 结论
模块、4X4 矩阵键盘模块、LCD1602 液晶显示模块、蜂鸣器和 本文利用8051单片机IP核设计的简易计算器能够进行加、
LED 监视灯等构成,如下图 1 所示为简易计算器系统的硬件框图。 减、乘、除表达式运算,输入设备采用使用普遍、占用资源
其中,EEPROM 是采用 EPCS4 芯片设计,该芯片具有 512KB 的存 少的 4X4 矩阵键盘,输出设备采用价格低廉、性能稳定可靠的
储容量,可用于存储 FPGA 的程序代码,系统上电后,FPGA 可 LCD1602 液晶显示器;另外,系统使用蜂鸣器产生提示音来辅
从 EEPROM 中读取程序代码运行。设计考虑到计算器需要较多输 助用户的输入操作,使得人机交互操作更加简单便捷。LED 监
入按键,系统采用 4X4 的矩阵键盘作为输入设备,该设计只需 视灯的设计则可以让用户实时了解系统运行状况,确保系统运
要 8 位数据线就可提供 16 个有效按键,具有占用资源少、使用 行稳定可靠。通过本文简易计算器实例的设计,验证了在嵌入
高效、设计紧凑等优点。 式系统中,使用 IP 核可以加快设计过程,缩短设计周期,提高
3 矩阵键盘 设计效率。
在采用轮询扫描工作方式情况下,无法确保按键的可靠响
应,同时周期性地扫描操作极大地占用了 CPU 的资源,甚至影
响其他程序的正常运行,因此,本文采用中断扫描方式设计矩 参考文献
阵按键的程序,由此需要利用矩阵键盘的 8 位数据线来生成中 [1] 苏学颖 . 基于 8051 单片机 IP 软核的优化设计及应用研
断信号,根据矩阵键盘扫描工作方式的原理,利用矩阵键盘的 究 [D]. 西华大学 2007
4 位输入线(P0 口高四位为键盘的行数据线)通过一个四输入 [2] 王瑞,游志宇,杜杨,王军. MC8051单片机IP核的
与门可生成需要的按键中断信号,当某个按键按下时,P0[4] FPGA 实现与应用 [J]. 电子设计工程 . 2009(01)
116... ...117