基于niosii的跑马灯设计

基于niosii的跑马灯设计

ID:8527395

大小:371.00 KB

页数:6页

时间:2018-03-31

基于niosii的跑马灯设计_第1页
基于niosii的跑马灯设计_第2页
基于niosii的跑马灯设计_第3页
基于niosii的跑马灯设计_第4页
基于niosii的跑马灯设计_第5页
资源描述:

《基于niosii的跑马灯设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、实验要求:采用niosII软件和QuartusII软件设计一个跑马灯,即使LED小灯循环点亮。二、实验步骤及实验结果:1、建立工程2、点击SOPCbuilder开始定制niosII模块命名为sk_cpu.Sopc选择verlog作为目标语言。图1sopcbuilder图2为niosII模块命名3、添加cpu模块如图1所示。因系统比较小,选择NiosII/e型可以满足设计要求,并为定制的cpu取一个名字(也可以默认)。图3在NiosII中定制CPU模块4、添加位宽8位,的4kbyte的ram模块定制完cpu,在右侧选择memoriesandmemorycontroller->

2、on-chip->onchipmemory(ramorrom)。在弹出的对话框中选择ram。其他参数默认即可。并修改名为ram。1、在Peripherals中的MicrocontrollerPeripherals中添加6位的pio并修改名字为led,如图所示自动分配存储器空间auto。图4添加个外设后的CPU模块2、生成定制的cpu模块,并建立.bdf的顶层文件,使顶层文件名与工程名一致。在原理图文件中添加SK_CPU模块以及输入输出引脚,分别命名如下图所示。3、建立顶层原理图.bdf文件(必须与工程名一致)。添加上述生成的CPU模块,并添加输入输出引脚如图5所示。图5顶层原理

3、4、编译上述工程5、引脚分配图6引脚分配后的顶层原理图视图图7引脚分配情况1、重新编译。2、点击niosIIIDE进入niosII界面建立工程,在SOPCBuilderSystemPTFFile中选择刚刚定制好的cpu模块SK_CPU.ptf作为编程目标cpu。选择helloword为模板,进行适当修改为IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,led);builtproject编译成功后,下载。图8在niosII界面定制工程模板下载有两种方式。一是采用传统的QuartusII下载。另一种是采用niosII软件下载。下面分别加以介绍。1)下载方式

4、1:下载后程序会自动运行。图9QuartusII界面下载2)下载方式2:在nioII界面点击tools/quartursIIprogrammer图10niosII界面下载下载后点runas,run使程序进入运行状态。同时按复位键使其为高电平。程序开始运行。可以看到8个led小灯循环点亮。12、运行程序,观察实验结果。8个led小灯循环点亮。三、源程序清单#include"system.h"#include"altera_avalon_pio_regs.h"#include"alt_types.h"/**Thisisafreestandingapplication,sowewan

5、ttousealt_main*astheentrypoint.However,ifthedebuggerisrunonthis*application,itwilltrytosetabreakpointatmain,which*theapplicationdoesnotcontain.Thebelowlinecreatesan*aliassothedebuggerisabletosetabreakpointatmain,*yettheapplicationretainsalt_mainasit'sentrypoint.*/intmain(void)__attribute__((

6、weak,alias("alt_main")));/**Usealt_mainasentrypointforthisfree-standingapplication*/intalt_main(void){alt_u8led=0x2;alt_u8dir=0;volatileinti;/**Infinitelyshiftavariablewithonebitsetbackandforth,andwrite*ittotheLEDPIO.Softwareloopprovidesdelayelement.*/while(1){if(led&0x81){dir=(dir^0x1);}if(

7、dir){led=led>>1;}else{led=led<<1;}IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,led);/**Thedelayelementinthisdesignhasbeenwrittenasawhileloop*toavoidconfusingthesoftwaredebugger.Atight,onelinesoftware*delayloopsuchas:*for(i=0;i<;i++);*cancauseproblemswhenit

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

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

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