串行扫描显示电路设计

时间:2025-07-09

实验六串行扫描显示电路设计

一、实验目的

1.通过用AHDL语言设计串形扫描显示电路进一步掌握使用AHDL方法。2.通过用VHDL语言设计串形扫描显示电路进一步掌握使用VHDL方法。 3.熟悉使用CPLD/FPGA实验箱的数码管进行显示。

二.实验仪器

1.PC机一台

2. KHF-1/KHF-2/KHF-3/KHF-4/KHF-5 CPLD/FPGA实验开发系统一套。

三、实验要求

1.预习串行扫描显示的原理

2.复习教材相关内容。

3.用硬件描述语言进行电路设计。

四、实验内容及实验步骤

1.串形扫描显示电路设计

(1)AHDL设计输入。参考程序如下:

Subdesign cxsm

(inclk :INPUT; ----定义输入输出

out[7..0],b[3..0] :OUTPUT;

)

VARIABLE -----定义变量

d[3..0],js[21..0] ,f :DFF;

BEGIN

(js[ ],f).clk=inclk;

if js[ ]==999999 then -----分频模块

js[ ]=0;f=!f;

else js[ ]=js[ ]+1;f=f;

end if;

(d[ ].prn,d[ ].clrn)=VCC; -----扫描输出

d[ ].clk=f;

d[ ]=d[ ]+1;

TABLE -----段码转换模块 d[ ].q=>out0,out1,out2,out3,out4,out5,out6,b[ ];

H"0"=>1,1,1,1,1,1,0,1; -----0

H"1"=>0,1,1,0,0,0,0,2; -----1

H"2"=>1,1,0,1,1,0,1,4; -----2

H"3"=>1,1,1,1,0,0,1,8; -----3

H"4"=>0,1,1,0,0,1,1,1; -----4

H"5"=>1,0,1,1,0,1,1,2; -----5

H"6"=>1,0,1,1,1,1,1,4; -----6

H"7"=>1,1,1,0,0,0,0,8; -----7

H"8"=>1,1,1,1,1,1,1,1; -----8

H"9"=>1,1,1,1,0,1,1,2; -----9

H"a"=>1,1,1,0,1,1,1,4; -----a

H"b"=>0,0,1,1,1,1,1,8; -----b

H"c"=>1,0,0,1,1,1,0,1; ------c

H"d"=>0,1,1,1,1,0,1,2; ------d

H"e"=>1,0,0,1,1,1,1,4; ------e

H"f"=>1,0,0,0,1,1,1,8; -------f

END TABLE;

out7=VCC;

END;

(2)用VHDL设计,示例如下:

library ieee; -------调用库

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity tcx is -------实体说明port( inclk:in std_logic; -------输入输出定义 outa:out std_logic_vector(6 downto 0);

outb:out std_logic_vector(3 downto 0));

end tcx;

architecture arth_tcx of tcx is --------结构体定义 signal ma:std_logic_vector(1 downto 0);

signal mb:std_logic_vector(3 downto 0);

signal fp:std_logic_vector(23 downto 0);

signal f:std_logic;

begin

process(inclk) ---------进程说明 begin

if (inclk'event and inclk='1') then ---------分频模块

if fp=4999999 then

fp<="000000000000000000000000";

f<=not f;

else

fp<=fp+1;

end if;

end if;

end process;

process(f) ---------扫描输出模块

begin

if (f'event and f='1') then

ma<=ma+1;

mb<=mb+1;

end if;

end process;

with ma select

outb<="0001" when "00",

"0010" when "01",

"0100" when "10",

"1000" when others;

with mb select ---------段码转换模块outa<= "0110000" when "0001", --1

"1101101" when "0010", --2

"1111001" when "0011", --3

"0110011" when "0100", --4

"1011011" when "0101", --5

"1011111" when "0110", --6

"1110000" when "0111", --7

"1111111" when "1000", --8

"1111011" when "1001", --9

"1110111" when "1010", --A

"0011111" when "1011", --b

"1001110" when "1100", --C

"0111101" when "1101", --d

"1001111" when "1110", --E

"1000111" when "1111", --F

"1111110" when others; --0 end arth_tcx;

(3)编译。

(4)分配管脚。

(5)后编译。

(6)启动CPLDDN下载软件进行下载。五.实验报告

1.总结模块化设计程序的方法。

2.总结串行扫描显示方式进行显示的方法。3.写出实验总结报告

…… 此处隐藏:421字,全部文档内容请下载后查看。喜欢就下载吧 ……
串行扫描显示电路设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219