EDA课程设计说明书模板_第1页
EDA课程设计说明书模板_第2页
EDA课程设计说明书模板_第3页
EDA课程设计说明书模板_第4页
EDA课程设计说明书模板_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

617- 长沙学院EDA课程设计说明书题目彩灯控制器的设计系(部)电子与通信工程系专业(班级)08电子一班姓名刘单学号200804417指导教师谢明华,马凌云,龙英,刘辉起止日期11年6月7日—11年6月17日2008电子信息工程专业课程设计任务书系(部):电子与通信工程系专业:电子信息工程学生姓名刘单指导教师谢明华,龙英,马凌云,刘辉课题名称彩灯控制器的设计设计要求及设计参数设计一个彩灯控制器,使彩灯(LED管)能连续发出三种以上不同的花型(自拟);随着彩灯显示图案的变化,发出不同的音响声;要求使用数码管显示当前的花型序号(分别为H1、H2、H3)以及该花型剩余的显示时间(分、秒)。设计工作量1、VHDL语言程序设计;2、波形仿真;3、在实验装置上进行硬件测试,并进行演示;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、硬件测试、调试过程,参考文献、设计总结等。进度安排起止日期工作内容备注星期二上午8:30到11:30理工楼B区2106课程设计安排谢明华星期三上午8:30到11:30理工楼B区2106设计程序谢明华星期四上午8:30到11:30理工楼B区2106设计程序马凌云星期五上午8:30到11:30理工楼B区2106设计程序谢明华星期一下午14:00到17:00理工楼B区2106下载、仿真马凌云星期二下午14:00到17:00理工楼B区2106下载、仿真谢明华星期三下午14:00到17:00理工楼B区2106下载、仿真马凌云星期四下午14:00到17:00理工楼B区2106下载、仿真谢明华主要参考资料参考文献EDA技术与VHDL清华大学出版社黄继业2.数字专用集成电路的设计电子工业出版社杨宗凯3.超大规模集成电路设计方法学导论清华大学出版社杨之廉4.硬件语言描述与数字逻辑电路设计侯伯亨、顾新编著5.潘松,黄继业.EDA与VHDL.[M]北京:清华大学出版社,2007指导教师签名年月日系(部)主管领导意见年月日答辩评委老师年月日教研室意见年月日长沙学院课程设计鉴定表姓名刘单学号2008044117专业电子信息工程班级一班设计题目彩灯控制器的设计指导教师谢明华,龙英,马凌云,刘辉指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“中”、“及格”、“不及格”五类;目录一、课程设计思路 -6-一)、设计题目 -6-二)、设计要求 -6-三)、设计想法 -6-1、整体设计思路 -6-3、整体设计流程: -6-(1)分频器 -6-(2)扬声器 -7-(3)计时器 -7-(4)显示器 -7-二、课程设计过程 -7-一)、模块分配 -7-2、 显示模块 -7-3、 蜂鸣器模块 -7-一)、彩灯控制系统的程序: -7-二)、综合引脚配置 -16-四、总结与体会: -16-参考文献 -17-一、课程设计思路一)、设计题目:彩灯控制器的设计二)、设计要求:1、设计一个彩灯控制器,使彩灯(LED管)能连续发出三种以上不同的花型(自拟);2、随着彩灯显示图案的变化,发出不同的音响声;3、要求使用数码管显示当前的花型序号(分别为H1、H2、H3)以及该花型剩余的显示时间(分、秒)。三)、设计想法1、整体设计思路:根据设计要求,我们将设计分为几个部分来设计,分别为:一是彩灯显示和扬声器的时序控制部分,二是发光二极管的动态显示和数码管的动态显示,本次设计中,二者的显示同步变化;三是扬声器的控制部分。2、整天设计流程图如下图所示:图1.0彩灯控制器的设计系统框图3、整体设计流程:(1)分频器:扬声器通过不同的频率控制发出不同的声音,同样发光二极管和数码管的显示速度也由其中分出来的一种频率控制。(2)扬声器:彩灯控制对随着彩灯显示图案的变化,发出不同的音响声,因此我们设计了扬声器。(3)计时器:彩灯控制系统中要求对花样的剩余时间进行计时,因此我们设计一个分秒计时器,对花样剩余时间计时。实验箱中时钟频率为50MHZ,故计时部分需加入分频,我们使之为1s。(4)显示器:用二个数码管显示字母H1、H2、H3,用三个数码管显示呼叫等待时间(mms),设计一七段数码显示器,数码片选为低电平有效,扫描信号定为1KHZ。二、课程设计过程一)、模块分配复位模块计时模块显示模块LED灯模块、蜂鸣器模块具体模块的设计:计时模块:考虑到实验箱共8个数码管,故设计时用二个数码管显示ms,所以时间方面采用的是以6秒进位,实验箱中的时间频率为50MHZ,所以选择了0:50000000即1秒的分频,先设定花样间隔时间为15秒,当上升沿到来时时间s减计1。显示模块:当彩灯为花样一时,我们用数码管依次显示H1+剩余时间;当彩灯为花样二时,我们用数码管依次显示H2+剩余时间;当彩灯为花样三时,我们用数码管依次显示H3+剩余时间.蜂鸣器模块:设计中采用不同的频率控制蜂鸣器不同的叫声。采用100HZ控制H1花样蜂鸣器的音乐;采用200HZ控制H2花样蜂鸣器的音乐;采用300HZ控制H3花样蜂鸣器的音乐。LED灯模块:彩灯设计系统中要求设计三种花样,花样一:从左至右亮;花样二:从右至左亮;花样三:从两边至中间依次亮。三、课程设计综合介绍一)、彩灯控制系统的程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitycaideng_controlis port(clk,rst:instd_logic; --time,resetport smg_data:outstd_logic_vector(6downto0);--shumaguanduanxuanshuju smg_wei:outstd_logic_vector(3downto0);--shumaguanweixuanshuju caideng_data:outstd_logic_vector(7downto0);--caidengshuchushuju beer:outstd_logic --databeer ); end;architectureoneofcaideng_controlis typestateis(s0,s1,s2,s3); typearrisarray(15downto0)ofstd_logic_vector(7downto0); signalnow_state,next_state:state; signald1,d2,d3,d4:arr; signalclk1,clk100,clk200,clk300,clk400:std_logic; signalcnt:integerrange0to15; signalfather_smg_data:std_logic_vector(7downto0); signalhua_data:std_logic_vector(2downto0); signaln:integerrange0to3; signaldis_data:std_logic_vector(3downto0); begin d1<=("00000001","00000010","00000100","00001000", "00010000","00100000","01000000","10000000"); d2<=("10000000","01000000","00100000","00010000", "00001000","00000100","00000010","00000001"); d3<=("10000001","01000010","00100100","00011000", "00011000","00100100","01000010","10000001");fenpin: process(clk,rst) variablea:integerrange0to500000; begin ifrst='1'then a:=0; elsifclk'eventandclk='1'then a:=a+1; if(a<500000)then if(a>250000)then clk100<='1'; else clk100<='0'; endif; else a:=0; endif; endif; endprocess; process(clk,rst) variableb:integerrange0to250000; begin ifrst='1'then b:=0; elsifclk'eventandclk='1'then b:=b+1; if(b<250000)then if(b>125000)then clk200<='1'; else clk200<='0'; endif; else b:=0; endif; endif; endprocess; process(clk,rst) variablec:integerrange0to200000; begin ifrst='1'then c:=0; elsifclk'eventandclk='1'then c:=c+1; if(c<166666)then if(c>83333)then clk300<='1'; else clk300<='0'; endif; else c:=0; endif; endif; endprocess; process(clk,rst) variabled:integerrange0to125000; begin ifrst='1'then d:=0; elsifclk'eventandclk='1'then d:=d+1; if(d<125000)then if(d>62500)then clk400<='1'; else clk400<='0'; endif; else d:=0; endif; endif; endprocess; process(clk,rst) variablee:integerrange0to50000000; begin ifrst='1'then e:=0; elsifclk'eventandclk='1'then e:=e+1; if(e<50000000)then if(e>25000000)then clk1<='1'; else clk1<='0'; endif; else e:=0; endif; endif; endprocess; caideng: process(rst,clk1) begin ifrst='1'thennow_state<=s0;cnt<=0; elsifclk1'eventandclk1='1'then if(cnt>14)then cnt<=0; now_state<=next_state; else cnt<=cnt+1; endif; endif; endprocess; process(now_state,cnt) begin casenow_stateis whens0=>caideng_data<="11111111";next_state<=s1; whens1=>caideng_data<=d1(cnt);next_state<=s2; whens2=>caideng_data<=d2(cnt);next_state<=s3; whens3=>caideng_data<=d3(cnt);next_state<=s1; endcase; endprocess;fenmingqi: process(cnt) begin casenow_stateis whens0=>beer<='0'; whens1=>ifclk1='1'then beer<=clk100; else beer<='0'; endif; whens2=>ifclk1='1'then beer<=clk200; else beer<='0'; endif; whens3=>ifclk1='1'then beer<=clk300; else beer<='0'; endif; endcase; endprocess;shumaguan: process(cnt) variablec_cnt:std_logic_vector(7downto0); variablecopy_cnt:integerrange0to15; begin copy_cnt:=15-cnt; c_cnt:=conv_std_logic_vector(copy_cnt,8); if(c_cnt(3downto0)>"1001")then c_cnt(3downto0):=c_cnt(3downto0)-10; c_cnt(7downto4):=c_cnt(7downto4)+1; endif; casenow_stateis whens1=>hua_data<="0001"; whens2=>hua_data<="0010"; whens3=>hua_data<="0011"; whenothers=>hua_data<="0000"; endcase; father_smg_data(7downto0)<=c_cnt(7downto0); endprocess; process(clk400) begin ifCLK400'eventandCLK400='1'then casenis when0=>dis_data<=father_smg_data(3downto0);smg_wei<="0001";n<=n+1; when1=>dis_data<=father_smg_data(7downto4);smg_wei<="0010";n<=n+1; when2=>dis_data<=hua_data; smg_wei<="0100";n<=n+1; when3=>dis_data<="1111"; smg_wei<="1000";n<=0; endcase; endif; endprocess; process(dis_data) begin casedis_datais when"0000"=>smg_data<="1000000";--0,数码管的G段不亮,显示为0 when"0001"=>smg_data<="1111001";--1 when"0010"=>smg_data<="0100100";--2 when"0011"=>smg_data<="0110000";--3

温馨提示

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

评论

0/150

提交评论