基于洗衣机控制器的研究.doc
《基于洗衣机控制器的研究.doc》由会员分享,可在线阅读,更多相关《基于洗衣机控制器的研究.doc(14页珍藏版)》请在沃文网上搜索。
1、成 绩指导教师:EDA技术与实验课程设计题 目: 基于洗衣机控制器的研究 姓 名: 院 系: 电子信息工程系 专 业: 通信工程 班 级: 2班 学 号: 指导教师: 2012年 12 月14基于洗衣机控制器的研究胡晋1、 实验原理 本实验运用verilog语言和有限状态机的原理.1通过设定时间,实现洗衣机从启动状态正转2个脉冲(1个脉冲等于10S),进入暂停状态,暂停2个脉冲,再由暂停状态进入状态,即反转2个脉冲,然后再进入暂停状态,暂停3个脉冲,如此在这3种状态中循环下去,直到设定的时间到达后停止工作。如果设定的时间没有到达循环将一直持续下去。程序运用verilog语言编码并且运用max+
2、plusII软件仿真。2 2总体方案(1)新建文件:打开Max+plus软件,新建一个Text Editor文件,操作界面见图1。 图1 新建文本文件(2)在新建文件中输入源程序代码,下面这部分是确定输入与输出的变量,并且也在这部分程序当中确定输入和输出量的大小范围。我假设的a为正转,b为反转,c为暂停,d为停止,x为输入的设定的一个值,它是用来控制脉冲的个数,当达到x设定数值的脉冲时洗衣机停止工作。clk为脉冲输入端。State是控制状态的。module hj991(x,clk,a,b,c,d,state);input3:0 x;input clk;output a,b,c,d;output
3、2:0 state;reg2:0 state;reg3:0i,j;reg a,b,c,d;(3)下面这段程序是主程序,运用case语句和if语句实现循环,3也运用了有限状态机的原理。首先各一个脉冲,state从s0开始运行,让j清零并且指向下一步s1。parameter s0=d0,s1=d1,s2=d2,s3=d3,s4=d4,s5=d5;always (posedge clk)begin case(state)s0: begin state=s1; j=0; end(4)下面的程序是由s0执行下来的,首先先判断i是否等于x,如果等于x则直接跳到s5执行停止程序,如果不等于x,再判断j是否等
4、于1,如果等于1就执行i与j自加一次并且state指向s2再让a置为高电平(正转),如果j也不等于1则i与j自加,state继续执行s1的程序,并且a也置为高电平(正转)。 s1: begin if(i=x) begin state=s5; end else if(j=1) begin i=i+1; j=j+1; state=s2; a=1; b=0; c=0; d=0; end else begin i=i+1; j=j+1; state=s1; a=1; b=0; c=0; d=0; end end(5)当程序从s1跳到s2的时候,首先还是判断i与x是否相等,相等就直接跳到s5处停止运行,
5、不是则i与j自加个1,并且判断j是否等于3,如果相等则将state赋值s3,如果不想等则将c置高电平(暂停)并将state赋值s2让其循环运行。 s2: begin if(i=x) begin state=s5; end else if(j=3) begin i=i+1; j=j+1; state=s3; end else begin i=i+1; j=j+1; state=s2; a=0; b=0; c=1; d=0; end end(6)下面的程序是在s2(暂停)后进入反转阶段,首先还是先判断i与x之间是否相等,相等则state赋为s5,不相等就判断j是否等于5,相等就i与j自加个1,再把
6、state赋为s4再把b置为高电平(反转),如果2个都不满足则执行else所包含的内容,i与j还是要自加,但state赋为s4且b置为高电平(反转)。 s3: begin if(i=x) begin state=s5; end else if(j=5) begin state=s4; i=i+1; j=j+1; a=0; b=1; c=0; d=0; end else begin i=i+1; j=j+1; state=s3; a=0; b=1; c=0; d=0; end end(7)当state由s3进入s4时,继续判断i与x是否相等,如果不相等则看j是否等于7,等于的话就i与j自加个1,
7、把s0赋给state,如果都不想等就运行else,i和j自加把c置为高电平(暂停),然后循环。 s4: begin if(i=x) begin state=s5; end else if(j=7) begin i=i+1; j=j+1; state=s0; end else begin i=i+1; j=j+1; state=s4; a=0; b=0; c=1; d=0; end EndS5为停止端,当运行s5时,表示d要为高电平,这时的洗衣机就停止运行。 s5: begin a=0; b=0; c=0; d=1; state=s5; end default: state=s0; endcas
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 洗衣机 控制器 研究