七段数码显示字符 VHDL设计与实现
2012-03-03 20:21
295 查看
作者:chenjieb520
一.设计目的
学习七段数码管显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
二.设计内容
利用译码程序,构造七段数码管,并完成编译、综合、适配、仿真和硬件测试。
三.程序设计原理
实验步骤:请按照以下步骤实现七段解码器电路:
(1) 新建一个QuartusⅡ工程,用以在DE2平台上实现所要求的电路。
(2) 建立一个VHDL文件,实现七段解码器电路,用SW2~SW0作为输入c2~c0,DE2平台上的数码管分别为HEX0~HEX7,输出接HEX0。
(3) 参照DE2平台的引脚分配表分配引脚。
(4) 编译工程,完成后下载到FPGA中。
(5) 拨动波段开关并观察七段数码管HEX0的显示,以验证设计的功能是否正确。
四.程序流程图
五.源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DECL7S IS
PORT(A:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE one OF DECL7S IS
BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN "00" => LED7S<="0001001";
WHEN "01" => LED7S<="0000110";
WHEN "10" => LED7S<="1000111";
WHEN "11" => LED7S<="1000000";
WHEN OTHERS=>NULL;
END CASE;
END PROCESS;
END;
六.调试过程
实验结果就是:当
A=00 时 在LED上显示字符“H”
A=01 时 在LED上显示字符“E”
A=10 时 在LED上显示字符“L”
A=11 时 在LED上显示字符“O”
实验结果和实验要求相吻合。
七.遇到的问题及解决方法
1、在本次实验中,由于实验的内容比较简单,没有遇到比较大的问题,主要是在仿真的波形的建立方面,比较没有技巧,导致花费了很多时间。
2、在其他的代码方面,由于有课本的代码可以进行改造,所以没有遇到比较大的问题。
八.参考文献
EDA技术与VHDL(第二版) 潘松 黄继业 编著
一.设计目的
学习七段数码管显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
二.设计内容
利用译码程序,构造七段数码管,并完成编译、综合、适配、仿真和硬件测试。
三.程序设计原理
实验步骤:请按照以下步骤实现七段解码器电路:
(1) 新建一个QuartusⅡ工程,用以在DE2平台上实现所要求的电路。
(2) 建立一个VHDL文件,实现七段解码器电路,用SW2~SW0作为输入c2~c0,DE2平台上的数码管分别为HEX0~HEX7,输出接HEX0。
(3) 参照DE2平台的引脚分配表分配引脚。
(4) 编译工程,完成后下载到FPGA中。
(5) 拨动波段开关并观察七段数码管HEX0的显示,以验证设计的功能是否正确。
四.程序流程图
五.源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DECL7S IS
PORT(A:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE one OF DECL7S IS
BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN "00" => LED7S<="0001001";
WHEN "01" => LED7S<="0000110";
WHEN "10" => LED7S<="1000111";
WHEN "11" => LED7S<="1000000";
WHEN OTHERS=>NULL;
END CASE;
END PROCESS;
END;
六.调试过程
实验结果就是:当
A=00 时 在LED上显示字符“H”
A=01 时 在LED上显示字符“E”
A=10 时 在LED上显示字符“L”
A=11 时 在LED上显示字符“O”
实验结果和实验要求相吻合。
七.遇到的问题及解决方法
1、在本次实验中,由于实验的内容比较简单,没有遇到比较大的问题,主要是在仿真的波形的建立方面,比较没有技巧,导致花费了很多时间。
2、在其他的代码方面,由于有课本的代码可以进行改造,所以没有遇到比较大的问题。
八.参考文献
EDA技术与VHDL(第二版) 潘松 黄继业 编著
相关文章推荐
- 基于VHDL的层次化设计:异步清零和同步使能4位十六进制加法计数器和七段显示译码器的元件例化实现
- 基于VHDL的层次化设计:异步清零和同步使能4位十六进制加法计数器和七段显示译码器的元件例化实现
- 程序设计基石与实践之实现数字七段显示与发扑克牌问题
- 移动速度可控的字符集自动循环显示 VHDL设计与实现
- 8255A与七段共阳LED连接电路实现循环显示数码0~9
- 关于解决字符乱码问题及对ucGUI底层实现字符显示的浅析
- 【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现
- 【字符串处理算法】删除特定的字符的算法设计及C代码实现
- CPLD 八段数码管时钟显示的VHDL实现
- 2.数码相框-编码(ASCII/GB2312/Unicode)介绍,并使LCD显示汉字字符(2)
- 编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入"END"为止,让你写出客户端的程序;
- 两个C/C++的小程序,实现不显示字符的键盘输入和实现动态显示的百分数
- 模块管理常规功能自定义系统的设计与实现(51--功能更新[1] 对父模块的链接显示)
- 基于FPGA/CPLD设计与实现UART(VHDL)
- 设计组织树 通过java拼接xml组织树 实现界面组织树 通过数据库配置动态决定菜单树显示与否、排列优先
- Button按钮实现 向左或向右 缩进字符并显示在首部(尾部)(技术改变世界-cnblog)
- 设计并实现一个LogService,应用开发时可以打印log到视图(TextView)中显示
- 第七届 科技节 电子设计大赛 三等奖作品---高分辨率手机屏幕显示系统设计与实现
- Python实现对比不同字体中的同一字符的显示效果
- JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果