EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器

上传人:pu****.1 文档编号:470191815 上传时间:2023-02-28 格式:DOC 页数:17 大小:157.54KB
返回 下载 相关 举报
EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器_第1页
第1页 / 共17页
EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器_第2页
第2页 / 共17页
EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器_第3页
第3页 / 共17页
EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器_第4页
第4页 / 共17页
EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器》由会员分享,可在线阅读,更多相关《EDA技术课程设计基于EDA的课程设计脉冲按键电话显示器(17页珍藏版)》请在金锄头文库上搜索。

1、东 北 石 油 大 学课 程 设 计课 程 EDA技术课程设计 题 目 脉冲按键电话显示器 院 系 电子科学学院 专业班级 学生姓名 学生学号 指导教师 2012年 3 月2日东北石油大学课程设计任务书课程 EDA技术课程设计题目 脉冲按键电话显示器专业 姓名 学号 主要内容、基本要求、主要参考资料等主要内容:设计一个准确地反映按键数字具有8位显示的电话按键显示器,该电话显示器要求具有重拨的功能,当按下重拨键时,能够显示最后一次输入的电话号码。基本要求:1、设计一个具有8位显示的电话按键显示器;2、能准确地反映按键数字;3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;4、

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

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

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

5、LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.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 IS COMPONENT SHOW

6、IS PORT(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 COMPONENT;COMPONENT TRA ISPORT(BCD1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END COMPON

7、ENT; SIGNAL SET_1:STD_LOGIC_VECTOR(3 DOWNTO 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)译码器译码部分的设计图3 BCD译码电路图BCD译码子程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRA IS PORT( BC

8、D1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SEG7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END ENTITY; ARCHITECTURE ONE OF TRA IS BEGIN PROCESS(BCD1)IS BEGIN CASE BCD1 IS WHEN 0000=SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7=0000000; END CASE;END PROCESS; END ARCHITECTURE;(3)键值显示部分设计图4按键显示控制电路图按键显示控制子程序:LIBRARY IE

9、EE; 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 STD_LOGIC; SET:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEG8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ENTITY; ARCHITECTURE ONE OF SHOW IS SU

10、BTYPE 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_LOGIC; SIGNAL COUNT:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUNT1:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUNT2:

11、STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL DIN1: STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL LOCK: STD_LOGIC_VECTOR(31 DOWNTO 0); BEGINPROCESS(CLK)IS BEGIN IF RISING_EDGE(CLK) THEN COUNT1=COUNT1+1;END IF; END PROCESS; CLK1=0 WHEN COUNT11100 ELSE 1; PROCESS(CLK1)IS BEGIN IF RISING_EDGE(CLK1) THEN DIN1(9 DOWNTO 0)

12、=DIN(9 DOWNTO 0); DIAL1=DIAL; RE_DIAL1=RE_DIAL; END IF; END PROCESS; KEY=(DIN1(0) OR DIN1(1) OR DIN1(2) OR DIN1(3) OR DIN1(4) OR DIN1(5) OR DIN(6) OR DIN1(7) OR DIN1(8) OR DIN1(9); PROCESS(CLK1)IS BEGIN IF FALLING_EDGE(CLK1) THEN IF COUNT2=100 THEN IF CLEAR=0AND RE_DIAL=0 THEN KEY1=KEY; ELSIF CLEAR

13、=1 AND RE_DIAL=0 THEN KEY1=CLK; ELSE KEY1=RE_DIAL1;END IF; COUNT2=000; ELSE COUNT2=COUNT2+1; END IF; END 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; ELS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号