EDA技术课程设计-脉冲按键电话显示器.
脉冲按键电话按键显示器

课程设计题目脉冲按键电话按键显示器学院自动化学院专业班级姓名指导教师2014 年07 月06 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:自动化学院题目: 脉冲按键电话按键显示器设计初始条件:1.运用所学的模拟电路和数字电路等知识;2.用到的元件:实验板、电源、连接导线、74系列芯片、555芯片等。
要求完成的主要任务:1.设计一个具有7位显示的电话按键显示器;2.显示器应能正确反映按键数字,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前显示位,七位数字输入完毕后,电话接通;3.扬声器发出“嘟——嘟”接通声响,直到有接听信号输入,若一直没有接听,10秒钟后,自动挂断,显示器清除显示,扬声器停止,直到有新号码输入。
4.严格按照课程设计说明书要求撰写课程设计说明书。
时间安排:第1天下达课程设计任务书,根据任务书查找资料;第2~4天进行方案论证,软件模拟仿真并确定设计方案;第5天提交电路图,经审查后领取元器件;第6~8天组装电路并调试,检查错误并提出问题;第9~11天结果分析整理,撰写课程设计报告,验收调试结果;第12~14天补充完成课程设计报告和答辩。
指导教师签名: 2014年 6月23日系主任(或责任教师)签名: 2014年 6月23日目录引言1 设计意义及要求 (1)1.1 设计意义 (1)1.2 设计要求 (1)2 方案设计 (2)2.1 设计思路 (2)2.2 方案设计 (3)2.2.1设计方案一电路图 (3)2.2.2设计方案二电路图 (4)2.3 方案比较 (6)3 部分电路设计 (7)3.1 显示电路 (7)3.2 时钟脉冲触发移位电路 (9)3.3 数字脉冲触发发声电路 (10)3.4 发声模块电路 (10)3.5 反馈清零电路 (11)4 调试与检测 (13)4.1 调试中故障及解决办法 (13)4.2 调试与运行结果 (14)5 仿真操作步骤及使用说明 (16)结束语 (17)参考文献 (18)附录电路图 (19)本科生课程设计成绩评定表引言电话是我们日常生活中的常见的物品,自从贝尔发明电话以来,它就成为了我们人类生活中不可或缺的物品。
脉冲按键电话按键显示器设计

目录引言 (1)1设计意义及要求 (2)1.1设计意义 (2)1.2设计要求 (2)2方案设计 (3)2.1设计思路 (3)2.2方案设计电路图 (4)2.2.1设计方案一电路图 (4)2.2.2设计方案二电路图 (6)2.3方案比较 (7)3部分电路设计 (8)3.1按键电路设计 (8)3.2数码管显示电路设计 (9)3.3扬声器发声及清零电路设计 (11)3.3.1七位按键数字计数电路设计 (11)3.3.2时钟脉冲产生电路设计 (12)3.3.3十秒计时电路及显示清零电路设计 (13)4调试与检测 (15)4.1调试中的故障及解决办法 (15)4.2调试与运行结果 (16)5仿真操作步骤及说明 (18)5.2电路各部件说明 (18)5.2仿真步骤说明 (18)结束语 (19)参考文献 (20)附录 (21)附录一个人方案整体电路图 (21)附录二小组方案整体电路图 (22)引言电话在日常生活中十分常见,自从电话这项发明问世以来,人们的生活方式发生了重大改变。
现如今,人们所用的电话越来越智能化,功能也越来越丰富,它现在已经成为人们的生活中不可缺少的物品。
不管是老式的按键电话还是现行的智能手机,它们的某些结构和原理都是有相似之处的。
在信息技术高度发达的现代社会,科学技术发展日新月异,唯有紧跟时代步伐,才能适应社会和国家发展的需要。
作为一名新时代大学生,我们更应该多了解前沿技术,学好基础知识,为以后更深入的学习打下一个良好的基础。
模拟电子技术和数字电子技术是面向二十一世纪的课程教材,学好这两门基础课对我们以后设计和分析电路具有十分重要的意义。
为了进一步加强我们的动手创造能力,因此我从此次任务的一些基础功能入手,逐步分析,并熟悉了设计方法,完成了此次实训任务的基础功能。
根据我们所学的知识,可以将这个电路分为几个模块来实现,即按键部分、数码管显示部分、扬声器工作部分。
在此次训练任务中,我主要运用数字电子技术的知识,包括编码器,移位寄存器,数码管,多谐振荡器,计数器,555定时器以及常见的逻辑门元件。
脉冲按键显示器设计课程设计说明书

