实验三 数码管扫描显示电路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科学生综合性实验报告
学号114090315 姓名李开斌
学院物电学院专业、班级11电子
实验课程名称电子设计自动化(EDA实验)
教师及职称罗永道副教授
开课学期2013 至2014 学年下学期填报时间2014 年 5 月30 日
云南师范大学教务处编印
实验序号 4 实验名称数码管扫描显示电路
实验时间2014年5月30 实验室同析楼114
一.实验预习
1.实验目的:
1、了解时序电路设计;
2、制作一个数码管显示的7段译码电路,以备以后调用;
2.实验原理、实验流程或装置示意图:
在电子电路显示部分里,发光二极管(LED)、七段显示数码管、液晶显示(LCD)均是十分常见的人机接口电路。通常点亮一个LED所需的电流在5~20mA之间,电流愈大,LED的亮度也高,相对的使用寿命也愈短。若以10mA导通电流来估算一个接5V的串接电阻值计算应为:(5-1.6)/10mA≈0.34KΩ。
七段显示数码管分为共阳、共阴二种极性。它们等效成八个LED相连电路。
共阴极七段显示器的LED位置定义和等效电路
共阴极七段显示码十六进制转换表动态共阴数码管扫描设计框图
静态共阳数码管扫描设计框图
3.实验设备及材料
电脑一台,QuartusII 实验平台,EDA实验箱
4.实验方法步骤及注意事项
动态共阴数码管实验电路连线 :
1、分别将A、B、C、D、E、F、G的各个管脚连接;
2、SS0:为独立扩展下载板上第82脚,是数码管的位选扫描信号,接信号接线组“DS1-8A(T)”的引线插孔SS0。
脚,是数码管的位选扫描信号,接信号接线组“DS1-8A(T)”的引线插孔SS1。
3、SS2:为独立扩展下载板上第84脚,是数码管的位选扫描信号,接信号接线组“DS1-8A(T)”的引线插孔SS2。
4、RESET:为独立扩展下载板上第81脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意一个引线插孔
5、CLK:为独立扩展下载板上第80脚即GCK0脚,应接时钟信号接线组“CLOCK(T)”的“FRQ(11)”引线插孔。
6、通过引脚配置,可得如下图形:
动态共阴数码管的模块:
改变“8位数字开关组(A)”的“SW8~SW5”,共有24=16种状态,即在共阴动态数码管上分别显示十六进制数0~F。
静态共阳数码管
改变“8位数字开关组(A)”的“SW8~SW5”,共有24=16种状态,即在DS7C 共阳静态数码管上显示对应的十六进制数0~F。
二.实验内容
1.实验现象与结果
(1)动态共阴数码管显示模块VHDL语言程序如下:library IEEE;
use IEEE.std_logic_1164.all;
entity xdeled is
port(di:in STD_LOGIC_VECTOR(3 DOWNTO 0);
a:out STD_LOGIC;
b:out STD_LOGIC;
c:out STD_LOGIC;
d:out STD_LOGIC;
e:out STD_LOGIC;
f:out STD_LOGIC;
g:out STD_LOGIC
);
end xdeled ;
architecture a of xdeled is
begin
--<
process(di)
type data_out is array(0 to 6)of std_logic;
variable outp:data_out;
begin
case di is
when"0000"=>outp:="1111110";
when"0001"=>outp:="0110000";
when"0010"=>outp:="1101101";
when"0011"=>outp:="1111001";
when"0100"=>outp:="0110011";
when"0101"=>outp:="1011011";
when"0110"=>outp:="1011111";
when"0111"=>outp:="1110000";
when"1000"=>outp:="1111111";
when"1001"=>outp:="1111011";
when"1010"=>outp:="1110111";
when"1011"=>outp:="0011111";
when"1100"=>outp:="1001110";
when"1101"=>outp:="0111101";
when"1110"=>outp:="1001111";
when"1111"=>outp:="1000111";
when others=>null;
end case;
a<=outp(0);
b<=outp(1);
c<=outp(2);
d<=outp(3);
e<=outp(4);
f<=outp(5);
g<=outp(6);
end process;
end a;
输入波形如下所示: