1、燕山大学课 程 设 计 说 明 书题目: 洗衣机 学院(系): 电气工程学院 年级专业: 学 号: 学生姓名: 指导老师: 吕宏诗 张强 老师职称: 试验师 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:电子试验中心 学 号学生姓名专业(班级)设计题目洗衣机设计技术参数 洗衣机工作时间可在1-15分钟内任意设定(整分钟数); 要求洗衣机运行规律为正转20s、停10s、反转20s、停10s、再正转20s,如此反复; 洗衣机正转时在双色点阵上显示Z,反转时显示F; 要求用两个数码管显示洗衣机剩下工作时间,每当电机运行1分钟,显示器自动减1,直到为0时,电机停止运转;设计要求
2、用动态数码管显示时间; 电机正转、反转要用双色点阵显示。工作量学会使用Max+PlusII软件、Verilog HDL语言和试验箱;独立完成电路设计,编程下载、连接电路和调试;参与答辩并书写任务书。工作计划1. 了解EDA基础知识,学习使用软件Max+PlusII,下发任务书,开始电路设计;2. 学习Verilog HDL语言,用Verilog HDL进行程序设计;3. 学习使用试验箱,继续电路设计;4. 完成电路设计;5. 编程下载、连接电路、调试和验收;6. 答辩并书写任务书。参考资料数字电子技术基础.阎石主编.高等教育出版社.EDA课程设计A指导书.指导老师签字基层教学单位主任签字金海龙
3、说明:此表一式四份,学生、指导老师、基层教学单位、系部各一份 年 月 日目 录第1章 摘要1第2章 设计方案2 第3章 Verilog HDL源程序3第4章 源程序各部分波形仿真图5第5章 管脚锁定及硬件连线 14第6章 结论 16参考文件 18前 言 面对当今飞速发展电子产品市场,电子设计人员需要愈加实用、快捷EDA工具,实用统一集成设计环境,改变传统设计思绪,即优先考虑具体物理实现方法,而将精力集中到设计构思、方案比较和寻求最优化设计等方面,以最快速度开发出性能优良、质量一流电子产品。今天EDA工具将向着功效强大、简单易学、使用方便方向发展。此次课程设计题目洗衣机,本任务书,首先概括介绍了
4、EDA技术、VerilogHDL硬件描述语言,依据任务书对本课题整体思绪进行了介绍,然后分别介绍了主程序各部分功效,并绘制波形仿真,再次给出实现本任务书所要求功效及其附加功效源程序和波形仿真图,最终进行管脚锁定和外部硬件连线并下箱实现了全部功效。在此次课程设计过程中源程序编译及硬件连接过程中全部碰到了很多困难,在老师耐心指导下完成了此次课程设计。再次尤其感谢老师指导。第一章 摘 要数字电路关键是基于两个信号(我们能够简单说是有电压和无电压),用数字信号完成对数字量进行算术运算和逻辑运算电路我们称之为数字电路,它含有逻辑运算和逻辑处理等功效,数字电路可分为组合逻辑电路和时序逻辑电路。1. EDA
5、介绍EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述关键表示方法,以计算机、大规模可编程逻辑器件可开发软件及试验开发系统为设计工具,经过相关开发软件,自动完成用软件方法设计电子系统到硬件系统逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片一门新技术。利用EDA技术进行电子系统设计,含有以下多个特点:(1)用软件方法设计硬件;(2)用软件方法设计系统到硬件系统转换是由相关开发软件自动完成;(3)设计过程中可用相关软件进行仿真;(4)系统现场可编程,在线
6、升级;(5)整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。所以,EDA技术是现代电子设计发展趋势。2.Verilog HDL Verilog HDL 是现在应用最广泛硬件描述语言之一,被IEEE采纳为IEEE STD1364-1995(也成为Verilog-1995)和IEEE STD.1364-(也成为Verilog-HDL)能够进行算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次电路设计和描述。采取Verilog HDL 进行电路设计于工艺设计无关,这使得设计者在进行电路设计时能够无须过多考虑工艺实现具体
7、细节,设计者只需要利用计算机强大功效,在EDA工具支持下,经过Verilog HDL描述,完成数字电路和系统设计即可,从而提升了设计效率,降低了设计者劳动强度。 作为硬件描述语言,Verilog HDL含有以下特点:(1) 能够在不一样抽象层次上,如系统级、行为级、RTL级、门级和开关级,对设计系统进行正确而简练描述。(2)能够在每个抽象层次描述上对设计进行仿真验证,立即发觉立即发觉可能存在错误,缩短设计周期,并保留整个设计过程正确性。(3)因为代码描述和工艺过程实现无关,便于设计标准化,提升设计可重用性。如国有C语言编程基础经验,只需很短时间就能学会和掌握Verilog HDL,所以,Ver
8、ilog HDL能够作为学习HDL设计方法入门和基础。第二章 设计方案2.1任务分析由任务书可知要求以下:洗衣机工作时间可在1-15分钟内随时可任意设定(整分钟数);要求洗衣机运行规律为正转20s、停10s、反转20s、停10s、再正转20s,如此反复;用两个数码管显示洗衣机剩下工作时间,每当电机运行1分钟,显示器自动减1,直到为0时,电机停止运转并有蜂鸣器发声提醒。经过设计能够达成以下功效:1、洗衣机正转20s时双色点阵显示“Z”,同时红色信号指示灯L1亮灯。反转20s时双色点阵显示“F”,同时红色信号指示灯L2亮灯。2、两位动态数码管显示剩下分钟数,每一分钟减小一。3、当工作停止时,动态数
9、码管显示“00”同时蜂鸣器响。2.2设计思绪六十进制加计数器依据任务能够知道因为每整数分钟后要降低一,所以需要一个六十进制计数器,使每六十秒产生一个进位信号,为整数分钟提供减数信号。十五进制减法计数器,完成十五分钟任意置数后计时显示剩下工作时间。当记时为0是,fengming=1是蜂鸣器响。动态数码管部分采取ss作为位选信号,有clk1高频循环,因为发光二极管余辉效应和人眼视觉暂留现象,会观察到两位数码管同时显示。八进制加法计数器部分用来完成双色点阵行和列高频扫描,一样利用发光二极管余辉效应和人眼视觉暂留现象,会在双色点阵上看到一定图形。双色点阵部分含有当行是低电平而对应列是高电平时该点亮光特
10、征,所以分别另每行对应低电平时需关键点亮列是高电平,高频循环后,就会得到需要图形。 第三章 Verilog HDL设计源程序module xiyijibiancheng(CLK,shiwei,gewei,forward,fengming,back,LDN,CLK1,G,SS,ROW,GA);input CLK,CLK1,LDN;input3:0shiwei,gewei;output forward,back,SS,fengming;output6:0G;output7:0ROW,GA;reg L;reg2:0 W;reg3:0OUT;reg6:0G;reg7:0ROW,GA; reg3:0QQ
11、_TEMP,C,Q,C_TEMP;reg forward,back,RD,CC_TEMP,cp,SS,B_TEMP,fengming;reg1:0dianzhen;reg5:0Q_TEMP;always(posedge CLK) /六十进制加法计数器 begin if(LDN) if (shiwei!=b0000|gewei!=b0000) begin if (RD=1) if (Q_TEMP=6b000000&Q_TEMP6b011110&Q_TEMP=6b010101&Q_TEMP=6b110011&Q_TEMP4b0000) QQ_TEMP=QQ_TEMP-1; else if(QQ_T
12、EMP=4b0000) begin QQ_TEMP=QQ_TEMP+4b1001; C_TEMP=C_TEMP-1; end Q=QQ_TEMP; C=C_TEMP; end end endalways(posedge CLK1) /八进制计数器部分begin if(W=b111) W=0; else W=W+1;end always(W) /双色点阵部分begin if(dianzhen=b11&LDN=1&forward=1&back=0)begin case(W) 0:begin ROW=b01111111;GA=b11111111;end 1:begin ROW=b10111111;G
13、A=b00000010;end 2:begin ROW=b11011111;GA=b00000100;end 3:begin ROW=b11101111;GA=b00001000;end 4:begin ROW=b11110111;GA=b00010000;end 5:begin ROW=b11111011;GA=b00100000;end 6:begin ROW=b11111101;GA=b01000000;end 7:begin ROW=b11111110;GA=b11111111;end endcaseendif(forward=0&back=0&LDN=1&dianzhen=b01)b
14、eginROW=b11111111;GA=b00000000;endif(dianzhen=b00&LDN=1&back=1&forward=0)begin case(W) 0:begin ROW=b01111111;GA=b11111111;end 1:begin ROW=b10111111;GA=b10000000;end 2:begin ROW=b11011111;GA=b10000000;end 3:begin ROW=b11101111;GA=b11111110;end 4:begin ROW=b11110111;GA=b10000000;end 5:begin ROW=b11111
15、011;GA=b10000000;end 6:begin ROW=b11111101;GA=b10000000;end 7:begin ROW=b11111110;GA=b10000000;end endcaseendendalways(posedge CLK1) /动态数码位选信号部分 begin if(B_TEMPb1) B_TEMP=B_TEMP+1; else begin B_TEMP=b0;end SS=B_TEMP; endalways(posedge CLK1) begin case(SS) b0:OUT=QQ_TEMP; b1:OUT=C_TEMP; endcase endal
16、ways(OUT) /动态数码管部分 begin case(OUT) 0:G=b0111111; 1:G=b0000110; 2:G=b1011011; 3:G=b1001111; 4:G=b1100110; 5:G=b1101101; 6:G=b1111101; 7:G=b0000111; 8:G=b1111111; 9:G=b1101111; endcase endendmodule第四章 源程序各部分波形仿真图4.1 预置数部分预置时间情况以下表所表示控制端十位各位预置数LDNshiwei3shiwei2shiwei1shiwei0gewei3gewei2gewei1gewei00000
17、0000000000000011000000010200000001130000001004000000101500000011060000001117000001000800000100190000110101000001101111000011100120000111011300001111014000011111151XXXXXXXX0功效说明: 以上置数时,需要在LDN=0时才可。shiwei3:0和gewei3:0分别用数字开关组A组SW1SW8来控制。4.2各部分仿真波形1、六十进制加法计数器部分由仿真波形可知,当置数端LDN=1时表示指数结束,此时Q_TEMP由零开始计数当计时到
18、60时,cp=1,为十五进制减法计数器输入减1信号。2、十五进制减法计数器部分由gewei3:0和shiwei3:0可知所置数数值为11,当开始工作后60秒时cp输出高电平使得Q_TEMP3:0由1变为0,即此时动态数码管个位由1变为0,十位数值C_TEMP仍为1,即完成“显示剩下工作时间10分钟”功效。3、动态数码管部分由图可知指数值为11,在一分钟内OUT3:0一直交替显示个位和十位值,均为1,一分钟后变为交替显示0和1,在经过一份后交替显示9和0。而位选信号SS则交替显示0和1,不停选择显示位,如此循环,因为发光二极管余辉特征及人眼视觉暂留特征,能够看到显示两位动态数码管数值。4、八进制
19、计数器部分由图能够知道伴随CLK1高频率改变W有0到7不停改变,完成双色点阵行和列高频扫描。5、双色点阵部分由图能够知道当dianzhen=01是显示停止工作10秒时仿真波形,此时正转forward=0反转back=0,行ROW均输出高电平,列GA均输出低电平,故点阵不显示任何波形。当dianzhen=11是显示正转20s时仿真波形,此时正转forward=1反转back=0,行和列分别显示所需图形对应值,在双色点阵上显示“Z”。当dianzhen=00是显示反转20s时仿真波形,此时正转forward=0反转back=1, 行和列分别显示所需图形对应值,在双色点阵上显示“F”。4.3数码管显
20、示部分本任务需要两个数码管显示剩下时间,数码管输入输出各量真值表以下:个位数字数码管显示:输入(个位)SS=1数码管输出数码管显示值Q3Q2Q1Q0hgfedcba0000001111110000100000110100100101101120011010011113010001100110401010110110150110011111006011100000111710000111111181001011001119十位数字数码管显示: 输入(十位)SS=0数码管输出数码管显示值Q7Q6Q5Q4hgfedcba00000011111100001000001101功效说明:SS在0、1之间以
21、一定频率往返变换,所以观察者能够看到两个数码管同时显示数字,而实际上在同一时刻只有一个数码管显示。当SS=0时,选中DS8A,使输出量为十位上数;当SS=1时,选中DS7A,使输出量为个位上数。数码管输入数据不一样,输出7个段信号不一样,数码管显示数就不一样。4.4整体仿真波形功效说明:在开始时LDN=0,开始置数,置数完成后LDN=1开始工作,正转(forward=1),双色点阵显示“Z”,同时红色彩灯L1亮,暂停10S,反转20S(back=1),双色点阵显示“F”,同时红色彩灯L2亮,当停止工作时,蜂鸣器蜂鸣提醒(fengming=1)。第五章 管脚锁定及硬件连线5.1 管脚锁定程序输入
22、端管脚锁定:程序输入端扩展版下载接口程序输入端扩展板下载接口CLKPin8CLK1Pin9gewei0Pin53gewei1Pin47gewei2Pin46gewei3Pin45shiwei0Pin44shiwei1Pin41shiwei2Pin40shiwei3Pin39LDNPin89程序输出端管脚锁定:程序输出端扩展版下载接口程序输出端扩展板下载接口forwardPin12backPin13SsPin87fengmingPin38G0Pin85G1Pin75G2Pin83G3Pin86G4Pin88G5Pin90G6Pin93ROW0Pin198ROW1Pin196ROW2Pin193R
23、OW3Pin191ROW4Pin189ROW5Pin179ROW6Pin176ROW7Pin174GA0Pin197GA1Pin195GA2Pin192GA3Pin190GA4Pin187GA5Pin177GA6Pin175GA7Pin1735.2 硬件连线 Pin38 Pin53 Pin47 Pin46 Pin45 Pin44 Pin41 Pin40 Pin39 分别为蜂鸣器和A组数字开关SW8 SW7 SW6 SW5 SW4 SW3 SW2 SW1,已经内部连接,不需连线。Pin10CLOCK 信号引脚21 Pin9CLOCK信号引脚11Pin89B组数字开关SW9 Pin12彩色信号指示
24、灯L1Pin13彩色信号指示灯L2 Pin87动态数码管位选信号SS0 Pin 85动态数码管a Pin75动态数码管bPin 83动态数码管c Pin 86动态数码管dPin 88动态数码管e Pin 90动态数码管fPin 93动态数码管g Pin 198双色点阵ROW1Pin 196双色点阵ROW2 Pin 193双色点阵ROW3Pin 191双色点阵ROW4 Pin 189双色点阵ROW5Pin 179双色点阵ROW6 Pin 176双色点阵ROW7Pin 174双色点阵ROW8 Pin 197双色点阵GA1Pin 195双色点阵GA2 Pin 192双色点阵GA3Pin 190双色点
25、阵GA4 Pin 187双色点阵GA5Pin 177双色点阵GA6 Pin 175双色点阵GA7Pin 173双色点阵GA8第六章 总 结在两周课程设计过程中,从开始第一天对EDA课设一无所知,到最终自己编程仿真,自己下箱硬件试验成功,在这期间,学会了不少东西。开始在老师讲解下,学习了EDA相关东西,MAX+plus II软件使用,verilog HDL语言使用,在拿到自己任务书以后,开始设计完成自己课题。在设计过程中,碰到了不少麻烦,首先是看到自己任务书后认为很简单,不过却不知道怎样下手;再次是每次程序编译全部会犯错,有些错误不知道是怎么回事,由什么原因引发,经过两周学习,在老师和周围同学帮
26、助下,对verilog HDL语言慢慢熟悉,编程思绪越来越清楚,从开始不知所措到最终完成任务要求并附加功效,品尝到成功喜悦。两周课设让我深深知道,不管做什么事情,一定要踏扎实实,切忌浮躁,尤其是在自己碰到困难时候。其次,要养成良好习惯。在这次编程过程中,假如有良好编程习惯,对于自己思绪有良好促进作用。最终,感谢吕宏诗老师和张强老师在这次EDA课程设计中对我指导和帮助。参考文件 1郑兆兆 李艳艳 周莲莲 吕宏诗 EDA课程设计A指导书 2常丹华 张宝荣 黄震 李江昊 数字电子技术基础燕山大学课程设计评审意见表指导老师评语:该生学习态度 (认真 较认真 不认真) 该生迟到、早退现象 (有 无)该生依靠她人进行设计情况 (有 无)平时成绩: 指导老师签字: 年 1 月4 日图面及其它成绩:答辩小组评语:设计巧妙,实现设计要求,并有所创新。 设计合理,实现设计要求。 实现了大部分设计要求。 没有完成设计要求,或只实现了一小部分设计要求。 答辩成绩: 组长签字: 年 1 月4 日课程设计综合成绩:答辩小组组员签字: 1 月4 日