欢迎来到天天文库
浏览记录
ID:61002105
大小:615.23 KB
页数:26页
时间:2021-01-19
《北邮数电综合实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、北京邮电大学北京邮电大学数字电路与逻辑设计实验学院:信息与通信工程学院班级:2013211127作者:薄士宁学号:2013212543____1/26北京邮电大学一.实验名称和任务要求LED点阵风扇的设计与实现基本要求:1、用8×8点阵模拟风扇转动,并采用双色点阵显示。2、风扇转动方式如图1所示,包括四个点阵显示状态并按顺序循环显示。风扇转动速度根据环境温度分为4档,其中1档的四个显示状态之间的切换时间为2秒,2档为1秒,3档为0.5秒,4档为静止不动。图1点阵模拟风扇转动示意图3、环境温度通过2个BTN
2、按键设置,一个用来增加,一个用来减少,温度可设置范围为10℃~40℃,温度精度为1℃,并用两个数码管进行温度显示。风扇根据不同的温度自动采用不同的转动速度,其中20℃~24℃对应1档,25℃~29℃对应2档,30℃~40℃对应3档,10℃~19℃对应4档,用一个数码管显示档位。4、定时模式:在风扇不同转动速度下,可以通过按键切换进入定时模式。定时时间可设置范围为20~59秒,采用两个数码管进行倒计时显示,当倒计时结束后,风扇状态保持静止不动。5、设置开关键。风扇开机初始状态为20℃、1档,并有不小于5秒的
3、开机音乐。关机状态为点阵全灭。提高要求:1、设计LED风扇的其他工作模式。2、利用实验板上的温度传感器代替按键直接获取温度数据,实现对LED风扇四档转速的自动控制。3、用数码管实时显示温度传感器的温度数据,精度为0.1℃。4、自拟其他功能。二.基本思路根据实验要求,画出总的原理图。实验的基本要求,即8×8双色点阵模拟风扇转动、风扇转动分四个档位(每个档位对应“四种”状态)、通过环境温度控制档位的自动选择、设计定时模式、开关机状态。为了实现这些既定要求,设计出了温度控制模块、倒计时控制模块、音乐控制模块、点
4、阵风扇模块、数码管显示模块等,通过对时钟的分频、加减法计数器、数据选择器等的运用,来实现上述功能。(具体思路由单独模块中介绍)原理图由多个模块组装而成,总原理图如下:2/26北京邮电大学图2总原理图通过对源程序的编译可得到该程序框图的资源利用率,为61%。资源利用图如下:图3总资源利用率图三.模块功能介绍(一)音乐控制模块图4音乐控制模块图3/26北京邮电大学图5音乐控制模块原理图1)开机需要音乐,给定的一段开机音乐它是由音符组成的,而每个音符是有固定的频率,通过分频器,得到每个音符所对应的频率,经过板子
5、上beep就能够发出相应的音符。我所设定的开机音乐为《两只老虎》,它的简谱如下:图6《两只老虎》简谱图观察简谱可以发现,它所用的音符有1、2、3、4、5、6、5(低音5),所以查阅网络找到每个音符的频率,通过分频器计算得到它们的分频系数。图7音符的分频系数图4/26北京邮电大学通过分频系数可以得到每个音符所对应的分频器,举例do:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydiv_doisport(
6、clk:instd_logic;clear:instd_logic;clk_out:outstd_logic);enddiv_do;architectureaofdiv_doissignaltmp:integerrange0to476;--分频系数476signalclktmp:std_logic;beginprocess(clear,clk)beginifclear='1'thentmp<=0;clktmp<='0';elsifclk'eventandclk='1'theniftmp=476thentm
7、p<=0;clktmp<=notclktmp;elsetmp<=tmp+1;endif;endif;endprocess;clk_out<=clktmp;enda;2)在每个音符确定之后,接下来就是《两只老虎》乐曲的确定。采用数据选择器,在每一个时钟上升沿的时候,确定它相对应的输出,从而保证每次输出一个音符,且保证输出的连贯性。图8音符控制器图5/26北京邮电大学整个乐曲的音符输入控制VHDL代码如下:libraryieee;useieee.std_logic_1164.all;useieee.std_l
8、ogic_unsigned.all;entitymusicisport(clk:instd_logic;b1,c1,d1,e1,f1,g1,h1,i1:outstd_logic);--对应每个音符,0对应的音符作用endmusic;architecturearcofmusicissignala:integerrange0to61;signalb,c,d,e,f,g,h,i:std_logic;beginp1:process(a
此文档下载收益归作者所有