EDA技术课程设计-脉冲按键电话显示器,要点_第1页
EDA技术课程设计-脉冲按键电话显示器,要点_第2页
EDA技术课程设计-脉冲按键电话显示器,要点_第3页
EDA技术课程设计-脉冲按键电话显示器,要点_第4页
EDA技术课程设计-脉冲按键电话显示器,要点_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、ed破术实用教程课程设计设计题目: 脉冲按键电话显示器系别:班级:一 引言1 背景说明eda(electronic design automation, 电子设计自动化 ) 技术正是为了适应现代电子产品设计的要求, 吸引多学科最新成果而形成的一门新技术。 利用 eda进行电子系统设计,具有以下几个特点: (1) 用软件的方式设计硬件; (2) 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; (3)设计过程中可用有关软件进行各种仿真; (4) 系统可现场编程, 在线升级; (5)整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。因此, eda 技术是现代电子设计的发展趋势

2、。我们本学期开设了eda课程,并开设了为期八周的 eda 实验课,主要利用 verilog 语言2、内容:设计一个准确地反映按键数字显示的电话按键显示器,该电话显示器要求具有拨通、挂断的功能,当按下拨通键时,表示电话拨通。当按下挂断键时,表示电话挂断。3、要求:( 1)计一个用数码管显示电话号码的电话按键显示器;( 2)地反映按键数字;( 3)示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;( 4)置一个“拨通键,按下此键,能显示最后一次输入的电话号码;二、总体设计思想1.基本原理本次课程设计是用 verilog 语言实现一个能准确地反映按键数字、具有8位显示的电话按键显示器。

3、摘机时开始工作,显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;设置一个“拨通”键,按下此键表示电话已经拨通;蜂鸣器开始工作,设置一个“挂断”键,按下此键表示电话已经挂断;蜂鸣器停止工作,本文设计的脉冲按键电话显示器由五个模块组成:分频模块、按键电路模块、按键输入模块、防抖模块、蜂鸣器模块和数码管显示定时模块(10s)电路六个模块,其中移位寄存、按键输入模块和数码管译码显示电路为系统的主要组成部分。( 1)按键电路模块。提供“ 0”到“9”数字按键的输入,同时设置有拨号键,挂机键。( 2)去抖动电路模块。 由于按键按下时由于操作原因,不可避免的会有按键抖动,为了消除抖动对系统

4、稳定性的影响,所以加上去抖动电路。( 3) 移位寄存器、 锁存模块。 移位寄存器分为三个部分。 当按下拨号键时,数字按键值依次由数码管的低位向高位移动,同时送入锁存器中;当按下删除键时,键值由高位向低位移除,高位数码管熄灭;当按下重拨键时,锁存器中存储的键值输入到移位寄存器中,并通过数码管显示出来。( 4)数码管显示模块。数码管显示用于将设置好的每个按键的键值在数码管上显示出来。由于实验过程中需要使用8 个数码管,因此数码管显示模块必须加上数码管片选及移位得程序,从而实现数据输入以后从低位向高位移动、显示。(6)倒计时(10s)模块 当电话按下拨通键后,蜂鸣器开始响,与此同时计 数器也开始工作

5、,在此期间若没有模拟电话没有接通,计数器一直工作,直到 超过十秒2、设计框图脉冲按键电话总体设计方案三、设计步骤和调试过程1、总体设计电路2、模块设计和相应模块程序1)顶层文件程序各端口说明分别为:输出:输入:din19- -0 : 09十个数字键;keyout :可输入数字指示灯;clk1:时钟脉冲;seg716巧:数码管;dial :拨号键;re dail挂断键2)分频子程序分频模块的封装图如下图所示:pll20inputiytc 7ta fa incikoinciko frequency: 20.000 mhz operation mode; normalcoclkratioph (dg

6、)dc (%)co1/100000.0050.00instlcyclone iii分频程序1r-qhaiwizard1户luq-cnxqu 1 of 12jaltpul.匚窜cfaarw eu廿1 maijdi pt oj«t/detau11iis- the it«l*.*tr*cy of 汁h rncfcmzko -put?口 set up rll in lt0rs eoduoata ex;wjtiicti -tfewioe siwedh ywj he 9.05; 7口 lhe rn*tbry benhpwratlp-e fg cfeges -wnlyfll lp av/

7、lhiuh fll wrb will bv uckiri£|7 o-艮 ej-o entwrkjecii pu_j. sbih-ei d-w ct.l bvp*里se tungspll20currwtay sdectea device family!210m e<ga wizard plug-im manacjei pa'ge 11 of 12 - edaaltpllm匚小口不亡ikq r一y m odo mhj: operatw*i mode: normalsimulatjon librariesfq propr-rly samljintr1 小gnratmd dss

8、gn tty ifi口igmng rvnljlntinni )*«±4 rle(£)are neededfd&descriptionam-eii-oi mealiunrchon sjeulahnn hbr-ary:.i .:.vao-bhoirb rilfaii-gurirr uilm 尸尸f filw总hicl lifk-luid£- die3 idl compo-ier-it declarateni fil。 u4rhus 11 hvrnhinl fhlirimcim*ai:iai5-| tc-naplto fil-加克型r型nttlilil

9、jll.l”nprffrp等l 口曰b口5(3)键值显示子程序键值显示控制的框图如下图所示jianpanq3 ,0xclkb3 .0-'a3. 0r3, 0ppinst按键显示控制框图模块程序:module jianpan(gd,clk,a,b,r,pp);input clk;input gd;input 3:0 a;output 3:0 b;output 3:0 r;output pp;reg pp;reg 1:0 c ;reg 3:0 r,b ;always (posedge clk) beginc<=c+1;case(c)0: b=4'b0111; 1: b=4&#