课程设计说明书题目:脉冲按键显示器专业:电气工程与自动化年级:2010级学生:学号:指导教师:完成日期:2012 年06 月24日脉冲按键显示器摘要:脉冲按键显示器要紧由4000系列芯片(40174锁存器,4508译码器)和74HC147编码器组成。
该脉冲按键显示器除具有准确显示和反映按键数字功能外,还具有清零、按时熄灭和逐位显示功能。
当用户输入号码时,显示器显示从低位向高位前移,逐位显示按键数字;从头按键时,可用清零按钮清除显示;在挂机2分钟或按下熄灭按钮后,显示器熄灭。
系统通过Proteus仿真软件验证了其理论设计的正确性。
关键词:脉冲,显示器,4000系列芯片,ProteusAbstract:Telephone Pulse button monitor consists of 4000 series chip (a 40174 latch, decoder 4508) and 74HC147 encoder. The telephone pulse button monitor has accurate display and reflect the key digital function, also has the reset timing out, and bit by bit display function. When the user input number, from low to high display forward, bit by bit display key figures; when the key is available again, a reset button clear display; in 2 minutes or press out the on-hook button, display out. Simulation software by Proteus verify the correctness of their theoretical design.Keywords: Pulse, Monitor, 4000 series chip, Proteus目录1 前言 (1)设计背景 (1)设计概述 (1)2 整体方案设计 (3)方案比较 (3)方案论证 (4)方案选择 (4)3 单元模块设计 (5)按键脉冲电路 (5)按时消隐功能电路 (7)电路参数的计算及元器件的选择 (8)特殊器件介绍 (9)4 软件简介 (13)5 系统调试 (14)仿真电路总图 (14)系统仿真参数设置 (14)功能调试 (14)调试结果分析 (18)6 系统功能指标参数 (20)系统实现的功能 (20)系统指标参数测试 (20)系统功能及指标参数分析 (20)7 结论 (21)8 设计总结 (22)设计的收成体会 (22)对设计的进一步完善提出意见或建议 (22)9 致谢 (23)10 参考文献 (24)附录:系统仿真总图 (25)1 前言设计背景随着科技的进展,愈来愈普及。
脉冲按键电话显示器设计 (2)讲解

2011 ~ 2012 学年第 2 学期《数字系统设计》课程设计报告题目:脉冲按键电话显示器设计专业:通信工程班级:姓名:指导教师:电气工程系2012年5月24日课程设计任务书摘要本次课程设计的目的是为了巩固我们对数字电子技术课程所学过的内容,能够运用课程中所掌握的数字电路的分析和设计方法解决实际问题,培养分析问题,解决问题的能力。
我们在设计此课题中要求设计一个具有8位显示的电话按键显示器。
能准确显示按键数字,并且数字依次从右向左移动显示,最低位为当前输入位。
同时设置清除键,能使显示器立即清除当前的显示。
最后要设计一个震荡器,使其产生1HZ的脉冲,来做定时电路。
在挂机2min后或者按熄灭按键,能达到熄灭显示器显示的功能。
在这个设计中,我们用到了编码器,移位寄存器,译码显示器等芯片及元器件。
对于它们的工作特性,会有进一步的理解。
关键词:脉冲,移位,显示器目录摘要 (3)一、整体电路设计思路 (5)二、单元电路设计方案 (6)2.1.计时电路的设计 (6)2.1.1芯片介绍 (6)2.1.2电路设计原理 (6)2.2电话号码显示器电路的设计 (8)2.2.1设计原理 (8)2.3时钟脉冲发生器的设计及设计图 (8)四、按键模块VHDL程序 (9)五、参考文献 (10)六、自我评价 (11)七、评语表 (12)一 、整体电路设计思路:我们在设计此课题中要求设计并制作一个具有8位显示的电话按键显示器,摘机时开始工作。
能准确显示按键数字,并且数字依次从左向右移动,最低位为当前键入位。
同时设置清除键,能使显示器立即清除当前的显示,设置确定键,能将当前的键入号码呼出,并起动记时器显示通话时间,要求记时器的最大显示值59分59秒。
最后还要设计一个震荡器,使其产生1HZ 的脉冲。
其框图如图所示:电话按键显示器包括脉冲发生器、计数器、译码显示器、控制器、移位寄存器等五部分组成。
其中计数器和移位寄存器是系统的主要组成部分。
《EDA课程设计》教学大纲

