脉冲按键电话显示器_第1页
脉冲按键电话显示器_第2页
脉冲按键电话显示器_第3页
脉冲按键电话显示器_第4页
脉冲按键电话显示器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计课程EDA 技术课程设计题目脉冲按键电话显示器院系工学院专业班级 13 通信 学生姓名胡潇予学生学号 201301031040 指导教师杨永福2016 年 6 月 10 日课程设计任务书课程 EDA 技术课程设计题目 脉冲按键显示器专业 通信工程 胡潇予 学号 0 主要容、基本要求、主要参考资料等主要容:设计一个准确地反映按键数字具有 8位显示的按键显示器,该显示器要求具有重拨的功能,当按下重 拨键时,能够显示最后一次输入的。基本要求:1、设计一个具有 8位显示的按键显示器;2、能准确地反映按键数字;3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;4、设置一个 “

2、重拨 ”键,按下此键,能显示最后一次输入的;5、挂机 2秒后或按熄灭按键,熄灭显示器显示。主要参考资料:1 松著.EDA技术实用教程 (第二版 ). :科学 ,2005.2 康华光主编 .电子技术基础 模拟部分 . :高教 ,2006.3 阎石主编 .数字电子技术基础 . :高教 ,2003.完成期限 2016.6.10指导教师永福专业负责人永福2016年 6月 10日一、总体设计思想1.基本原理本题目是用 VHDL语言实现一个能准确地反映按键数字、具有 8位显示 的按 键显示器。摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数 字,最低位为当前输入位;设置一个“重拨”键,按下此键能

3、显示最后一次输 入的;挂机 2秒后或按熄灭键,熄灭显示器显示。脉冲按键显示器由五个模块组成:按键电路、译码器、移位寄存、锁存器 和数码管显示电路,其中移位寄存、锁存器和数码管译码显示电路为系统的主 要组成部分。(1)按键电路模块。提供“ 0”到“ 9”数字按键的输入,同时设置有拨号 键,清除键,挂机键和重拨键。(2)译码电路模块。译码器有两个功能。第一,把输入的一位键值转换成 四位 BCD 码;第二,把四位二进制码译成相应的数码管输出显示码。(3)移位寄存器、 锁存模块。移位寄存器分为三个部分。 当按下拨号键时, 数字按键值依次由数码管的低位向高位移动,同时送入锁存器中;当按下删除 键时,键值

4、由高位向低位移除, 高位数码管熄灭; 当按下重拨键时, 锁存器中 存 储的键值输入到移位寄存器中,并通过数码管显示出来。(4)数码管显示模块。数码管显示用于将设置好的每个按键的键值在数码 管上显示出来。由于实验过程中需要使用 8个数码管,因此数码管显示模块必须 加上数码管片选及移位得程序,从而实现数据输入以后从低位向高位移动、显 示。2.设计框图图 1 整体设计框图、设计步骤和调试过程1、总体设计电路图 2 总体设计电路2、模块设计和相应模块程序(1) 顶层文件程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIG

5、NED.ALL;ENTITY UPKEY ISPORT(DIN1:IN STD_LOGIC_VECTOR(9DOWNTO 0);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);END ENTITY;ARCHITECTURE ONE OF UPKEY ISCOMPONENT SHOW ISPORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 0);CLK,

6、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 ISPORT(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 0);BEGINU

