首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 用Spartan-3e Starter Kit Board实现LED花样流水灯
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用Spartan-3e Starter Kit Board实现LED花样流水灯
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2014-5-7 20:07
|
只看该作者
用Spartan-3e Starter Kit Board实现LED花样流水灯
Board
流水灯似乎是个学习嵌入式编程的永恒实验,任何一种开发板的配套程序,第一个肯定是点亮一个LED,接下来则是流水灯。从汇编到C,从AT89C51到mega16,我实现了很多流水灯。今天又用Verilog HDL写了一个(想起一个关于程序员的冷笑话,书法家:我会用N种字体写毛泽东的词。程序员:我会用N种语言写"Hello world!" = =)。思路比较简单,时钟分频后用case语句驱动LED,实现多种状态的变化。本文因作者属于初学水平,技术含量不高,高手路过即可,愿意的话也可指点一二。
硬件环境:Xilinx Spartan-3e Starter Kit Board
软件环境:Xilinx ISE 8.2i
编程语言:Verilog HDL
实验过程:
打开ISE,新建一个工程。取名为led_variable,点击next。
选择正确的器件,并一路next到finish。在工作区里右键-new source,选择Verilog Module,命名为led_variable,一路next到finish。
在代码编辑区里输入Verilog源码,具体源码见文后。
接下来,综合,实现,无错误之后配置引脚。参考Spartan-3E Starter Kit Board User Guide.pdf
分配好引脚之后就可以生成编程文件了。
将生成的.bit文件烧录到FPGA中,就可以看到绚丽的彩灯了。
附件:
Verilog HDL源程序
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 19:49:41 01/09/2011
// Design Name:
// Module Name: led_variable
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module led_variable(clk_50MHz, led);
input clk_50MHz;
output[7:0] led;
reg [7:0] led;
reg [22:0] count;
reg [4:0] state;
wire clk;
always @ (posedge clk_50MHz)
count<=count+1'b1;
assign clk=count[22];//division
always @ (posedge clk)
begin
case(state)
5'b00000: led=8'b11111111;
5'b00001: led=8'b00000000;
5'b00010: led=8'b01010101;
5'b00011: led=8'b00000000;
5'b00100: led=8'b10101010;
5'b00101: led=8'b00000000;
5'b00110: led=8'b00000001;
5'b00111: led=8'b00000010;
5'b01000: led=8'b00000100;
5'b01001: led=8'b00001000;
5'b01010: led=8'b00010000;
5'b01011: led=8'b00100000;
5'b01100: led=8'b01000000;
5'b01101: led=8'b10000000;
5'b01110: led=8'b01000000;
5'b01111: led=8'b00100000;
5'b10000: led=8'b00010000;
5'b10001: led=8'b00001000;
5'b10010: led=8'b00000100;
5'b10011: led=8'b00000010;
5'b10100: led=8'b00000001;
5'b10101: led=8'b00000000;
5'b10110: led=8'b11111111;
5'b10111: led=8'b01111110;
5'b11000: led=8'b00111100;
5'b11001: led=8'b00011000;
5'b11010: led=8'b00000000;
5'b11011: led=8'b00011000;
5'b11100: led=8'b00111100;
5'b11101: led=8'b01111110;
5'b11110: led=8'b11111111;
5'b11111: led=8'b00000000;
endcase
state=state+1;
end
endmodule
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议