《EDA课程设计》教学大纲第一篇:《EDA课程设计》教学大纲设计四拔河游戏机1、设计一个能进行拔河游戏的电路。
2、电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点。
3、游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。
4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。
5、用数码管显示获胜者的盘数。
教学提示:1、按钮信号即输入的脉冲信号,每按一次按钮都应能进行有效的计数。
2、用可逆计数器的加、减计数输入端分别接受两路脉冲信号,可逆计数器原始输出状态为0000,经译码器输出,使中间一只二极管发亮。
3、当计数器进行加法计数时,亮点向右移;进行减法计数时,亮点向左移。
4、由一个控制电路指示谁胜谁负,当亮点移到任一方终端时,由控制电路产生一个信号,使计数器停止计数。
5、将双方终端二极管“点亮”信号分别接两个计数器的“使能”端,当一方取胜时,相应的计数器进行一次计数,这样得到双方取胜次数的显示。
6、设置一个“复位”按钮,使亮点回到中心,取胜计数器也要设置一个“复位”按钮,使之能清零。
设计五乒乓球比赛游戏机1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。
2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。
3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。
若击中,则球向相反方向移动;若未击中,则对方得1分。
4、一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。
5、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
6、甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
(完整word版)EDA技术课程设计-脉冲按键电话显示器,

《EDA技术实用教程》课程设计设计题目:脉冲按键电话显示器系别:班级:一引言1 背景说明EDA(Electronic Design Automation,电子设计自动化 )技术正是为了适应现代电子产品设计的要求,吸引多学科最新成果而形成的一门新技术。
利用 EDA 进行电子系统设计,具有以下几个特点: (1)用软件的方式设计硬件; (2)用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; (3)设计过程中可用有关软件进行各种仿真; (4)系统可现场编程,在线升级; (5)整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。
因此, EDA 技术是现代电子设计的发展趋势。
我们本学期开设了EDA课程,并开设了为期八周的 EDA 实验课,主要利用 Verilog 语言2、内容:设计一个准确地反映按键数字显示的电话按键显示器,该电话显示器要求具有拨通、挂断的功能,当按下拨通键时,表示电话拨通。
当按下挂断键时,表示电话挂断。
3、要求:(1)计一个用数码管显示电话号码的电话按键显示器;(2)地反映按键数字;(3)示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;(4)置一个“拨通键,按下此键,能显示最后一次输入的电话号码;。
二、总体设计思想1.基本原理本次课程设计是用verilog语言实现一个能准确地反映按键数字、具有8位显示的电话按键显示器。
摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;设置一个“拨通”键,按下此键表示电话已经拨通;蜂鸣器开始工作,设置一个“挂断”键,按下此键表示电话已经挂断;蜂鸣器停止工作,本文设计的脉冲按键电话显示器由五个模块组成:分频模块、按键电路模块、按键输入模块、防抖模块、蜂鸣器模块和数码管显示定时模块(10S)电路六个模块,其中移位寄存、按键输入模块和数码管译码显示电路为系统的主要组成部分。
(1)按键电路模块。
提供“0”到“9”数字按键的输入,同时设置有拨号键,挂机键。
基于EDA中verilog语言的脉冲电话号码显示电路

