




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字逻辑课程设计报告姓 名: 学 号: 选课号: 103 班 号: a201 设计题目全自动洗衣机的设计设计要求设计全自动洗衣机控制器,为不同的洗衣阶段设置不同的时间。(洗衣阶段和时间自己定义)设计过程 设计方案:全自动洗衣机有9个工作状态:空闲(idle),第一次加水(water1),洗涤(wash),第一次排水(drain1),第二次加水(water2),漂洗(rinse),第二次排水(drein2),甩干(dry),响起音乐(music)。状态转移条件有以下2个:开始(start),复位(reset)。状态转移图: 注:方框内上方为状态机的状态,下方为状态机的输出。当按下reset键时,洗衣机复位到初始状态,m=0,w=0,d=0,mu=0。当按下start按钮时,则进入water1状态,w=1,加水,历时5s。然后转移到下一个状态-洗涤,停止加水w=0,电机运转m=1,历时10s。再转移到下一个状态排水,电机停止运转m=0,开始排水d=1,历时5s直到甩干结束后,整个洗衣过程完成。然后洗衣机放出音乐,历时7s,提示用户洗衣完成。洗衣机回到初始状态。整个过程经历45s。源程序:module wash_machine(count,clk,reset,start,w,m,d,mu,state);input clk,reset,start;output w,m,d,mu,state;output 3:0count;reg3:0 count;parameter idle=0,water1=1,wash=2,drain1=3,water2=4,rinse=5,drain2=6,dry=7,music=8;reg w,m,d,mu;reg 3:0 state;always (posedge clk) begin if(reset) begin w=0;m=0;d=0;mu=0; state=idle; end case(state) idle: if(start) begin w=1;m=0;d=0;mu=0; state=water1; end water1: if(count=4) /the time of water is 5s begin count=1d0; w=0;m=1;d=0;mu=0; state=wash; end else begin count=count+1; endwash: if(count=9) /the time of wash is 10s begin count=1d0; w=0;m=0;d=1;mu=0; state=drain1; end else begin count=count+1; end drain1: if(count=4) /the time of drain is 5s begin count=1d0; w=1;m=0;d=0;mu=0; state=water2; end else begin count=count+1; end water2: if(count=4) /the time of water is 5s begin count=1d0; w=0;m=1;d=0;mu=0; state=rinse; end else begin count=count+1; end rinse: if(count=5) /the time of rinse is 6s begin count=1d0; w=0;m=0;d=1;mu=0; state=drain2; end else begin count=count+1; end drain2: if(count=4) /the time of drain is 5s begin count=0; w=0;m=1;d=1;mu=0; state=dry; end else begin count=count+1; end dry: if(count=2) /the time of dry is 3s begin count=1d0; w=0;m=0;d=0;mu=1; state=music; end else begin count=count+1; end music: if(count=6) /the time of music is 7s begin count=1d0; state=idle; w=0;m=0;d=0;mu=0; end else begin count=count+1; end endcase endendmodule仿真结果:设计结论设计结果分析: 按下reset键,洗衣机复位;按下start键,开始洗衣,直到洗衣完成。设计中遇到的问题:1、 每个状态无法持续,来了一个时钟就进入下一个状态了,没有判断我写的条件:例如:原来在water1的条件下,我写的是:water1: if(count(timewater-1) begin count=count+1; end else begin count=1d0; w=0;m=1;d=0;mu=0; state=wash;end结果就是下图所示:(错误的仿真结果)后来改成了: water1: if(count=4) begin count=1d0; w=0;m=1;d=0;mu=0; state=wash; end else begin count=count+1;end 原因是:if不是循环,只要条件满足就执行下去,不会再判断条件仍旧满足而再执行if里面的语句。设计心得: 1、学习并基本掌握了verilog hdl的写法,并会用verilog hdl语言设计有限状态机。会写计数器,并且在历经设计好的一段时间后跳到下一状态。2、实现经过一段时间后状态的跳转:在每个时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销策略在品牌建设中的重要性
- 网络环境下用户体验与消费行为分析
- 自动化工具助力提升市场营销效率
- 金融衍生品交易中的风险管理与巴塞尔协议
- 适应不同年龄段孩子的家庭学习环境规划
- 运动与饮食的平衡青少年的健康之道
- 高效办公数学思维助力提升效率
- 2025新进厂职工安全培训考试试题含完整答案【易错题】
- 2025年安全管理人员安全培训考试试题附参考答案(典型题)
- 2025年厂级安全培训考试试题及完整答案一套
- 9.1日益完善的法律体系 课件 -2024-2025学年统编版道德与法治七年级下册
- 镀锡铜合金线总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 2025年04月中国热带农业科学院橡胶研究所第一批公开招聘16人(第1号)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 宝宝便秘的健康宣教
- 2025 年江苏苏州化学中考模拟练习卷
- 全媒体运营师数据分析考题
- 2025-2030中国玻璃纤维混凝土行业市场发展趋势与前景展望战略研究报告
- 上海市建筑工程质量竣工资料ABCD册教学提纲
- 事故应急池管理制度
- 2025攀枝花辅警考试题库
- 2025年中职思政试题及答案
评论
0/150
提交评论