EDA脉冲按键电话显示器.docx

上传人:b****6 文档编号:7790669 上传时间:2023-01-26 格式:DOCX 页数:6 大小:56.13KB
下载 相关 举报
EDA脉冲按键电话显示器.docx_第1页
第1页 / 共6页
EDA脉冲按键电话显示器.docx_第2页
第2页 / 共6页
EDA脉冲按键电话显示器.docx_第3页
第3页 / 共6页
EDA脉冲按键电话显示器.docx_第4页
第4页 / 共6页
EDA脉冲按键电话显示器.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

EDA脉冲按键电话显示器.docx

《EDA脉冲按键电话显示器.docx》由会员分享,可在线阅读,更多相关《EDA脉冲按键电话显示器.docx(6页珍藏版)》请在冰豆网上搜索。

EDA脉冲按键电话显示器.docx

EDA脉冲按键电话显示器

东北石油大学

课 程 设 计

 

课程EDA技术课程设计

题目脉冲按键电话显示器

院系电子科学学院

专业班级电子信息工程

学生姓名

学生学号

指导教师

 

2012年3月2日

 

东北石油大学课程设计任务书

课程 EDA技术课程设计

题目 脉冲按键电话显示器

专业 电子信息工程  姓名     学号  

主要内容、基本要求、主要参考资料等

主要内容:

设计一个准确地反映按键数字具有8位显示的电话按键显示器,该电话显示器要求具有重拨的功能,当按下重拨键时,能够显示最后一次输入的电话号码。

基本要求:

1、设计一个具有8位显示的电话按键显示器;

2、能准确地反映按键数字;

3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;

4、设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;

5、挂机2秒后或按熄灭按键,熄灭显示器显示。

主要参考资料:

[1]潘松著.EDA技术实用教程(第二版).北京:

科学出版社,2005.

[2]康华光主编.电子技术基础模拟部分.北京:

高教出版社,2006.

[3]阎石主编.数字电子技术基础.北京:

高教出版社,2003.

完成期限  2012.3.5    

指导教师          

专业负责人         

2012年3月2日

一、总体设计思想

1.基本原理

EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。

在本次课程设计中是用VHDL语言实现一个能准确地反映按键数字、具有8位显示的电话按键显示器。

摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;设置一个“重拨”键,按下此键能显示最后一次输入的电话号码;挂机2秒后或按熄灭键,熄灭显示器显示。

2.设计框图

图1脉冲按键电话显示器总体设计方案

二、设计步骤和调试过程

1、总体设计电路

本文设计的脉冲按键电话显示器由五个模块组成:

按键电路、译码器、移位寄存、锁存器和数码管显示电路,其中移位寄存、锁存器和数码管译码显示电路为系统的主要组成部分。

图2总体设计电路模块

2、模块设计和相应模块程序

2.1顶层文件

按键电路模块。

提供“0”到“9”数字按键的输入,同时设置有拨号键,清除键,挂机键和重拨键。

(1)顶层文件程序

模块程序:

LIBRARYIEEE;                

USE IEEE.STD_LOGIC_1164.ALL;         

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYUP_KEYIS              

PORT(DIN1:

INSTD_LOGIC_VECTOR(9DOWNTO0);  

CLK1,CLEAR,DIAL,RE_DIAL:

INSTD_LOGIC;

KEYOUT:

OUTSTD_LOGIC;           

SEG71:

OUTSTD_LOGIC_VECTOR(6DOWNTO0);  

SEG8:

OUT STD_LOGIC_VECTOR(7DOWNTO0)); 

ENDENTITY;

ARCHITECTUREONEOFUP_KEY IS      

COMPONENTSHOWIS             

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;

COMPONENTTRAIS             

PORT(BCD1:

INSTD_LOGIC_VECTOR(3DOWNTO0);

SEG7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDCOMPONENT;

SIGNALSET_1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN                      

U1:

SHOWPORTMAP(DIN1,CLK1,CLEAR,DIAL,RE_DIAL,KEYOUT,SET_1,SEG8);

U2:

TRAPORTMAP(SET_1,SEG71);

ENDARCHITECTUREONE;

(2)各端口说明分别为:

输入:

                 输出:

DIN1[9…0]:

0~9十个数字键;      KEYOUT:

可输入数字指示灯;

CLK1:

时钟脉冲;            SEG71[6…0]:

8位数码管;

CLEAR:

删除键;            SEG3[2…0]:

数码管的七段;

DIAL:

拨号键;

RE_DAIL:

重拨键

2.2BCD译码模块

译码器有两个功能。

第一,把输入的一位键值转换成四位BCD码;第二,把4位二进制码译成相应的数码管输出显示码。

(1)BCD译码子程序

模块程序:

LIBRARYIEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYTRAIS

PORT(

BCD1:

INSTD_LOGIC_VECTOR(3DOWNTO0);

SEG7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDENTITY;

ARCHITECTUREONEOFTRAIS

BEGIN 

PROCESS(BCD1)IS

BEGIN

CASEBCD1IS

WHEN"0000"=>SEG7<="0111111";       

WHEN"0001"=>SEG7<="0000110";       

WHEN"0010"=>SEG7<="1011011";       

WHEN"0011"=>SEG7<="1001111";       

WHEN"0100"=>SEG7<="1100110";       

WHEN"0101"=>SEG7<="1101101";       

WHEN"0110"=>SEG7<="1111101";       

WHEN"0111"=>SEG7<="0000111";       

WHEN"1000"=>SEG7<="1111111";       

WHEN"1001"=>SEG7<="1101111";       

WHENOTHERS=>SEG7<="0000000";       

ENDCASE;

ENDPROCESS;

ENDARCHITECTURE;

(2)BCD译码模块电路

图3BCD译码程序模块电路

各端口说明分别为:

输入:

              输出:

BCD1[3…0]:

4位BCD码;    数码管的七段显示

2.3键值显示模块

数码管显示用于将设置好的每个按键的键值在数码管上显示出来。

由于实验过程中需要使用8个数码管,因此数码管显示模块必须加上数码管片选及移位得程序,从而实现数据输入以后从低位向高位移动、显示。

(1)键值显示子程序

模块程序:

LIBRARYIEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSHOWIS

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));

ENDENTITY;

ARCHITECTUREONEOFSHOWIS

SUBTYPETENISSTD_LOGIC_VECTOR(3DOWNTO0);

SIGNALBCD:

TEN;

TYPENUMBER1ISARRAY(7DOWNTO0)OFSTD_LOGIC_VECTOR(3DOWNTO0);

SIGNALNUMBER:

NUMBER1;

SIGNALKEY,KEY1,CLK1,DIAL1,RE_DIAL1:

STD_LOGIC;

SIGNALCOUNT:

STD_LOGIC_VECTOR(3DOWNTO0);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1