基于sopc设计万年历课程设计报告

基于sopc设计万年历课程设计报告

ID:8477171

大小:2.20 MB

页数:13页

时间:2018-03-29

基于sopc设计万年历课程设计报告_第1页
基于sopc设计万年历课程设计报告_第2页
基于sopc设计万年历课程设计报告_第3页
基于sopc设计万年历课程设计报告_第4页
基于sopc设计万年历课程设计报告_第5页
资源描述:

《基于sopc设计万年历课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、FPGA-CPLD原理及应用课程设计报告题目:基于SOPC设计万年历学院:信息与电子工程学院专业:电子信息工程学号:姓名:指导老师:时间:2015.7.15--2015.7.2012山东工商学院课程设计报告一、摘要设计从系统硬件出发,由CPU、总线、RAM、外接设备等构成SOPCBuilder的硬件系统,通过NiosIIDE2开发的嵌入式软件编写并嵌入SOPCBuilder的硬件中实现万年历的整体开发。通过应用SoPCBuilder开发工具,设计者可以摆脱传统的、易于出错的软硬件设计细节,从而达到加快项目

2、开发、缩短开发周期、节约开发成本的目的并具有高集成度、设计灵活和可移植性较好。关键词:万年历SOPCSOPCBuilderNiosIIDE2二、设计要求用NiosIIDE2开发板的LCD显示电子钟的日期和时间。LCD分两行显示,第1行显示年、月、日;第2行显示时、分、秒。用输入BUTTON[0]来控制LCD行的修改,同时让NiosIIDE2开发板上的绿色发光二极管亮灭来表示这个选择。当BUTTON[0]按一下后,LEDG3亮,可以修改年、月和日的数字;再按一下BUTTON[0]后,LEDG3灭,可以修改时

3、、分和秒的数字。另外用输入按钮BUTTON[3]来控制日期和时间的修改,当处于日期修改方式时,每次按动一次BUTTON[3],依次更换“年”、“月”和“日”的修改。当处于时间修改方式时,每次按动一次BUTTON[3],依次更换“时”、“分”和“秒”的修改。修改对象被选中后,按动BUTTON[2]输入按钮可以增加显示的数字;按动BUTTON[1]输入按钮可以减少显示的数字。三、设计内容1、按键信息BUTTON[3]:“年”、“月”、“日”或“时”、“分”、“秒”切换键BUTTON[2]:+键BUTTON[1

4、]:-键BUTTON[0]:“年”、“月”、“日”与“时”、“分”、“秒”切换键显示信息LCD_Line1:显示“年”、“月”、“日”LCD_Line1:显示“时”、“分”、“秒”2、SOPCBuilder硬件建立12山东工商学院课程设计报告SOPCBuilder是在QuartusII里的SOPCBuilder进行的,先建立工程,在SOPCBuilder里添加硬件,包括CPU,jtag_uart,RAM,LCD,PIO,按键,LED,以及LCD_ON。3、QuartusII硬件处理硬件会自动建立一个顶层模

5、块,通过建一个原理图来对对应的硬件进行输入输出的添加,再锁定引脚,编译工程,硬件下载。4、NiosIIDE2嵌入软件编写在NiosII里建立工程,选择相应的模块,编写需要嵌入的软件,添加缺少的头文件对应的宏定义,编译工程,进行软件下载,在观察结果。四、设计步骤1、打开QuartusII新建工程2、打开SOPCBuilder生成相应的硬件如图所示图1.SoPC配置建立好后点击Generate运行,看是否出错,然后点击exit退出。3、调用刚才生成的硬件系统,在QuartusII中建立图形文件,然后进行引脚锁

6、定。引脚锁定引脚文件如下:ClkY2Led[3]E24Led[2]E25Led[1]E2212山东工商学院课程设计报告Led[0]E21KEY[3]R24KEY[2]N21KEY[1]M21KEY[0]M23LCD_RWM1LCD_ENL4LCD_RSM2LCD_DATA[0]L3LCD_DATA[1]L1LCD_DATA[2]L2LCD_DATA[3]K7LCD_DATA[4]K1LCD_DATA[5]K2LCD_DATA[6]M3LCD_DATA[7]M5然后进行编译,在QuartusI下生成文件如下

7、图:图2.顶层电路4、NiosII运行打开NiosIIIDE2,建立工程,选择count_binary模块,添加一个LCD.h的顶层文件。12山东工商学院课程设计报告在此写出C语言程序代码。LCD.h的顶层文件为:#ifndef_LCD_H_#define_LCD_H_//LCDModule16*2#definelcd_write_cmd(base,data)IOWR(base,0,data)#definelcd_read_cmd(base)IORD(base,1)#definelcd_write_dat

8、a(base,data)IOWR(base,2,data)#definelcd_read_data(base)IORD(base,3)//==========================voidLCD_Init();voidLCD_Show_Text(char*Text);voidLCD_Line2();voidLCD_Test();//=========================#endif//_LCD_H_然后建

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。