ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:552.27KB ,
资源ID:16376412      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16376412.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数电综合实验Word下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数电综合实验Word下载.docx

1、最后,在基本功能完成之后,我开始考虑提高要求部分的功能,由于第一项要求较难,所以我首先依次利用多个LED灯实现了功能显示、状态显示、时间提示、结束提示等功能。最后,在认真思考之后完成了最后一个功能:进度条功能的添加。总体框图 : 是 是 否 是分块设计(基本功能):时间设定部分:在此部分,若开始键及复位键未按下,则不断检测各输入按键是否按下,之后根据检测结果控制各位数字的变化,并将该数字送显。倒计时控制及数码管显示部分:在此部分,若开始键按下,则时间需减1/秒,且需不断检测复位键是否按下以及倒计时是否结束。火力控制部分:在此部分,若未开始,则需不断检测火力控制键是否按下并送显。三、仿真波形及波

2、形分析上面的就是时间设定以及显示的波形。从上图中可以看出随着time1、time2、time3、time4的上升沿,f各位的数值在不断变化,而sell则岁clk的上升沿30依次显0,说明各位在依次点亮,而f与数码管显示数字是相对应的。所以相关输入检测代码以及数码管显示代码是正确的。上面的就是火力设定以及送显的波形。从上图中可以看出s对应的是各行依次扫描送0,而q对应的则是各行图案,且当输入改变时,所显示图案改变。所以相关输入检测代码以及点阵显示代码是正确的。四、源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSI

3、GNED.ALL;-实体定义ENTITY s31s1 IS PORT(clk: IN STD_LOGIC; -pin18 输入时钟信号huoliin: -火力调整按钮 输入time1in,time2in,time3in,time4in:IN STD_LOGIC; -时间设定四位调整按钮 输入startin,resetin: -开始、复位按钮输入gongnengin: -功能键对应输入sell: OUT STD_LOGIC_VECTOR(5 downto 0); -数码管显示扫描选择 输出f: OUT STD_LOGIC_VECTOR(6 downto 0); -数码管显示控制 输出r: OUT

4、 STD_LOGIC_VECTOR(7 DOWNTO 0); -点阵显示列控制(列red)g: -点阵显示列控制(列grenn)fengming : OUT STD_LOGIC; -蜂鸣器对应输出weiboout : OUT STD_LOGIC:=1; -微波加热功能对应输出(LED)shaokaoout:0 -烧烤加热功能对应输出(LED)zuihou: -提示加热进入最后一分钟输出(LED)shijianjieshu: -加热结束,LED闪烁提示(与蜂鸣器一致)daiji: -说明当前处于待机状态,可以调整工作状态的LED输出jiare: -说明当前处于加热状态的LED输出LED1: LE

5、D2:s: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); - 点阵显示行扫描 输出END s31s1;- ARCHITECTURE定义ARCHITECTURE a OF s31s1 ISTYPE all_state IS (S0,S1,S2);SIGNAL state: all_state:=S2; -火力状态信号 SIGNAL saomiaolie: integer range 0 to 7; -点阵显示扫描选择控制信号SIGNAL timenow1: integer range 0 to 5:=5; -数码管第一位(分十位)(倒计时逻辑部分使用)SIGNAL time

6、now2: integer range 0 to 9:=9; -数码管第二位(分个位)SIGNAL timenow3: -数码管第三位(秒十位)SIGNAL timenow4: -数码管第四位(秒个位)SIGNAL timenow11: -数码管第一位(分十位)(时间设定部分使用)SIGNAL timenow21:SIGNAL timenow31:SIGNAL timenow41:SIGNAL timewei: integer range 0 to 3;SIGNAL COUNT: integer range 0 to 24999; -产生clock过程中用到的信号SIGNAL COUNT1:

