




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训报告课程名称: ED(洗衣机控制的设计) 学生姓名: 肖忠亮 学 号: 8000610040 专业班级: 计算机软件 南昌大学实训报告学生姓名: 肖忠亮 学 号: 8000610040 专业班级: 计算机软件 实训类型: 验证 综合 设计 创新 实训日期: 实验成绩: 一、实训项目名称洗衣机控制电路二、实训目的1熟悉verilog语言的程序的设计。2. 熟悉Quatus II软件的使用。3. 熟练掌握代码对硬件的烧写。4使用verilog语言设计具有创新的硬件电路。三、实训要求1. 熟悉EDA的开发环境Quartus II软件的使用;2. 设计原理图或者功能模块;3. 根据原理图或者功能图编写代码;4. 实现洗衣机控制系统的仿真:四、实训基本原理(附原理图、源程序清单)控制功能说明:1. 洗衣机的工作状态为待机5秒,正转60秒,待机5秒,反转60秒,并用3个led灯和7段显示器表示工作的状态和显示相应工作状态下的时间。2. 可以自定义来控制洗衣机的循环次数。3. 具有紧急情况的处理功能,4. 设定循环次数递减到0的时候就立刻报警,以表示设定的循环次数已经结束。设计代码如下:module washing(CPA,S1,S2,GO_ST,ADD,ALARM,LED,LED1,LED2,LED3,LED4,cur_state); /LED12表示前2个数码管,34表后二个数码管 LED 洗衣机工作的的状态的显示input CPA; /时钟信号input GO_ST; /暂停和开启按钮(相当于洗衣机遇到经济情况的时候的处理)input S1; /电源开关input S2; /表示给增加循环次数的确定的按钮input ADD; /增加循环次数的开始output 2:0cur_state; /记录洗衣机的状态output ALARM; /洗完后洗衣机的警报灯output 3:0LED; /4个状态的灯管显示output 7:0LED1; /洗衣机工作的时间十位output 7:0LED2; /时间的个位显示output 7:0LED3; /记录洗衣要循环的次数十位显示output 7:0LED4; /循环次数的个位显示reg 3:0 LED; /不工作状态,启动状态,第一个5秒状态,60秒状态,第二个5秒状态,洗完了状态警报状态,停止状态。reg 7:0 LED1;reg 7:0 LED2;reg 7:0 LED3;reg 7:0 LED4;reg 2:0dec; /用来对COUNTER2的数量进行的变换和计算的标志位reg 2:0 state; /标明状态变换reg CPB; /分频的作用reg ALARM; /铃声的响起reg 35:0 i;reg 7:0 COUNTER1; /数码管的显示reg 7:0 COUNTER2; /洗衣机循环次数的显示reg 2:0 cur_state; /表示现在状态和下一个状态parameter 2:0 END=3h0 ,READY=3h1 ,FIRST=3h2 ,SECOND=h3 ,THIRD=h4 ,FINALLY=h5, STOP=h6;/*initial begin dec=3b000; /初始化dec是0 COUNTER2的数据不会变动 cur_state=END; COUNTER1=h00; COUNTER2=h00; end*/always (posedge CPA) /一千万分频(这要对应你的EDA开发板的时钟)begin if(i=10000000) begin i=0; CPB=1; end else begin i=i+1; CPB=0; endendalways (cur_state or GO_ST) /洗衣状态的切换 begin case(cur_state) END:LED=b1111; /未开始状态灯全都灭了 READY:LED=b1110; /装备状态亮第一盏灯 FIRST:LED=b1101; /第一个5秒状态亮第二盏灯 SECOND:LED=b1011; /60状态是亮第三盏灯 THIRD:LED=b0111; /第二个5秒是亮第四盏灯 FINALLY:LED=b0000; /洗完了衣服灯全都亮 endcase if(GO_ST) LED=b0000; /暂停的状态下是灯全亮 endalways (S1 or S2 or state or GO_ST) /洗衣机是否开启的按钮S1按钮是一直要开启的状态,否则进入停住状态 begin if(S1 & cur_state=END) begin cur_state=READY; end else if(!S1) begin cur_state=END; end else if(S2 & cur_state=READY) cur_state=FIRST; /进入洗衣服的第一步阶 else begin case (state) /状态的变换 b010:cur_state=FIRST; b011:cur_state=SECOND; b100:cur_state=THIRD; b101:cur_state=FINALLY; endcase end endalways (posedge CPB) /5,60 ,5 的循环过程的计时 begin if(!GO_ST) begin case (cur_state) READY: begin state=b000; COUNTER1=h05; end FIRST: begin if(COUNTER13:0=4h0 & COUNTER17:4=4h0) /出现了循环次数的过大现象 begin state=3b011; COUNTER1=h60; end else if(COUNTER13:0=h0) begin COUNTER17:4=COUNTER17:4-h01; COUNTER13:0=h9; end else COUNTER13:0=COUNTER13:0-h01; end SECOND: begin if(COUNTER13:0=4h0 & COUNTER17:4=4h0) /出现了循环次数的过大现象 begin state=3b100; COUNTER1=h05; end else if(COUNTER13:0=h0) begin COUNTER17:4=COUNTER17:4-h01; COUNTER13:0=h9; end else COUNTER13:0=COUNTER13:0-h01; end THIRD: begin if(COUNTER13:0=h0 & COUNTER17:4=h0) /出现了循环次数的过大 现象 begin if(COUNTER2=h00) /表示洗衣机循环也结束了 begin state=3b101; /表示结束状态 ALARM=b1; COUNTER1=hee; /表示当洗衣机洗完了衣服后数码管就会显示ee的字母来提示用户衣服洗完了 dec=3b011; end else begin state=b010; /进入FIRST状态 if(COUNTER23:0=h0) /下面是当做完了一个洗衣循环的时候就要减去一个循环次数 begin dec=b010; /表示对COUNTER2的高位进行减数据 end else dec=b001; /表示对低位的数据进行减少 COUNTER1=h05; /当一轮循环了就可以对COUNTER1进行从新赋值 end end else if(COUNTER13:0=h0) begin COUNTER17:4=COUNTER17:4-h01; COUNTER13:0=h9; end else COUNTER13:0=COUNTER13:0-h01; end END: begin ALARM=b0; COUNTER1=hff; /表示数码管都没有输出数据,都是黑屏的 COUNTER2=h00; /表示数码管都没有输出数据,都是黑屏的 dec=2b100; state=b000; /当结束的时候就state不会影响的cur_state的值 end endcase end if(ADD & cur_state=READY) begin if(COUNTER23:0=h9 & COUNTER27:4=h9) /出现了循环次数的过大现象 COUNTER2=8h01; else if(COUNTER23:0=h9) begin COUNTER27:4=COUNTER27:4+h01; COUNTER23:0=h0; end else COUNTER23:0=COUNTER23:0+h01; end else if(dec=b001) /dec的不同则COUNGER2变换是不同的 begin COUNTER23:0=COUNTER23:0-h1; dec=b000; /当对个位数的数据改动后就不要进行改动了 end else if(dec=b010) begin COUNTER27:4=COUNTER27:4-h1; COUNTER23:0=h9; dec=b000; /当对十位数的数据改动后就不要进行改动了 end else if(dec=b011) /表示洗衣机洗完了衣服 begin COUNTER2=hee; /数码管显示EE表示洗衣机洗完了衣服 dec=b000; /同样要对dec进行复位 end else if(dec=b100) /表示洗衣机被关闭 begin COUNTER2=hff; /数码管不显示 dec=b000; /对dec进行复位 end endalways (COUNTER17:4) /对应数据数码管的显示begin case (COUNTER17:4) 0:LED17:0=b11000000; 1:LED17:0=b11111001; 2:LED17:0=b10100100; 3:LED17:0=b10110000; 4:LED17:0=b10011001; 5:LED17:0=b10010010; 6:LED17:0=b10000010; 7:LED17:0=b11111000; 8:LED17:0=b10000000; 9:LED17:0=b10010000; he:LED17:0=b10000110; /显示e hf:LED17:0=b11111111; /黑屏,这个用EDN的状态 endcase end always (COUNTER13:0) begin case (COUNTER13:0) 0:LED27:0=b11000000; 1:LED27:0=b11111001; 2:LED27:0=b10100100; 3:LED27:0=b10110000; 4:LED27:0=b10011001; 5:LED27:0=b10010010; 6:LED27:0=b10000010; 7:LED27:0=b11111000; 8:LED27:0=b10000000; 9:LED27:0=b10010000; he:LED27:0=b10000110; /显示e hf:LED27:0=b11111111; /黑屏,这个用EDN的状态 endcase endalways (COUNTER27:4) begin case (COUNTER27:4) h0:LED37:0=b11000000; h1:LED37:0=b11111001; h2:LED37:0=b10100100; h3:LED37:0=b10110000; h4:LED37:0=b10011001; h5:LED37:0=b10010010; h6:LED37:0=b10000010; h7:LED37:0=b11111000; h8:LED37:0=b10000000; h9:LED37:0=b10010000; he:LED37:0=b10000110; /显示e hf:LED37:0=b11111111; /黑屏,这个用EDN的状态 endcase end always (COUNTER23:0) begin case (COUNTER23:0) 0:LED47:0=b11000000; 1:LED47:0=b11111001; 2:LED47:0=b10100100; 3:LED47:0=b10110000; 4:LED47:0=b10011001; 5:LED47:0=b10010010; 6:LED47:0=b10000010; 7:LED47:0=b11111000; 8:LED47:0=b10000000; 9:LED47:0=b10010000; he:LED47:0=b10000110; /显示e hf:LED47:0=b11111111; /黑屏,这个用EDN的状态 endcase endendmodule 波形图的分析开始S1信号高电位,即S1信号开始有效,洗衣机开始开启,进入状态1,当ADD高电位,循环计数的控制信号开启,图中红色的显示在ADD有效的情况下LED4显示的数据是2表示,累加到 了循环2次的情况最后遇到了S2信号,表示对累加的数据进行确认,到S2到低点位的时候,状态变成了2,即开始洗衣服了。 待机5秒状态图中红色线圈到了的是表示洗衣机待机5秒。同样LED工作灯的显示由14变成13的情况。 洗衣机转动60秒图中红色的圈是表示状态有待机5秒状态变成转动60秒状态,可以看到状态有2变成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合规考试全量复习试题有答案
- 2025年四川省绵阳市中考二模道德与法治试题(原卷版+解析版)
- 2024北京西城区四年级(下)期末数学试题及答案
- 连锁餐饮的精细运营
- 立秋报道的新视角
- 2025年广州入小学需提供租赁合同
- 2025合同履行的相对性
- 2025租房合同协议范本标准版
- 功血首次病程记录
- 诌议混凝土结构工程质量通病及治理
- 环境工程复试题
- GB/T 42314-2023电化学储能电站危险源辨识技术导则
- 毕业设计(论文)-汽车用液压串联双腔制动主缸的设计
- 科学院大学博士入学复试汇报个人介绍PPT模板
- 迎春杯2023年-2023年中高年级初赛复赛试题真题整理
- 湿热、霉菌、盐雾设计分析报告
- GB/T 13869-2017用电安全导则
- GB/T 13738.2-2017红茶第2部分:工夫红茶
- GB/T 13012-2008软磁材料直流磁性能的测量方法
- GA/T 1768-2021移动警务身份认证技术要求
- 贯彻中国式《现代化》全文解读
评论
0/150
提交评论