8位数码扫描显示电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA与VHD1语言课
程
实验报告
实验名称:
班级:
学号:
姓名:实验日期:8位数码扫描显示电路设计2012.10.27
实验五8位数码扫描显示电路设计
一、实验目的:学习硬件扫描显示电路的设计。
二、实验原理:图1所示是8位数码扫描显示电路。图1中g~a为数码管段信号输入端,每个数码管的七个段(g、f、e、d、c、b、a)都分别连在一起;k1~k8 为数码管的位选信号输入端。
8个数码管分别由8个位选信号k1、k2、…k8来选通,被选通的数码管才显示数据,未选通的数码管关闭。如在某一时刻,k3为高电平,其余选通信
号均为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。因此,如果希望在8个数码管上显示希望的数据,就必
须使得8个选通信号k1、k2、…k8分别被单独选通,同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫
描显示的目的。
AAAAAAAA
K1 K2 K3 K4 K5 K6 K7 K3
图1 8位数码扫描显示电路
三、实验内容1:用VHDL语言设计8位数码扫描显示电路,显示输出数据直接在程序中给出。
1、程序设计
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY scan play IS
PORT( CLK:IN STD_LOGIC;
SI:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
BI:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END ;
ARCHITECTURE bhv OF scan play IS
SIGNAL S: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL B: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK) --产生动态扫描显示的控制信号
VARIABLE SIO: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE BIO:
STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF BIO < 8 THEN BIO:=BIO+1; ELSE BIO:=(others=>'0');
END IF;
IF SIO < 8 THEN SIO:=SIO+1; ELSE SIO:=(others=>'0');
END IF;
END IF;
S<=SIO;
B<=BIO;
END PROCESS;
PROCESS(S)
BEGIN
CASE S IS
WHEN "0000"=> SI<="00000001";
WHEN "0001"=> SI<="00000010";
WHEN "0010"=> SI<="00000100";
WHEN "0011"=> SI<="00001000";
WHEN "0100"=> SI<="00010000";
WHEN "0101"=> SI<="00100000";
WHEN "0110"=> SI<="01000000";
WHEN "0111"=> SI<="10000000";
WHEN OTHERS=> SI<="00000000"; END CASE;
END PROCESS;
PROCESS(B)
BEGIN
CASE B IS
WHEN "0000"=> BI<="0111111";
WHEN "0001"=> BI<="0000110";
WHEN "0010"=> BI<="1011011";
WHEN "0011"=> BI<="1001111";
WHEN "0100"=> BI<="1100110";
WHEN "0101"=> BI<="1101101";
WHEN "0110"=> BI<="1111101";
WHEN "0111"=> BI<="0100111";
WHEN "1000"=> BI<="1111111";
WHEN "1001"=> BI<="1101111";
WHEN "1010"=> BI<="1110111";
WHEN "1011"=> BI<="1111100";
WHEN "1100"=> BI<="0111001";
WHEN "1101"=> BI<="1011110";
WHEN "1110"=> BI<="1111001";
WHEN OTHERS=> BI<="1110001"; END CASE; END PROCESS; END bhv;
注意:编程下载之前,将扬声器下方的 JDSP 跳线开关跳至“ close ”任意电 路模式皆可。引脚锁定参考附图12所示8个数码管I/O 连接图(图中p~a 为数 码管段信号,每个数码管的八个段都分别连在一起;s1~s8为数码管的位选信号)。
3、引脚锁定以及硬件下载
选择目标器件EP1C3选实验电路模式5。CLK 接 clock0(引脚号为93);输 出BI 接数码管(PIO49-POI43)显示译码输出,输出SI 接数码管位选信号 (PIO41-PIO34),通过短路帽选择 clockO 接65535Hz 信号
8理
PJO49 PJO4S PIO47 PJO4^ P1O45
piO43 PIOO
Sil i&Ti
PI041
PIO40 • D
53 54
PIO39 1 £
PIO33 □ PIC37 e .f
S5 S5 S7
圏
PIO36
PIO35
g
Pg
^
GW48-PK2^fe1溺K 『用丈个盘沂世QI 探哥 附
图12 GW 眼PK2冲捕显示模式时的连接方 式:8数码管扫ffi 式显示,输入信号高胞平有
2、仿真波形