7、1:SHOWP ORTM AP(D IN1,CLK1,CLEAR,DIAL,RE_DIAL,KEYOUT,SET_1,SEG8);U2:TRA PORT MAP(SET_1,SEG71); END ARCHITECTURE ONE;(2) 译码器译码部分的设计图 3 BCD 译码电路图BCD译码子程序 :LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRA ISPORT( BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEG7:OUT STD_LOGIC

8、_VECTOR(6 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF TRA ISBEGINPROCESS(BCD1)ISBEGINCASE BCD1 ISWHEN 0000=SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7=0000000;END CASE;END PROCESS;END ARCHITECTURE;(3) 键值显示部分设计图 4 按键显示控制电路图 按键显示控制子程序 :LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED

9、.ALL;ENTITY SHOW ISPORT(DIN:IN STD_LOGIC_VECTOR(9 DOWNTO 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 ENTITY;ARCHITECTURE ONE OF SHOW ISSUBTYPE TEN IS STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCD :TEN;TYPE NUMBE

10、R1 IS ARRAY(7 DOWNTO 0) OF STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL NUMBER : NUMBER1;SIGNAL KEY,KEY1,CLK1,DIAL1,RE_DIAL1:STD_LOGIC;SIGNAL COUNT:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL COUNT2:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL DIN1: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGN

11、AL LOCK: STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINPROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNT1=COUNT1+1;END IF;END PROCESS;CLK1=0 WHEN COUNT11100 ELSE 1;PROCESS(CLK1)ISBEGINIF RISING_EDGE(CLK1) THENDIN1(9 DOWNTO 0)=DIN(9 DOWNTO 0);DIAL1=DIAL;RE_DIAL1=RE_DIAL;END IF;END PROCESS;KEY=(DIN1(0) ORD IN1(1)

12、 ORD IN1(2) ORD IN1(3) ORD IN1(4) ORD IN1(5) OR DIN(6) OR DIN1(7) OR DIN1(8) OR DIN1(9);PROCESS(CLK1)ISBEGINIF FALLING_EDGE(CLK1) THENIF COUNT2=100 THENIF CLEAR=0AND RE_DIAL=0 THENKEY1=KEY;ELSIF CLEAR =1 AND RE_DIAL=0 THEN KEY1=CLK;ELSE KEY1=RE_DIAL1;END IF;COUNT2=000;ELSE COUNT2=COUNT2+1;END IF;END

13、 IF;END PROCESS;PROCESS(DIN1)IS BEGIN IF DIN1(6)=1 THEN BCD=0110;ELSIF DIN1(1)=1 THEN BCD=0001;ELSIF DIN1(2)=1 THEN BCD=0010;ELSIF DIN1(3)=1 THEN BCD=0011;ELSIF DIN1(4)=1 THEN BCD=0100;ELSIF DIN1(5)=1 THEN BCD=0101;ELSIF DIN1(0)=1 THEN BCD=0000;ELSIF DIN1(7)=1 THEN BCD=0111;ELSIF DIN1(8)=1 THEN BCD=

14、1000;ELSIF DIN1(9)=1 THEN BCD=1001;ELSE BCD=0000; END IF;END PROCESS;KEYOUT=KEY1;PROCESS(KEY1)ISBEGINIF RISING_EDGE(KEY1) THENIF CLEAR=0 AND RE_DIAL1=0 THENNUMBER(7)=NUMBER(6);NUMBER(6)=NUMBER(5);NUMBER(5)=NUMBER(4);NUMBER(4)=NUMBER(3);NUMBER(3)=NUMBER(2);NUMBER(2)=NUMBER(1);NUMBER(1)=NUMBER(0);NUMB

15、ER(0)=BCD;ELSIF CLEAR=1 AND RE_DIAL1=0 THEN NUMBER(0)=NUMBER(1);NUMBER(1)=NUMBER(2);NUMBER(2)=NUMBER(3);NUMBER(3)=NUMBER(4);NUMBER(4)=NUMBER(5);NUMBER(5)=NUMBER(6);NUMBER(6)= NUMBER(7);NUMBER(7)=1111;ELSENUMBER(7)= LOCK(31 DOWNTO 28);NUMBER(6)= LOCK(27 DOWNTO 24);NUMBER(5)= LOCK(23 DOWNTO 20);NUMBER

16、(4)= LOCK(19 DOWNTO 16);NUMBER(3)= LOCK(15 DOWNTO 12);NUMBER(2)= LOCK(11 DOWNTO 8);NUMBER(1)= LOCK(7 DOWNTO 4);NUMBER(0)= LOCK(3 DOWNTO 0);END IF;END IF;END PROCESS;PROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNTSET=NUMBER(7);SEG8SET=NUMBER(6);SEG8SET=NUMBER(5);SEG8SET=NUMBER(4);SEG8SET=NUMBER(3);S

17、EG8SET=NUMBER(2);SEG8SET=NUMBER(1);SEG8SET=NUMBER(4);SEG8NULL;END CASE;END PROCESS;PROCESS(DIAL1)ISBEGINIF RISING_EDGE(DIAL1) THENLOCK(31 DOWNTO 28)=NUMBER(7);LOCK(27 DOWNTO 24)=NUMBER(6);LOCK(23 DOWNTO 20)=NUMBER(5);LOCK(19 DOWNTO 16)=NUMBER(4);LOCK(15 DOWNTO 12)=NUMBER(3);LOCK(11 DOWNTO 8)=NUMBER(

18、2);LOCK(7 DOWNTO 4)=NUMBER(1);LOCK(3 DOWNTO 0)=NUMBER(0);END IF;END PROCESS;END ARCHITECTURE;4、实验调试结果 为验证所设计的程序是否正确, 将程序下载进行硬件测试。 在 Quartus 开 发环境中进行管脚锁定,连接好数码管驱动电路,然后将目标文件下载到器件 中。最终可以看到键入的数字在数码管上进行显示。重拨、清楚、挂机等均能 够正常使用,达到设计要求。三、结论及心得体会 课程设计是培养学生综合运用所学知识 , 发现, 提出 , 分析和解决实际问题 , 锻炼实践能力的重要环节 , 是对学生实际工作能力的具体训练和考察过程。通过 这次的 EDA课设,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论