2009届电子信息工程(应用电子技术方向)专业毕业设计(论文)
3.4 译码显示模块
该模块实际上是一个译码器,译码器是组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。变量译码一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421BCD码译码两类。 显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。译码是编码的逆过程。
图3-7 译码显示模块的元件图
主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。译码器的译码对照表如下所示: 显示的数字/字母 0 1 2 3 4 5 6 7 8 9 X BCD编码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 XXXX 七段数码管2进制 0111111 0000110 1011011 1001111 1100110 1101101 1111101 0000111 1111111 1101111 0000000 表3-1 译码器的译码对照表
备注 :在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。[4]
7
文超:基于VHDL的多路抢答器的设计
3.5 抢答器的系统实现
单独模块只有彼此联系起来构成一个完整的系统,才能实现其功能,这个过程有两种实现方法:①元件例化。也是用编程的方式将它们各个程序、信号、输入输出之间的关系用VHDL语言来叙述清楚,还关系到程序的调用问题,需要设计者思路清晰,设计合理;②元器件图示连线。这种连线方法思路清晰可见,而且用的时候很简单方便,出现错误也很好检查。在设计中选择的是这种方法。通过总的顶层元件图可以很清晰的看到模块连接的原理。
图3-8 顶层元件图
注:本设计中,抢答器组别信号A、B、C、D为高电平时,其功能为有效状态。同样,系统清零信号CLR、预置及倒计时控制信号LDN,亦为高电平有效。当CLR有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。当计时使能端EN为低电平,预置时间设置信号LDN=1时,通过计时预置数据调整按钮TA、TB进行预置数。当计时使能端EN为高电平,有系统时钟信号CLK时,进行一分钟倒计时。输入时钟CLK一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度(对信号判别的最大误差是一个时钟周期),CLK信号频率高低应适中,可取500Hz-1KHz;同时CLK信号经过分频后向倒计时电路提供信号。 附表:输入/输出引脚的作用:
8
2009届电子信息工程(应用电子技术方向)专业毕业设计(论文)
端口名 CLK A,B,C,D CLR EN 功能 系统时钟信号 抢答信号输入 系统清零 计时使能信号 记分复位 组别信号输入 译码管输出信号 组别显示 计时预置控制信号 译码管输入
LDN
AIN4(3..?.0) 表3-2 输入/输出引脚的作用
RST CHOS(3?..0) DOUT7(6?..0) G (3.?.0) 9
文超:基于VHDL的多路抢答器的设计
4 多路抢答器子模块的仿真验证 4.1鉴别模块的仿真验证
利用Quartus II进行编译,综合,仿真,时序图如下:
图4-1鉴别模块的仿真时序图
引脚作用:
系统输入信号:各组的抢答按钮A、B、C、D,系统清零信号CLR,CLK时钟信号。
系统的输出信号: 各组的抢答按钮显示端A1、B1、C1、D1,组别显示端控制信号G[3..0]。 仿真分析:
当鉴别模块的清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同时组别显示端G输出信号也显示为零;当清零信号CLR为低电平时,A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。假如C组按下抢答按钮时,组别输出为0010,同时C组的显示灯被点亮。仿真图上显示的为A先抢答,因为在0-1.28微秒之间A、C虽然都按抢答键,但CLR为有效状态,所以在此时间段内的抢答无效。
4.2计时模块的仿真验证
利用Quartus II进行编译,综合,仿真,时序图如下:
10
2009届电子信息工程(应用电子技术方向)专业毕业设计(论文)
图4-2 计时模块的仿真时序图
引脚作用:
系统输入信号:系统清零信号CLR,计时预置控制端LDN,计时使能端EN,系统时钟信号CLK,计时预置数据调整按钮TA、TB。
系统输出信号:倒计时输出端QA[3..0]、QB[3..0]。
仿真分析:当系统清零信号CLR=1时,计时器的时钟信号回到计时预置倒计时起始状态,此时倒计时输出端QA=0000,QB=0000.当计时使能端EN=0,计时预置控制端LDN=1时,通过计时预置数据调整按钮TA、TB进行预制数,并且通过TA,TB来调整QA,QB即当TA=1时,则QA的数值加1,当TB=1时,则QB的数值也加1。当计时使能端EN=1,系统清零信号CLR=0,并且计时预置控制端LDN=0时,通过时钟信号上升沿CLK来进行60秒倒计时。
4.3计分模块的仿真验证
利用Quartus II进行编译,综合,仿真,时序图如下:
11