基于EDA的脉冲按键电话显示器VHDL程序设计要点.docx
- 文档编号:775868
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:15
- 大小:474.93KB
基于EDA的脉冲按键电话显示器VHDL程序设计要点.docx
《基于EDA的脉冲按键电话显示器VHDL程序设计要点.docx》由会员分享,可在线阅读,更多相关《基于EDA的脉冲按键电话显示器VHDL程序设计要点.docx(15页珍藏版)》请在冰豆网上搜索。
基于EDA的脉冲按键电话显示器VHDL程序设计要点
《EDA技术与VHDL》课程设计
基于EDA的脉冲按键电话显示器VHDL程序设计
院系电子信息工程学院
班级12电信(专升本)
姓名卢文俊
学号1208211036
2013年6月
脉冲按键电话显示器
摘要:
本系统是利用软件的方式设计硬件,利用QuartusII6.0这款软件对其进行编译和仿真。
本系统包含按键电路、译码电路、数码显示、移位寄存器和锁存模块。
利用译码器控制数据的输入输出变换,而移位寄存器用来控制拨号键、删除键以及重拨键,最后在通过数码管来显示输出数据。
该系统通过按键控制了数码管的显示以及其它功能。
关键词:
QuartusII6.0;按键电路;译码电路;数码管;锁存器
Abstract:
Thissystemistheuseofthesoftwaretodesignhardware,theuseofthissoftwareQuartusII6.0tocompileandsimulation.Thesystemincludeskeycircuit,decodingcircuit,digitaldisplay,theshiftregisterandlatchmodules.Decodercontroldatausingtheinput-outputtransformation,theshiftregisterisusedtocontrolthedialingkey,deletekey,andredialkey,andfinallydisplayedbythedigitaloutputdata.Thesystemiscontrolledthroughthebuttonsofthedigitaltubedisplayandotherfeatures.
Keywords:
QuartusII6.0;Keycircuit;Decodingcircuit;Digitaltube;Latch
目录
1设计任务和主要技术指标4
2设计方案及工作原理4
2.1系统设计思路与框图4
2.2各模块功能分析4
2.2.1按键电路模块4
2.2.2译码电路模块4
2.2.3移位寄存器、锁存模块5
2.2.4数码管显示模块6
3单元电路模块的设计、仿真测试6
3.1BCD译码6
3.1.1BCD译码子程序6
3.1.2仿真波形6
3.1.3RTL电路6
3.2键值显示7
3.2.1键值显示子程序(SET_NUM.VHD)7
3.2.2仿真波形8
3.3顶层文件8
试验总结9
1.实验结果9
2.心得体会9
参考文献9
附录9
1顶层文件程序9
2BCD译码子程序(DISPLAY.VHD)10
3键值显示子程序(SET_NUM.VHD)11
1设计任务和主要技术指标
1)设计一个具有最高8位显示的电话按键显示器;
2)能准确地反映按键数字;
3)显示器显示从低位向高位前移,逐位显示按键数字,最低位显示当前输入数字;
4)设置“删除键”,按下此键,从最低位开始删除数字,同时显示器数字从高位向低位移动。
5)设置“拨号键”拨号键模拟拨号,按下此键拨号指示灯亮;
6)设置一个重拨键,按下此键,能显示最后一次输入的电话号码;
7)挂机2S后或按熄“灭按键”,熄灭显示器显示。
2设计方案及工作原理
2.1系统设计思路与框图
我们设计的用VHDL语言实现的脉冲按键电话显示器由4个模块组成:
按键电路,译码器,移位寄存、锁存器和数码管显示电路,其中移位寄存、锁存器和数码管译码显示电路为系统的主要组成部分。
脉冲按键电话的总体设计框图如图2.1所示:
图2.1脉冲按键电话总体设计方案
2.2各模块功能分析
2.2.1按键电路模块
按键电路功能:
提供0~9数字按键的输入,同时设置有拨号键,清除键,挂机键和重拨键。
2.2.2译码电路模块
译码电路功能:
译码器的功能分为两个部分,第一部分把输入的一位键值转换成四位BCD码;第二部分把4位二进制码译成相应的数码管输出显示码。
BCD码对应的七段数码管显示如表2.1所示:
表2.1BCD码对应的数码管显示
4位BCD码
g
f
e
d
c
b
a
显示数字
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
2
0
0
1
1
1
0
0
1
1
1
1
3
0
1
0
0
1
1
0
0
1
1
0
4
0
1
0
1
1
1
0
1
1
0
1
5
0
1
1
0
1
1
1
1
1
0
1
6
0
1
1
1
1
1
1
0
0
0
0
7
1
0
0
0
1
1
1
1
1
1
1
8
1
0
0
1
1
1
0
1
1
1
1
9
其他情况
0
0
0
0
0
0
0
无
2.2.3移位寄存器、锁存模块
移位寄存器:
移位寄存器分为三个部分,当按下拨号键时,数字按键值依次由数码管的低位向高位移动,同时送入锁存器中;当按下删除键时,键值由高位向低位移除,高位数码管熄灭;当按下重拨键时,锁存器中存储的键值输入到移位寄存器中,并通过数码管显示出来。
其大致的流程图如图2.2所示:
图2.2按键输入过程流程图
2.2.4数码管显示模块
数码管显示用于将设置好的每个按键的键值(对应0~9的数字)在数码管上显示出来。
由于实验过程中需要使用8个数码管,因为在数码管显示模块必须加上数码管片选及移位的程序,从而实现数据在输入以后从低位向高位移动、显示。
在进行编写脉冲按键电话显示器程序时,我们主要是利用元件例化语句来实现的,在顶层文件基础上,调用了数码管BCD码译码、键值显示两个底层文件,分别命名为DISPLAY.VHD、SET_NUM.VHD。
3单元电路模块的设计、仿真测试
3.1BCD译码
3.1.1BCD译码子程序
BCD译码程序的框图如图3.2所示
图3.2BCD译码程序
各端口说明分别为:
输入:
输出:
BCD1[3…0]:
4位BCD码;数码管的七段显示
3.1.2仿真波形
3.1.3RTL电路
3.2键值显示
3.2.1键值显示子程序(SET_NUM.VHD)
键值显示控制的框图如图3.3所示:
图3.3按键显示控制框图
各端口说明分别为:
输入:
输出:
DIN[9…0]:
0~9十个数字键;KEYOUT:
可输入数字指示灯;
CLK:
时钟脉冲;SET[3…0]:
键值的BCD码
CLEAR:
删除键;SEG3[2…0]:
数码管的七段;
DIAL:
拨号键;
RE_DAIL:
重拨键
3.2.2仿真波形
3.2.3RTL电路图
3.3顶层文件
总体设计电路如图所示,通过顶层文件生成RTL电路。
各端口说明分别为:
输入:
输出:
CLEAR:
删除键;;SEG71[6…0]:
8位数码管;
CLK1:
时钟脉冲;SEG8[2…0]:
数码管的七段;
DIAL:
拨号键;KEYOUT:
可输入数字指示灯;
RE_DAIL:
重拨键
DIN1[9…0]:
0~9十个数字键
试验总结
1.实验结果
仿真结果如预期所想,实现了预期的目标,电话号码移位设计电路是通过按不同的按键来控制电话号码的拨打情况,通过一个清零端可以控制(当输入错误号码后,清除当前号码,再重新输入一组新的号码时)电话号码的输入,这样可以自由的输入和更改电话号码。
锁存器记录最后一次所拨号码可以进行重拨操作,显示时间过长可以进行挂机操作。
另外由于条件等的限制,只能进行软件仿真,而软件仿真一方面存在延时,另一方面不能像硬件测试那样直观
2.心得体会
通过本次课程设计我认识到了自己的不足,在实际操作过程中查阅了很多资料,也和组员们讨论了很久。
首先,经过这次课程设计我的实际动手能力得到很大的提高,另外对一个课题的总体的驾驭能力也上升的一个新的层面。
其次,此次设计中也遇到了很多不同困难,在和组员之间的相互讨论中认识到团队合作的重要性。
最后,我更加深刻的体会到理论与实际相结合的重要性,只有将理论与实践相结合,才能真正的提高自己的动手能力,而理论运用于实践正式当代大学生所学习的一项基本技能。
参考文献
1.潘松,黄继业.EDA技术与VHDL(第3版).清华大学出版社,2009.
2.卢毅,赖杰.VHDL与数字电路设计[M].科学出版社,2007.
3.潘松,EDA技术实用教程(第二版).科学出版社,2005.
附录
1顶层文件程序
LIBRARYIEEE;--库定义
USEIEEE.STD_LOGIC_1164.ALL;--包定义
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYPLUSE_KEYIS--定义实体名、端口
PORT(DIN1:
INSTD_LOGIC_VECTOR(9DOWNTO0);--定义0~9数字输入
CLK1,CLEAR,DIAL,RE_DIAL:
INSTD_LOGIC;
KEYOUT:
OUTSTD_LOGIC;--定义可输入脉冲指示灯
SEG71:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);--定义七位段码
SEG8:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8个数码管
ENDENTITY;
ARCHITECTUREONEOFPLUSE_KEYIS--定义结构体
COMPONENTSET_NUMIS--调用SET_NUM底层文件
PORT(DIN:
INSTD_LOGIC_VECTOR(9DOWNTO0);
CLK,CLEAR,DIAL,RE_DIAL:
INSTD_LOGIC;
KEYOUT:
OUTSTD_LOGIC;
SET:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
SEG8:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDCOMPONENT;
COMPONENTDISPLAYIS--调用DISPLAY底层文件
PORT(BCD1:
INSTD_LOGIC_VECTOR(3DOWNTO0);
SEG7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDCOMPONENT;
SIGNALSET_1:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN--各端口的连接
U1:
SET_NUMPORTMAP(DIN1,CLK1,CLEAR,DIAL,RE_DIAL,KEYOUT,SET_1,SEG8);
U2:
DISPLAYPORTMAP(SET_1,SEG71);
ENDART;
2BCD译码子程序(DISPLAY.VHD)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 EDA 脉冲 按键 电话 显示器 VHDL 程序设计 要点