7、integer range 0 to 100; -产生延迟过程中用到的信号SIGNAL COUNT2: integer range 0 to 360000:=0; -产生clock1过程中用到的信号SIGNAL timezong:SIGNAL timepast1:SIGNAL timepast2:SIGNAL timepast:SIGNAL q: STD_LOGIC_VECTOR(7 DOWNTO 0); -点阵显示列控制信号SIGNAL clock: STD_LOGIC; -1Hz时钟信号SIGNAL clock1: -100Hz时钟信号SIGNAL kaishi: STD_LOGIC: -

8、表示已经开始,进入加热状态SIGNAL jieshu: -表示倒计时结束SIGNAL sheding: -表示reset键被按下,进入设定状态SIGNAL fengmingjishu: -使用蜂鸣器的时候使用的计数SIGNAL fengming1: -表示蜂鸣器使能,当前蜂鸣器处于使用状态SIGNAL weibo: -控制功能输出时使用SIGNAL shaokao:SIGNAL LED1s:SIGNAL LED2s:SIGNAL resetmp11,resetmp21,time1 : -防抖部分使用SIGNAL resetmp12,resetmp22,time2 :SIGNAL resetmp

9、13,resetmp23,time3 :SIGNAL resetmp14,resetmp24,time4 :SIGNAL resetmp15,resetmp25,huoli :SIGNAL resetmp16,resetmp26,start :SIGNAL resetmp17,resetmp27,reset :SIGNAL resetmp18,resetmp28,gongneng :BEGIN -倒计时部分代码-PROCESS(clk,COUNT) -由输入时钟进行分频产生1HZ时钟clock、100HZ时钟clock1BEGINIF (clkEVENT AND clk=) THEN COUN

10、T=COUNT + 1; COUNT2=COUNT2 + 1; IF (COUNT=24999) THEN clock= NOT clock; END IF; IF COUNT2=249 THEN clock1 IF (clockEVENT AND clock= IF timenow4=0 THEN IF timenow3=0 THEN IF timenow2=0 THEN IF timenow1=0 THEN jieshu -即若时间各位均变为0的时候,此时对应的状态是倒计时结束 ELSE timenow1=timenow1-1; -一下各种情况对应各种借位 timenow2 timenow

11、3 timenow4 ELSE timenow2=timenow2-1; ELSE timenow3=timenow3-1; ELSE timenow4=timenow4-1; timenow1 sellf0111111-sell0000110-06 WHEN 2 =1011011-5B1001111-4F WHEN 4 =1100110-66 WHEN 5 =1101101-6D WHEN 6 =1111101-7D WHEN 7 =0000111-07 WHEN 8 =1111111-7F WHEN 9 =1101111-6F END CASE;111101 CASE timenow3 I

12、S111011 CASE timenow2 IS WHEN 9 =110111 CASE timenow1 ISEND PROCESS ;PROCESS(clk,timewei)-改变控制数码管扫描的信号timeweiIF(clkevent and clk= IF(timewei=3) THEN timewei else=timewei+1;-设定时间部分代码-数码管显示部分在倒计时部分的PROCESS部分已有代码 是重复利用的 所以不需重新写PROCESS(time1,start) -第一位时间设定IF start= THEN IF(time1event and time1= IF(time

13、now11=5) THEN timenow11 ELSE =timenow11+1;IF (sheding= OR jieshu=PROCESS(time2,start) IF start= IF(time2event and time2= IF(timenow21=9) THEN timenow21=timenow21+1;PROCESS(time3,start) IF(time3event and time3= IF(timenow31=5) THEN timenow31=timenow31+1;PROCESS(time4,start) IF(time4event and time4= I

14、F(timenow41=9) THEN timenow41=timenow41+1;-火力控制部分代码-PROCESS(clk,saomiaolie)-改变控制点阵扫描的信号saomiaolie IF saomiaolie=7 THEN saomiaolie ELSE saomiaolie CASE saomiaolie IS WHEN 0= 扫描第一行 s01111111-0 q10111111-101111110 WHEN 2=11011111-211111111 WHEN 3=11101111-300011000 WHEN 4=11110111-4 WHEN 5=11111011-500000000 WHEN 6=11111101-6 WHEN 7=11111110-7 WHEN S1=00100100 WHEN S2=

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

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