【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告

上传人:第*** 文档编号:31000232 上传时间:2018-02-03 格式:DOCX 页数:28 大小:832.68KB
返回 下载 相关 举报
【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告_第1页
第1页 / 共28页
【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告_第2页
第2页 / 共28页
【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告_第3页
第3页 / 共28页
【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告_第4页
第4页 / 共28页
【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告》由会员分享,可在线阅读,更多相关《【含源代码】北邮数电实验洗衣机控制器点阵动态显示vhdl报告(28页珍藏版)》请在金锄头文库上搜索。

1、 20152016 学年第一学期数字电路与逻辑设计实验(下)实验报告题目:基于 CPLD 的简易洗衣机控制器的设计与实现班 级:学 号:班内序号:学生姓名:1、设计课题的任务要求任务要求: 基本要求:1、 基于 CPLD 的简易洗衣机控制器 的工作步骤为洗涤、漂洗和脱水三个过程, 工作时间分别为:洗涤 30 秒(进 水 5 秒, 洗衣 15 秒,排水 5 秒, 甩干 5 秒),漂洗 25 秒(进水 5 秒, 漂洗 10 秒, 排水 5 秒,甩干 5 秒),脱水 15 秒(排水 5 秒,甩干 10 秒);2、 用一个按键实现洗衣程序的手动选择:A 、单洗涤;B、单漂洗;C、单脱水;D、 漂洗和脱

2、水;E、洗涤、漂洗和脱水全过程;3、 用发光二极管显示洗衣机的工作状态 (洗衣、漂洗和脱水 ),并倒计时显示每个状态 的工作时间, 全部过程结束后, 应有声音提示使用者, 并保持在停止状态,直至再 次开始;4、 用点阵动画显示洗衣机工作过程中进水、波轮或滚筒转动、排水和甩干等的工作情 况,四种工作情况的动画显示要有区别且尽可能的形象。5、 用一个按键实现暂停洗衣和继续洗衣的控制 ,暂停后继续洗衣应回到暂停之前保留 的状态;提高要求:1、 三个过程的时间有多个选项供使用者选择。2、 可以预约洗衣时间。3、 自拟其它功能。2、系统设计(包括设计思路、总体框图、分块设计)A.设计思路: 本程序采用自

3、顶向下的设计方法。先从所需要实现的功能入手,把整个洗衣机的程序分为分频(cp)模块,模式设置(fset)模块,控制(foption)模块和点阵模块(dianzhen)等分别实现,最后再合成一个整的程序。 B.设计过程: 1. 计算机编程:按照上述设计,用 VHDL 语言进行编程实现,并通过编译,观察资源使用情况。2. 系统仿真:通过仿真软件仿真,观察波形图,如果不对,对程序进行反复推敲修改.3. 下载调试:将程序下载到实验板上,调试各功能看是否满足设计要求。4. 修改程序:通过计算机仿真和下载调试,发现问题,返回原程序进行修改,再次进行下载调试,直到成功为止。C.总体框图:控制模块分频模块模式

4、设置模块 暂停模块点阵模块 显示报警模块防抖模块点阵译码模块时钟信号D.状态转移图:000end/wait111E011D001C010B100AE.分块设计:分频模块:主要是从 1MHZ 的时钟,分出多个时钟,分别给控制器、模式选择模块(由于设有防抖功能故需要加时钟)、数码管译码模块等其他模块用来控制显示或其他。模式设置模块:主要功能是选择洗衣机的工作模式 A E。其中模式选择用按键来实现,按键加入了防抖功能。按键一次表示 A单洗涤 ,按键俩次表示 B单漂洗 ,按键三次表示 C单脱水 ,按键四次表示 D漂洗 +脱水 ,按键五次表示 E洗涤 +漂洗 +脱水 ,再按键则跳回单洗涤过程,以此类推。

