资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
实验-扫描显示驱动电路 作者: 日期:7 实验4 扫描显示驱动电路一、实验目的了解教学系统中8位八段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验用。二、硬件要求主芯片Altera EPM7128SLC84-15,时钟,8位八段数码管显示器,四位拨码开关。三、实验内容用四位拨码开关产生8421BCD码,用CPLD分别产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后编程下载实验测试。1、编一个简单的从0F轮换显示十六进制数的电路。2、用计数器产生数码管扫描驱动信号,调节时钟频率,感受扫描的过程,并观察字符的亮度和显示刷新的效果。7段数码管显示字符0F,显示字符与7段数码管驱动线的对应关系如下:二进制数字符7段数码管(gfedcba)000000111111(3F)000110000110(06)001021011011(5B)001131001111(4F)010041100110(66)010151101101(6D)011061111101(7D)011170000111(07)100081111111(7F)100191101111(6F)1010A1110111(77)1011B1111100(7C)1100C0111001(39)1101D1011110(5E)1110E1111001(79)1111F1110001(71)四、实验原理四位拨码开关提供8421BCD码,经译码电路DECL7S后连接8段数码管的字形显示驱动信号a,b,c,d,e,f,g。数码管扫描电路可通过片选地址SEL2.0控制。由SEL2.0和a,b,c,d,e,f,g决定了8位数码管中的那一位显示和显示什么字形。SEL2.0变化的快慢决定了扫描频率的快慢。1、参考电路:如图4-1所示(时钟频率40Hz)图4-1(t4-1.gdf)图4-1(t4-11.gdf)实验连线:把RESET和rst0接高电平,CLK接上时钟信号,可观察到第一个数码管循环显示字符0F。2、参考电路:如图4-2所示图4-2(t4_2.gdf)五、实验连线输入信号:D3,D2,D1,D0所对应的管脚同四位拨码开关相连;清零信号RESET所对应的管脚同按键开关相连;时钟CLK所对应的管脚同试验箱上的时钟源相连。输出信号:代表扫描片选地址信号SEL2,SEL1,SEL0的管脚同四位扫描驱动地址的低三位相连,最高位地址接“0”(也可悬空);代表七段数码驱动信号a, b, c, d, e, f, g的管脚分别同扫描数码管的段输入a,b,c,d,e,f,g相连。六、实验报告1、字形编码的种类,即一个8段数码管可产生多少种字符,产生所有字符需多少根译码信号线?2、字符显示亮度和扫描频率的关系,且让人感觉不出光烁现象的最低扫描频率是多少?七、附录(1) 字符译码器DECL7S的VHDL源程序library ieee;use ieee.std_logic_1164.all;entity decl7s is port(a:in std_logic_vector(3 downto 0); led7s:out std_logic_vector(6 downto 0); end;architecture one of decl7s isbegin process(a) begin case a is when 0000 = led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s led7s null; end case; end process;end;(2) 16进制4位计数器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt4b is port(clk,rst,en : in std_logic; cq : out std_logic_vector(3 downto 0); cout : out std_logic );end cnt4b;architecture behave of cnt4b isbegin process(clk,rst,en) variable ci:std_logic_vector(3 downto 0); begin if rst=1 then ci:=(others=0);-计数器异步复位 elsif clkevent and clk=1 then if en=1 then -检测是否允许计数 if ci0); -等于15,计数值清零 end if; end if; cq=ci; end if; if ci=1111 then cout=1; -输出进位信号 else cout=0; end if; end process;end behave; 文本编辑器的使用说明MAX+PLUSII支持AHDL,VHDL及Verilog HDL等硬件描述语言。下面通过一个例子说明采用文本方式进行设计的步骤。首先选择File/New,在对话框中选择Text Editor File,打开一个无标题的Text Editor窗口。然后选择File/Save As,在File Name框内输入文件名为实体名.vhd,保存文件。将上面的源程序输入。完成后,可选择File/Project/Set Project to Current File,将文件设为当前项目。然后同图形编辑一样,进行编译通过,波形仿真。为了能在图形编辑器中调用,可以通过File/Greate Default Symbol将这部分生成一个可调用的图形元件符号,可以通过File/Edit Symbol对生成的图形符号进行简单编辑。注意,只有在同一个文件夹中才可直接调用。为了在任意文件中调用,可以将编译生成的扩展名为sym的符号文件和扩展名为vhd的文本源程序文件放在同一个文件夹中,通过Option/User library命令建立自己的元件库。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号