VHDL7段数码管循环显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:FPGA设计及应用
实验项目:VHDL7段数码管循环显示
实验时间:2014年3月25号
实验班级:12电子信息工程1班
指导教师:李XX
二〇〇四年四月十三日
广东技术师范学院实验报告
学院: 电子与信息学院 专业: 电子信息工程 班级: 12电本X 班
成绩: 姓名: XXX 学号: XXX 组别: 组员: 实验地点:
工业中心 实验日期: 3.25 指导教师签名:
实验 六 项目名称: VHDL7段数码管循环显示
一、 实验目的和要求
按键1,循环显示“00xy ”
xy 是学号的后两位
例:学号95讲循环显示0095
具体:
第1次按键1显示0
第2次按键1显示0
第3次按键1显示x
第4次按键1显示y
不断重复1—4
二、 实验原理
当输入0000~1111时,数码管对应显示0~F 。按键按一下,数码管显示递增1。
三、实验步骤
1、创建新的工程,步骤如下:
2、创建新的文件
3、用VHDL语言根据实验要求的功能编写代码
4、编译
5、引脚分配
6、链接数据线,下载程序
四、实验源代码
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY kk IS
PORT (A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;
ARCHITECTURE one OF kk IS
BEGIN
PROCESS (A)
BEGIN
CASE A IS
WHEN"0000"=> LED7S <="0111111";
WHEN"0001"=> LED7S <="0111111";
WHEN"0010"=> LED7S <="1011011";
WHEN"0011"=> LED7S <="1100110";
WHEN"0100"=> LED7S <="0111111";
WHEN"0101"=> LED7S <="0111111";
WHEN"0110"=> LED7S <="1011011";
WHEN"0111"=> LED7S <="1100110";
WHEN"1000"=> LED7S <="0111111";
WHEN"1001"=> LED7S <="0111111";
WHEN"1010"=> LED7S <="1011011";
WHEN"1011"=> LED7S <="1100110";
WHEN"1100"=> LED7S <="0111111";
WHEN"1101"=> LED7S <="0111111";
WHEN"1110"=> LED7S <="1011011";
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
END;
五、实验结果与总结
通过这次实验,基本掌握了用VHDL硬件描述语言来实现显示译码电路,还能实现数字的循环显示。通过这次实验,更加熟练的掌握了FPGA的实验步骤。实验中遇到问题在老师的提示下最后也成功解决,实验成功,受益匪浅。