这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 【MAXII_EPM240T100_CPLD】系列实验 实验一 点亮LED-循环

共2条 1/1 1 跳转至

【MAXII_EPM240T100_CPLD】系列实验 实验一 点亮LED-循环点亮8个LED MAXII EPM240T100

工程师
2017-02-27 15:20:24     打赏
【MAXII_EPM240T100_CPLD】系列实验 实验一 点亮LED-循环点亮8个LED MAXII EPM240T100
首次实验,稍微严谨一点,各个步骤都写下来,并附图或照片。
0. 打开qst软件

1. Create a New Opject/路径/名称/empty/empty。见图片111~图片116。

打开的QSTII

打开软件


向项目向导


项目文件夹和文件名


选择芯片型号


仿真器


选择好后的报告

打开的软件
2. file/New file/名称/输入Code/完成后/Save As.../Compille Design/Ok——No Error,Can be Warring

按照实验0的过程,在过程2的Code阶段,将下边的代码拷贝到文档中。
首先照抄——改了一点,将原来的4只LED改成8只LED循环:
//Test LEDs
module ledTest(
clk, //开发板上输入时钟: 50Mhz
rst_n, //开发板上输入复位按键
led //输出 LED 灯,用于控制开发板上8个 LED(LED0~LED7)
);
input clk;
input rst_n;
output [7:0] led;//8'
//寄存器定义
reg [31:0] timer;
reg [7:0] led;//8'

always @(posedge clk or negedge rst_n)//检测时钟的上升沿和复位的下降沿
begin
if (~rst_n)//复位信号低有效
timer <= 0;//计数器清零

else if (timer == 32'd39_999_999) //开发板使用的晶振为 50MHz,0.25秒计数(39_999_999)
timer <= 0;//计数器计到 4 秒,计数器清零
else
timer <= timer + 1'b1;//计数器加 1
end

always @(posedge clk or negedge rst_n) //检测时钟的上升沿和复位的下降沿
begin
if (~rst_n) //复位信号低有效
led <= 8'b11111111; //LED 灯输出全为低,8个 LED 灯灭
else if (timer == 32'd4_999_999)//计数器计到.1秒,
led <= 8'b11111110; //LED1 点亮
else if (timer == 32'd9_999_999)//计数器计到.2秒,
led <= 8'b11111101; //LED2 点亮
else if (timer == 32'd14_999_999)//计数器计到.3秒,
led <= 8'b11111011; //LED3 点亮
else if (timer == 32'd19_999_999)//计数器计到.4秒,
led <= 8'b11110111; //LED4 点亮
else if (timer == 32'd24_999_999)//计数器计到.5秒,
led <= 8'b11101111; //LED5 点亮
else if (timer == 32'd29_999_999)//计数器计到.6秒,
led <= 8'b11011111; //LED6 点亮
else if (timer == 32'd34_999_999)//计数器计到.7秒,
led <= 8'b10111111; //LED7 点亮
else if (timer == 32'd39_999_999)//计数器计到.8秒,
led <= 8'b01111111; //LED8 点亮
end
endmodule

见图121~图123。

保存为ledTest


编译


编译程序代码

3. Assignments/绑定Pins/完成后关闭此窗口即可。见图131~图133。


点击绑定管脚


绑定管脚


管脚绑定

4. Assignments/TimeQuest Timing Analyzer Wizard。对这种LED显示,很慢,时钟需求检测分析就免了。
5. 再编译一次/Compile Design/Ok——No Error,Can be Warring

6. 单击坐窗口Task/双击最下边的Program Device,见图16

准备下载程序

7. Hardware Setup/选择USB-Blaster。如果USB Blaster没有正确安装,必须将驱动安装好了,否则过不去。图171~图173。


点击选下载工具


下载工具


下载的文档

8. Add File/找到Output File中的.pof文档/Open。图174。

下载勾选

9. 勾选Program/Configure下的所有/可勾选Verify下的。图175。


下载过程

过程10:Start/Prpgress完成后直接看结果。见图18,动图19。


LED轮亮


LED流水动画

程序比较笨,但实现了此块自己DIY的CPLD开发板的首秀。希望改成一个触发定时器来显示的。因为本开发板的资料全无,需要将板载资料一一试出来,所以下一步的实验是测试8只LED8段码管的连接方式。


管理员
2017-02-27 19:04:07     打赏
2楼
楼主加油

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]