EDA实验五.显示驱动电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安邮电学院实验中心实验报告
院系电子工程学院班级
学号姓名
成绩教师签字
实验日期
实验名称显示驱动电路设计
_______________________________________________________
一、实验目的
二、实验所用仪表及主要器材
三、实验原理简述
四、实验测量记录:(如数据、表格、曲线、计算等)
五、实验遇到的问题及解决办法:(余留问题,体会等)
一、实验目的
(1)掌握七段译码器的工作原理。
(2)学习显示驱动电路的BHDL描述方法。
(3)学习运用波形激励来仿真程序的正确性。
(4)了解数码管扫描显示的原理及实现。
二、实验所用仪表及主要器材
PC,可编程逻辑实验电路板,下载线,USB电源线,双踪示波器,数字万用表,导线若干。
三、实验内容
在MAX+PULSII环境下,用VHDL语言按照输入—>编译—>仿真。
(1将两个二位二进制数相乘结果用数码管显示。
在MAX+plusII环境下,用VHDL语言描述下列逻辑电路,并编译,仿真。
程序
library ieee;
use ieee.std_logic_1164.all;
entity e is
port(en,a,b,c,d:in std_logic;
y:out std_logic_vector(6 downto 0));
end;
architecture rtl of e is
signal indata:std_logic_vector(3 downto 0);
begin
process(indata,en)
begin
indata<=d&c&b&a;
if(en='0') then
case indata is
when"0000"=>y<="1111110";
when"0001"=>y<="0110000";
when"0010"=>y<="1101101";
when"0011"=>y<="1111001";
when"0100"=>y<="0110011";
when"0101"=>y<="1011011";
when"0110"=>y<="1011111";
when"0111"=>y<="1110000";
when"1000"=>y<="1111111";
when"1001"=>y<="1111011";
when"1010"=>y<="1110111";
when"1011"=>y<="0011111";
when"1100"=>y<="1001110";
when"1101"=>y<="0111101";
when"1110"=>y<="1001111";
when"1111"=>y<="1000111";
when others=>y<="ZZZZ";
end case;
else
y<="1111111";
end if;
end process;
end;
仿真结果:
四、实验心得
在本次实验中我学会了使用MAX+PLUSII软件的文本编程的方式设计电路。在本次实验的文本编译环节中出现不少问题:
(1)保存时文件名与实体名不一致,导致程序编译结果不正确。
(2)写程序时没有按照语法规则编写,使得文件编译频繁报错,标点的错误也会导致整个程序无法编译。