5、并用 3 个 LED 灯来显示当前选择的模式。 控制模块:主要功能键开始键和暂停键,分别用来控制洗衣机相应的功能。暂停键按下,洗衣过程暂停。洗衣完成会产生一个报警信号, 蜂鸣器响起 ,提醒工作已经结束。 点阵模块和点阵译码模块:主要功能键为当洗衣机处于不同工作状态时,控制点阵显示不同动画,不同动画分别对应 进水、洗衣、漂洗、排水、甩干 ,使其工作状态一目了然。显示模块:主要功能是译码显示洗衣机倒计时,以及将报警信号输出。防抖模块:主要功能防止按键时模式选择混乱。3、仿真波形及波形分析分频模块仿真:在这里我选择了 cp 模块进行仿真,由于 cp1 中分频系数过高难以看出准确仿真结果,我改用了较小

6、的数字进行仿真,对代码段进行了如下修改IF(count=110001)then -49countclkin,cp1=c1,scp=sc);u2:cp2 PORT MAP(clk=clkin,cp2=c2);u3:fxiaodou PORT MAP(clk=clkin,mode=modin,rp=psin,modeO=m,rpO=p0);u4:fset PORT MAP(clk=c1,run=runin,mode=m,status=st1);u5:pause PORT MAP(run=runin,pause=p0,ps=p1);u6:foption PORT MAP(cp1=c2,cp2=c1,

7、scp=sc,status=st1,run=runin,ps=p1,sel=selout,seg=segout,sound=s,o_status=st2,dianzhen=d);u7:display PORT MAP(cl=clkin,run=runin,sound=s,s_status=st1,o_status=st2,soundout=o_sound,statusout=status_out);u8:dianzhen PORT MAP(clk=c3,set=d,a0=a0,a1=a1,a2=a2,a3=a3,a4=a4,a5=a5,a6=a6,a7=a7);u9:cp3 PORT MAP(

8、clk=clkin,cp3=c3);u10:cp4 PORT MAP(clk=clkin,cp4=c4);u11:dotdecode PORT MAP(CLK=c4,A0=a0,A1=a1,A2=a2,A3=a3,A4=a4,A5=a5,A6=a6,A7=a7,ROW=ROW,COL=COL);END;LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_signed.all;ENTITY cp isPORT(clk:IN std_logic;cp1:OUT std_logic;scp:OUT std_logic);END;AR

9、CHITECTURE freq of cp ISSIGNAL count:std_logic_vector(16 downto 1);SIGNAL c1:std_logic;SIGNAL c2:std_logic;BEGINPROCESS(clk) BEGINIF(clkevent and clk=1)thenIF(count=1100001101001111)then -49,9999countstatestatestatestatestatestateB 25SELSE IF(s(1)and s(0)=1)THEN time2C 15SELSE time2segsigsegsigsegsi

10、gsegsigsegsigsegsigsegsigsegsigsegsigsegsigsegsig- jinshuiCASE c ISWHEN 0 = a7 a7a7a7a7a7 c c -to cp3paishuiCASE c ISWHEN 8 = a7 a7a7a7a7 c c -to cp3xiyiCASE c ISWHEN 0 = a7 a7 a7 a7 a7 a7 a7 a7c -to cp3piaoxiCASE c ISWHEN 0 = a7 a7 a7 a7 a7 a7 a7 a7c -to cp3shuaiganCASE c ISWHEN 0 = a7 a7 a7 a7c -t

11、o cp3kaishia7-to cp3jieshua7 ROW ROW ROW ROW ROW ROW ROW ROW = 11111110;col_temp = A7;clk_temp = 0;END CASE;COL(0) = col_temp(7);COL(1) = col_temp(6);COL(2) = col_temp(5); COL(3) = col_temp(4);COL(4) = col_temp(3);COL(5) = col_temp(2);COL(6) = col_temp(1);COL(7) = col_temp(0);END IF;END PROCESS;END;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号