实验步骤:
打开51内核的工程,为内核的进行配置引脚,这个过程根据开发板的原理图就进行,引脚包括:clk、复位、LED的驱动管脚。
分配好了之后,记得把没有用的管脚设置为输入三阻态。
(2)设置ROM程序存储模块的编号,目的是在将网表文件下载到FPGA后能够通过QuartusII软件访问ROM模块,能将.hex文件下载到FPGA中的ROM(其实FPGA中是没有ROM,ROM都是用RAM做的,只是在操作的时候把它当成ROM而已,所以就认为是ROM),这一步骤是方便以后在重新编译生成.hex文件时快速下载,不用重新综合整个工程(综合整个工程要大概二十多分钟)。
双击该ROM模块:,在出现的窗口中点击Mem Init,然后进行如下的设置:
设置完成后点击Finish,完成后进行综合(综合时间比较长,这个时间就可以用来进行C编程)。
(3)进行C编程,这里采用Keil进行编程。(具体流程不详解)
这里实现的功能是LED灯的左右移动,代码如下:
void display()
{
unsigned char i,temp;
temp=0x01;
for(i=0;i<8;i++)
{
temp=0x01;
for(i=0;i<8;i++)//从左到右逐个点亮
{
LED=~temp;
temp<<=1;
delay_ms(500);
}
temp=0x80;
for(i=0;i<8;i++)//从左到右逐个点亮
{
LED=~temp;
temp>>=1;
delay_ms(500);
}
}
}
(4)当你编写好代码生成.hex后可能会想怎么下载到FPGA里面,不急!这里进行详细说明。还记得第二个步骤吗?做好了那个步骤,其实我们的工作已经完成了一半。
点击Tools,在出现的下拉菜单中点击In-System Memory Content Editor。如下图:
这是会出现以下窗口,
在下载好了之后,便可以将生成的.hex文件下载到ROM中。具体操作如下:
(该工具功能很强大,不仅可以下载文件到ROM中,还可以从ROM中读取数据生成文件。同时也可以对ROM写入和读取数据)。
然后在文件选择窗口中选择生成的.hex文件,然后点击导入。这里选择如下:
导入后,点击
便将.hex下载到ROM中。(是不是下载很快啊,比一般的单片机下载还快吧!)