《EDA技术课程设计脉冲按键电话显示器》由会员分享,可在线阅读,更多相关《EDA技术课程设计脉冲按键电话显示器(17页珍藏版)》请在金锄头文库上搜索。
1、课程 EDA技术课程设计题目 脉冲按键电话显示器专业 电子信息工程 主要内容、基本要求、主要参考资料等主要内容:设计一个准确地反映按键数字具有8位显示的电话按键显示器,该电话显示器要求具有重拨的功能,当按下重拨键时,能够显示最后一次输入的电话号码。基本要求:1、设计一个具有8位显示的电话按键显示器;2、能准确地反映按键数字;3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;4、设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;5、挂机2秒后或按熄灭按键,熄灭显示器显示。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光
2、主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日一、总体设计思想1.基本原理本次课程设计是用VHDL语言实现一个能准确地反映按键数字、具有8位显示的电话按键显示器。摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;设置一个“重拨”键,按下此键能显示最后一次输入的电话号码;挂机2秒后或按熄灭键,熄灭显示器显示。本文设计的脉冲按键电话显示器由五个模块组成:按键电路、译码器、移位寄存、锁存器和数码管显示电路,其中移位寄存、锁
3、存器和数码管译码显示电路为系统的主要组成部分。(1)按键电路模块。提供“0”到“9”数字按键的输入,同时设置有拨号键,清除键,挂机键和重拨键。(2)译码电路模块。译码器有两个功能。第一,把输入的一位键值转换成四位BCD码;第二,把4位二进制码译成相应的数码管输出显示码。BCD码对应的七段数码管显示如下表:4位BCD码gfedcba显示数字000001111110000101100001001010110112001110011113010011001104010111011015011011111016011111100007100011111118100111011119其他情况000000
4、0无 BCD码对应的数码管显示(3)移位寄存器、锁存模块。移位寄存器分为三个部分。当按下拨号键时,数字按键值依次由数码管的低位向高位移动,同时送入锁存器中;当按下删除键时,键值由高位向低位移除,高位数码管熄灭;当按下重拨键时,锁存器中存储的键值输入到移位寄存器中,并通过数码管显示出来。(4)数码管显示模块。数码管显示用于将设置好的每个按键的键值在数码管上显示出来。由于实验过程中需要使用8个数码管,因此数码管显示模块必须加上数码管片选及移位得程序,从而实现数据输入以后从低位向高位移动、显示。2.设计框图数字键入控制电路1译码显示电路移位寄存器控制电路2计时电路译码显示电路i脉冲产生电路i脉冲按键
5、电话总体设计方案二、设计步骤和调试过程1、总体设计电路2、模块设计和相应模块程序1)顶层文件程序各端口说明分别为:输入: 输出:DIN190:09十个数字键; KEYOUT:可输入数字指示灯;CLK1:时钟脉冲; SEG7160:8位数码管; CLEAR:删除键; SEG320:数码管的七段;DIAL:拨号键;RE_DAIL:重拨键模块程序:LIBRARY IEEE; -库定义USE IEEE.STD_LOGIC_1164.ALL; -包定义USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY UP_KEY IS -定义实体名、端口PORT(DIN1:IN STD_L
6、OGIC_VECTOR(9 DOWNTO 0); -定义09数字输入CLK1,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEYOUT:OUT STD_LOGIC; -定义可输入脉冲指示灯SEG71:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -定义七位段码SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); - 8个数码管END ENTITY;ARCHITECTURE ONE OF UP_KEY IS -定义结构体COMPONENT SHOW IS -PORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO
7、 0);CLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC;KEYOUT:OUT STD_LOGIC;SET:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT TRA IS PORT(BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL SET_1:STD_LOGIC_VECTOR(3 DOWNTO
8、0);BEGIN U1:SHOW PORT MAP( DIN1,CLK1,CLEAR,DIAL,RE_DIAL,KEYOUT,SET_1,SEG8); U2:TRA PORT MAP(SET_1,SEG71);END ARCHITECTURE ONE;2)BCD译码子程序BCD译码程序的框图如下图所示:BCD译码程序各端口说明分别为:输入: 输出:BCD130:4位BCD码; 数码管的七段显示模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRA IS PORT( BCD1
9、:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END ENTITY;ARCHITECTURE ONE OF TRA ISBEGIN PROCESS(BCD1)IS BEGIN CASE BCD1 IS WHEN 0000=SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7=0000000; -其他情况下数码管熄灭 END CASE; END PROCESS;END ARCHITECTURE;3)键值显示子程序键值显示控制的框图如下图所示按键显示控制框图各端口
10、说明分别为:输入: 输出:DIN 90:09十个数字键; KEYOUT:可输入数字指示灯;CLK:时钟脉冲; SET30:键值的BCD码 CLEAR:删除键; SEG320:数码管的七段;DIAL:拨号键;RE_DAIL:重拨键模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SHOW IS PORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0); CLK,CLEAR,DIAL,RE_DIAL:IN STD_LOGIC; KEYOUT:OUT ST
11、D_LOGIC; SET:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF SHOW ISSUBTYPE TEN IS STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCD :TEN;TYPE NUMBER1 IS ARRAY(7 DOWNTO 0) OF STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL NUMBER : NUMBER1;SIGNAL KEY,KEY1,CLK1,DIAL1,RE_DIAL1:STD_LO