广西科技大学EDA课程设计报告题目:脉冲电话号码显示电路班别:电子122学号: ************姓名:覃思远日期: 5.29目录一、设计任务...................................... 错误!未定义书签。
二、设计思路及总体方案 (2)2.1、基本原理 (2)2.2、各部分分析................................ 错误!未定义书签。
三、程序设计...................................... 错误!未定义书签。
四、仿真结果 (5)五、总结 (6)六、参考文献 (7)脉冲电话号码显示电路摘要:EDA(Electronic Design Automation,电子设计自动化)技术正是为了适应现代电子产品设计的要求,吸引多学科最新成果而形成的一门新技术。
本次课程设计是利用软件的方式设计硬件,利用Quartus II 6.0这款软件对其进行编译和仿真。
本系统包含按键电路、译码电路、数码显示、移位寄存器和锁存模块。
利用译码器控制数据的输入输出变换,而移位寄存器用来控制拨号键、清零键以及重拨键,最后在通过数码管来显示输出数据。
该系统通过按键控制了数码管的显示以及其它功能。
关键词:Quartus II 6.0;按键电路;译码电路;数码管;锁存器一、设计任务1.有四个脉冲按键分别代表数字1、2、3、4,输出是四个显示号码的BCD码,号码取1~4;数码管显示从低位到高位前移,逐位显示按键数字,最低位为当前输入位。
2.设置一个“重播”键,按下此键,可以显示最后一次输入的4个号码;3.设置一个“清零”键,按下此键,可以将此前输入的号码清除,显示0000;4.将顶层文件下载到实验箱的核心芯片EP1C3T144C8中,利用实验箱上面的按键和显示数码管,进行演示。
二、设计思路及总体方案2.1基本原理本次课程设计用VHDL语言实现的脉冲按键电话显示器由4个部分组成:按键电路,移位寄存器、锁存器和数码管显示电路,其中移位寄存器为系统的主要组成部分。
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顶层文件按键电路模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程EDA技术课程设计题目脉冲按键电话显示器专业电子信息工程主要内容、基本要求、主要参考资料等主要内容:设计一个准确地反映按键数字具有8位显示的电话按键显示器,该电话显示器要求具有重拨的功能,当按下重拨键时,能够显示最后一次输入的电话号码。
基本要求:1、设计一个具有8位显示的电话按键显示器;2、能准确地反映按键数字;3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;4、设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;5、挂机2秒后或按熄灭按键,熄灭显示器显示。
主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限2011.3.11指导教师专业负责人2011年3月7日一、总体设计思想1.基本原理本次课程设计是用VHDL语言实现一个能准确地反映按键数字、具有8位显示的电话按键显示器。
摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;设置一个“重拨”键,按下此键能显示最后一次输入的电话号码;挂机2秒后或按熄灭键,熄灭显示器显示。
本文设计的脉冲按键电话显示器由五个模块组成:按键电路、译码器、移位寄存、锁存器和数码管显示电路,其中移位寄存、锁存器和数码管译码显示电路为系统的主要组成部分。
(1)按键电路模块。
提供“0”到“9”数字按键的输入,同时设置有拨号键,清除键,挂机键和重拨键。
(2)译码电路模块。
译码器有两个功能。
第一,把输入的一位键值转换成四位BCD码;第二,把4位二进制码译成相应的数码管输出显示码。
BCD码对应的七段数码管显示如下表:BCD码对应的数码管显示(3)移位寄存器、锁存模块。
移位寄存器分为三个部分。
当按下拨号键时,数字按键值依次由数码管的低位向高位移动,同时送入锁存器中;当按下删除键时,键值由高位向低位移除,高位数码管熄灭;当按下重拨键时,锁存器中存储的键值输入到移位寄存器中,并通过数码管显示出来。
(4)数码管显示模块。
数码管显示用于将设置好的每个按键的键值在数码管上显示出来。
由于实验过程中需要使用8个数码管,因此数码管显示模块必须加上数码管片选及移位得程序,从而实现数据输入以后从低位向高位移动、显示。
2.设计框图脉冲按键电话总体设计方案二、设计步骤和调试过程 1、总体设计电路CLEAR CLK1DIAL DIN1[0]DIN1[1]DIN1[2]DIN1[3]DIN1[4]DIN1[5]DIN1[6]DIN1[7]DIN1[8]DIN1[9]RE_DIALKEY1SEG8[0]SEG8[1]SEG8[2]SEG8[3]SEG8[4]SEG8[5]SEG8[6]SEG8[7]SET[0]SET[1]SET[2]SET[3]SHOW:U1:SET[0]SHOW:U1:SET[1]SHOW:U1:SET[2]SHOW:U1:SET[3]Mux0~3Mux1~3Mux2~3Mux3~3Mux4~3Mux5~3Mux6~3CLEAR CLK1RE_DIALDIN1[6]DIN1[9]DIN1[8]DIN1[0]DIN1[4]DIN1[2]DIN1[5]DIN1[3]DIN1[1]DIN1[7]DIAL KEYOUT SEG71[0]SEG71[1]SEG71[2]SEG71[3]SEG71[4]SEG71[5]SEG71[6]SEG8[0]SEG8[1]SEG8[2]SEG8[3]SEG8[4]SEG8[7]SHOW:U1TRA:U2SEG8[6]SEG8[5]2、模块设计和相应模块程序1)顶层文件程序各端口说明分别为:输入: 输出:DIN1[9…0]:0~9十个数字键; KEYOUT :可输入数字指示灯; CLK1:时钟脉冲; SEG71[6…0]:8位数码管;CLEAR:删除键; SEG3[2…0]:数码管的七段;DIAL:拨号键;RE_DAIL:重拨键模块程序:LIBRARY IEEE; --库定义USE IEEE.STD_LOGIC_1164.ALL; --包定义USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY UPKEY IS --定义实体名、端口PORT(DIN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0); --定义0~9数字输入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 UPKEY IS --定义结构体COMPONENT 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 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);BEGINU1: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译码程序各端口说明分别为:输入:输出:BCD1[3…0]:4位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_VECTOR(6 DOWNTO 0));END ENTITY;ARCHITECTURE ONE OF TRA ISBEGINPROCESS(BCD1)ISBEGINCASE BCD1 ISWHEN "0000"=>SEG7<="0111111"; --显示0WHEN "0001"=>SEG7<="0000110"; --显示1WHEN "0010"=>SEG7<="1011011"; --显示2WHEN "0011"=>SEG7<="1001111"; --显示3WHEN "0100"=>SEG7<="1100110"; --显示4WHEN "0101"=>SEG7<="1101101"; --显示5WHEN "0110"=>SEG7<="1111101"; --显示6WHEN "0111"=>SEG7<="0000111"; --显示7WHEN "1000"=>SEG7<="1111111"; --显示8WHEN "1001"=>SEG7<="1101111"; --显示9WHEN OTHERS=>SEG7<="0000000"; --其他情况下数码管熄灭 END CASE;END PROCESS;END ARCHITECTURE;3)键值显示子程序键值显示控制的框图如下图所示按键显示控制框图各端口说明分别为:输入:输出:DIN [9…0]:0~9十个数字键; KEYOUT:可输入数字指示灯;CLK:时钟脉冲; SET[3…0]:键值的BCD码CLEAR:删除键; SEG3[2…0]:数码管的七段;DIAL:拨号键;RE_DAIL:重拨键模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.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 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:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL DIN1: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL LOCK: STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN----------------------------------------------------PROCESS(CLK)ISBEGINIF RISING_EDGE(CLK) THENCOUNT1<=COUNT1+1;END IF;END PROCESS;CLK1<='0' WHEN COUNT1<"1100" 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) 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)ISBEGINIF FALLING_EDGE(CLK1) THENIF COUNT2="100" THENIF CLEAR='0'AND RE_DIAL='0' THENKEY1<=KEY;ELSIF CLEAR ='1' AND RE_DIAL='0' THENKEY1<=CLK;ELSE KEY1<=RE_DIAL1;END IF;COUNT2<="000";ELSECOUNT2<=COUNT2+1;END IF;END IF;END PROCESS;--------------------------------------PROCESS(DIN1)ISBEGINIF 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<="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' THEN --输入数字,实现数字从低位向高位移动NUMBER(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);NUMBER(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";ELSE --将已输入数字锁存 NUMBER(7)<= LOCK(31 DOWNTO 28);NUMBER(6)<= LOCK(27 DOWNTO 24);NUMBER(5)<= LOCK(23 DOWNTO 20);NUMBER(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) THENCOUNT<=COUNT+1;END IF;END PROCESS;---------------------------------------------------------PROCESS(COUNT)ISBEGINCASE COUNT IS --片选,选择数码管 WHEN "0001"=>SET<=NUMBER(7);SEG8<="00000001";WHEN "0011"=>SET<=NUMBER(6);SEG8<="00000010";WHEN "0101"=>SET<=NUMBER(5);SEG8<="00000100";WHEN "0111"=>SET<=NUMBER(4);SEG8<="00001000";WHEN "1001"=>SET<=NUMBER(3);SEG8<="00010000";WHEN "1011"=>SET<=NUMBER(2);SEG8<="00100000";WHEN "1101"=>SET<=NUMBER(1);SEG8<="01000000";WHEN "1111"=>SET<=NUMBER(4);SEG8<="10000000";WHEN OTHERS=>NULL;END CASE;END PROCESS;----------------------------------------------------------PROCESS(DIAL1)ISBEGIN --在重拨键以后,显示已拨号码 IF 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(2);LOCK(7 DOWNTO 4)<=NUMBER(1);LOCK(3 DOWNTO 0)<=NUMBER(0);END IF;END PROCESS;END ARCHITECTURE;3、仿真及仿真结果分析4、实验调试结果为验证所设计的程序是否正确,将程序下载进行硬件测试。