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
   108   109   110   111   112   113   114   115   116   117   118