欢迎来到天天文库
浏览记录
ID:23087650
大小:1.45 MB
页数:30页
时间:2018-11-04
《《洗衣机控制器》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、洗衣机控制器院系:通信工程指导老师:孙丹丹老师姓名:高扬班级:07111班班内序号:25号学号:07033630摘要:本实验在QuartusⅡ软件环境下,利用实验室集成芯片,使用VHDL语言编写程序实现模拟一个洗衣机控制系统的基本功能。整个系统的设计过程中,采用了up_to_down的设计思想,完成了洗衣机的开始/暂停,洗涤、漂洗、脱水、漂洗和脱水、洗涤、漂洗和脱水一次完成的模式选择,各项模式下时间的倒计时显示,完成指示灯亮灭显示报警,在各状态中指示灯提示等功能。总体来说基本上完成了洗衣机控制器的基本功能。才用分块设计思想,各主要模块中,分频模块,获得低频时钟供显示模块使
2、用,控制模块控制显示模块以及时间倒计时模块,后两个模块进行状态和时间的显示,并通过下载到开发板上验证了程序的正确性,达到了实验的要求。关键词:洗衣机模式VHDL分块功能一.设计课题实验目的及任务要求:(1)实验目的:1.熟练掌握VHDL语言和QuartusII软件的使用;2.理解状态机的工作原理和设计方法;3.掌握利用EDA工具进行自顶向下的电子系统设计方法;(2)基本任务:1.洗衣机的工作步骤为洗衣、漂洗和脱水三个过程,工作时间分别为:洗衣20秒,漂洗25秒,脱水15秒;2.用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单脱水;D、漂洗和脱水;E、洗涤、
3、漂洗和脱水全过程;3.用显示器件显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应提示使用者;4.用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态;(3)提高要求:1.三个过程的时间有多个选项供使用者选择。2.可以预约洗衣时间。3.自拟其它功能:二.系统设计:(1)设计思路:根据实验的要求,其中第一项明确要求了预设时间,第二项要求了不同的洗衣组合,第三项是对状态进行显示,而最后一项则是对控制进行了要求,开始和暂停的状态可以看出,这些部分相互作用,共同组成了全自动洗衣的基本功能。开始、暂停键控制着整个控
4、制部分和显示部分,而控制部分又将洗衣的状态不同以及倒计时时间的不同反映到了状态显示和时间显示部分。30故此可将整个设计过程中,分为按键模块、显示模块、分频模块、报警模块和控制模块组成。(1)按键模块由防抖模块和按键信号产生模块构成:防抖模块用来增加按键的灵活性和有效性;按键控制信号产生模块是通过按键来产生模式选择信号、各模式时间选择信号和开始/暂停信号,形成控制模块需要的各种控制信号。(2)显示模块由时间显示设置模块、数码管显示模块和选通信号模块以及指示灯构成:其中时间设置模块用来完成时间显示个位和十位信号的设计;数码管显示模块用用来完成模式选择选项的显示数字、模式时间选
5、择选项的显示数字和倒计时时间的显示数字的信号设计;选通信号用来实现六个七段数码管的同时显示的设计;而指示灯用来完成对各种状态的指示的设计。(3)分频模块由100分频模块、10分频模块和1000分频模块构成的,通过对实验室芯片的系统时钟进行分频为其他模块提供适当的时钟信号。(4)控制模块是整个系统的中心部分,是状态机设计部分。在该模块实现了洗衣机各种状态的设计。此部分的设计思路将在本单元的第二部分介绍。(5)报警模块是对于当洗衣机每种状态完成时的报警指示灯亮起起提示作用的设计。(2)总体框图:30按键防抖模块模式选择洗涤时间选择漂洗时间选择脱水时间选择按键控制信号产生模块1
6、0分频模块时钟1MHZ100分频模块1000分频模块100分频模块洗衣机控制模块时间显示信号报警灯提示信号状态灯指示信号状态灯报警模块指示灯时间显示设置模块数码管显示模块选通信号模块数码管显示30(3)状态转移图:PRETIME=0预约时间状态开始PRESET=1洗衣状态MODE/=0等待状态START=1PAUSE=1START=1PAUSE=1正常倒计时PAUSE=0倒计时PAUSE=0PAUSE=1PAUSE=1001010100011101110111PRESTE=0&MODE=0TIME=0报警信号一.分块设计程序及仿真分析1.分频模块分频程序主要由3个程序来实
7、现,利用分频的思想,从1MHz经过分频模块,得到1Hz,100Hz,1000Hz的时钟信号,分别用于控制模块,防抖模块,和显示模块的选通信号模块。其设计框图如下所示:1MHZ100分频模块1000分频模块1000分频模块10分频模块其程序和仿真如下:(1)100分频(divclk100)程序:libraryieee;useieee.std_logic_1164.all;entitydivclk100isport(clk:instd_logic;--输入时钟信号——1Mclkout:outstd_logic);--分频后的时钟信
此文档下载收益归作者所有