10、39;b1011; 2: b=4'b1101; 3: b=4'b1110;endcasecase(b,a )8'b0111_1110 : r=4'hb; 8'b0111_1101 : r=4'hc;8'b0111_1011 : r=4'hd; 8'b0111_0111 : r=4'hf;8'b1011_1110 : r=4'h1; 8'b1011_1101 : r=4'h4;8'b1011_1011 : r=4'h7; 8'b1011_0111 : r=4&#

11、39;ha;8'b1101_1110 : r=4'h2; 8'b1101_1101 : r=4'h5;8'b1101_1011 : r=4'h8; 8'b1101_0111 : r=4'h0;8'b1110_1110 : r=4'h3; 8'b1110_1101 : r=4'h6;8'b1110_1011 : r=4'h9; 8'b1110_0111 : r=4'he;endcasecase(gd)1'b1:r=4'he;endcaseendalway

12、s(pp or r )beginif( r = 4'b1011)pp <= 1'b1;if(r = 4'b1110)pp <= 1'b0;endendmodule(4)数码管模块数码管显示封装图pin y318a3, 0 led7s6 0je inst14数码管子程序library ieee ;use ieee.std_logic_1164.all ;entity decl7s isport ( a : in std_logic_vector(3 downto 0);led7s : out std_logic_vector(6 downto 0);e

13、nd ;architecture one of decl7s isbeginprocess( a )begincase a iswhen "0000" => led7s <= "0111111" ;when "0001" => led7s <= "0000110" ;when "0010" => led7s <= "1011011" ;when "0011" => led7s <= "1001111

14、" ;when "0100" => led7s <= "1100110" ;when "0101" => led7s <= "1101101" ;when "0110" => led7s <= "1111101" ;when "0111" => led7s <= "0000111" ;when "1000" => led7s <= "11

15、11111" ;when "1001" => led7s <= "1101111" ;when "1010" => led7s <= "1110111" ;when "1011" => led7s <= "1111100" ;when "1100" => led7s <= "0111001" ;when "1101" => led7s <= &qu

16、ot;1011110" ;when "1110" => led7s <= "1111001" ;when "1111" => led7s <= "1110001" ;when others => null ;end case ;end process ;end ;(5)蜂鸣器模块蜂鸣器封装图蜂鸣器子程序2345678910111213141516171819smodule input inputfenmin (clkf rst 口,qq); elk; rst n;output

17、 qq;reg qq;always (posedge elk or negedge rst_n) beginif (!rst_n)qq<=0;elsebeginqq <= qq+l iif(qq=500)qq<=0;end endendmodule(6)去抖动电路模块- - -1- _- - f - j- - - - - , -d_k kout-j- - - - - - - - - - - - - - - _x* f: 二 二: 二: i:-:二:.?inssts:kir jr-s_ wf't jp iiit,st 3l oni'1=uly kolj-ryz_

18、ji - - _. - * - - - * * - *;去抖动电路子程序123456189101112131415=module er2p fclk, 工hkoui);input clkr kin;output kout; reg kout;reg 3;0 kh,kl;always (posedge clk begin if (ekin) kl<=kl+1 ;else kl<='boooo;endalways (posedge clk) begin if (kin) kh<= kh+1;else kh<=4:1 boooo; end always (posedg

19、e clk) begin/工作时钟和输入信号定义对高电平和低电平脉宽计数之寄存器.对键输入的低电平脉宽计数若出现高电平,则计数器清0/同时对键输入的高电平脉宽计数 若出现高电平,则计数器清。if (kh > 4'blloo) kouts1,b工;/对高电平脉宽计数一旦大于ie,则输出1 else if (kl > 4'bollljkout<=lfbo; end endmodule对低电平脉宽计数若大于7,则输出0计数器(10s)模块计数器封装图计数器中间模块dff4叩 d q3 0clkrst二 litflit中川in霸恰;clk二:案:weetw 二.x-,

20、一m* *r- l _ r- r .二二二计数器子程序ocivile cmt1o (c, n),23456789ioit1213141 51 51718192021222 3z 42526j_npu.t outputreg 3: always se (4 t boooo 4 t booo14.boo1o 4 , booh 4'bo1oo4.bo1o14 bo11o 4 1 bo1114 t blooo 4 t bloo14 * b1o1o 4,b1o11 4'b11oo 4.b11o14 r b111o 4 t bllll de f a.u. 11 endca.setj r o

21、 n c 0 : f ) :3 3 o cn< = 4 t booo1; nv=4'boo1o; zv = 4 , booh ; nc=4bo1oo; nv=41bo1o1; nv = 4 ' boho; zv=4bo111; zv=4.blooo; zv = 4 1 bloo工: nv = 4 " boooo; zv = 4 * boooo; nc=4'b1o1o; n<=4.b1o11; nv=4'b11oo; zv=4b11o1;wc = 4 t bl11o; zv = 4 t boooo j4、实验调试结果为验证所设计的程序是否正确, 将程序下载进行硬件测试。在quartus h开发环境中进行管脚锁定,连接好数码管驱动电路,然后将目标文件下载到器件中。最终可以看到按键正常显示、“重拨”键功能正常、达到设计要求四、结论及心得体会课程设计是培养学生综合运用所学发现、提出、分析和解决实际问题锻炼 ?实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,通过这次的eda课设,加深了对电子电路理论知识的理解,并锻炼了实践动手能

温馨提示

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

评论

0/150

提交评论