已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路与逻辑设计实验报告题目: 洗衣机控制器设计 一、洗衣机控制器要求设计制作一个全自动洗衣机的控制器:_ 洗衣机的工作步骤为洗衣、漂洗和脱水三个过程,工作时间分别为:洗衣20秒,漂洗30 秒,脱水15 秒;_ 用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单脱水;D、漂洗和脱水;E、洗涤、漂洗和脱水全过程;_ 用显示器件显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应提示使用者;_ 用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态;_ 选做:三个过程的时间有多个选项供使用者选择。_ 选做:可以预约洗衣时间。_ 选做:自拟其它功能。二、系统设计基本思想电路由模式选择、计数器、报警模块以及译码驱动电路和数字显示电路等模块组成。1、模式选择模块五种洗衣模式可供用户选择,模式选择模块将用户的选择信息传递到控制模块。2、减计数计数器模块计数器洗衣以倒计时模块的方式提示用户当前剩余的洗衣时间,该计数器能读取不同的模值进行计数。计时单位为一秒钟。3、译码和数码显示电路译码和数码显示电路是将计时状态直观清晰地反映出来,被人们的视觉器官所接受。显示器件选用LED 七段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。4、报警模块当系统运行到“报警”状态时,蜂鸣器将会报警,时间为5 秒。4、分频器模块设计一个大小合适的分频器使得系统能够正确的实现一秒的计时。三、总体设计图以及转移图流程图示:状态选择开始信号输入变量A为1YESNO进行洗涤变量B为1YESNO进行漂洗变量C为1YES进行脱水NO完成洗衣后报警提示完成总体逻辑设计图:控制器分频器OSC时间计数器洗涤漂洗脱水译码时间显示ClkClk1料库Clk2T15 T20T25Cnt clr报警Pause 状态选择译码状态转移图示:WAITA1进行洗涤进行漂洗A0B=1B0B1进行脱水A0B=0C1C0完成洗衣报警提示管脚设计图:仿真情况:简要说明:本次仿真执行的是第五个状态即洗涤、漂洗和脱水全过程。通过此仿真可以发现当输出选择模式信号change时,洗衣机模式开始发生变化。输入第一个change信号的时候进入单洗涤状态,输入第二个change信号进入单漂洗状态,输入第三个change信号进入了单脱水的状态,输入第四个change信号进入了脱水和漂洗的状态,当输入最后一个change信号的时候进入洗涤、漂洗和脱水的全状态。而在选择每个状态的同时时间信号(q0、q1、q2、q3、q4、q5、q6)也发生变化,显示出每个状态时的时间。而设定的led灯(cat0、cat1)则依次闪亮。当start开始后change信号不再起作用,而系统进入了运行状态,时间开始逐秒变化。当程序最终运行结束后,进入报警状态,sound开始显示为高电平,而时间均为0。(特别说明:由于本实验分2次去做,管脚设定的时候进行了新建工程,代码粘贴过去的,实体名字取得和第二周验收时候不一致,不是其他原因。)四、代码示例LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY xiyiji ISPORT(START: INSTD_LOGIC;PAUSE: INSTD_LOGIC;-暂停信号CLOCK: INSTD_LOGIC;Q: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -数码管显示信号CAT: OUTSTD_LOGIC_VECTOR(5 DOWNTO 0) -数码管选通信号); END xiyiji;ARCHITECTURE washer OF xiyiji ISSIGNAL STATE: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL MODE: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL TEMP: INTEGER RANGE 45 DOWNTO 0; -时间中间变量SIGNAL TIME: INTEGER RANGE 60 DOWNTO 0; -倒计时时间SIGNAL TMP: INTEGER RANGE 999 DOWNTO 0; -分频变量SIGNAL MA: INTEGER RANGE 9 DOWNTO 0; -数码管译码变量SIGNAL CLK: STD_LOGIC; -分频时钟输出BEGINPROCESS(CLOCK)BEGINIF (CLOCKEVENT AND CLOCK=1) THEN -分频模块TMP=TMP + 1;IF (TMP=999) THENTMP=0;CLKMODEMODEMODEMODEMODEMODE=000;END CASE;END IF;STATE = MODE;-选择洗衣模式BUZZER TEMP = 0 ;TIME TEMP = 0 ;TIME TEMP = 0 ;TIME TEMP = 25 ;TIME TEMP = 40 ; TIME TEMP = 0 ;TIME TEMP= 0 ; TIME= 0;END CASE ;ELSE IF ( PAUSE = 0) THEN -设置暂停信号IF ( CLKEVENT AND CLK = 1 AND TIME/=0) THENTIME = TIME - 1 ; -时间自减IF ( TIME=1 ) THENSTATE =000;BUZZERSTATE = 110;TEMP STATE = 100;TEMP TEMP = 0 ;STATE = 000;END CASE;END IF;END IF;END IF;END IF;MODEEND = STATE; -中间变量赋值给结果变量END PROCESS;PROCESS (CLOCK,TIME)BEGINIF (CLOCK=1) THEN -提取十位数CAT q q q q q q q q q q modemodemodemodemodemode=000;end case;2、减计数计数器模块计数器洗衣以倒计时模块的方式提示用户当前剩余的洗衣时间,该计数器能读取不同的模值进行计数。计时单位为一秒钟。首先,由于需要数码管的显示,又要实现单位为一秒钟的倒计时所以必要对于系统时钟的分频器。主要过程是设计一个总的时间变量称之为TIME,每个时钟上升沿一到就对此变量减一,如此首先在系统内部实现时间的自减。自减是在没有暂停信号且开始信号为一的情况下进行的。另外我设计了一个中间变量,在不同的状态对其进行不同的赋值,并使其与我设计的总时间变量进行比较,然后将比较结果送给模式的另一个中间变量即可实现洗衣过程中的状态变化显示。减计数器及其和中间量的比较的简要代码如下:if ( pause = 0) thenif ( clkevent and clk = 1 and time/=0) thentime = time - 1 ;if ( time=1 ) then state =000;buzzerstate = 110;temp state = 100;temp temp = 0 ;state = 000;end case;3、 译码和数码显示电路:译码和数码显示电路是将计时状态直观清晰地反映出来,被人们的视觉器官所接受。显示器件选用LED 七段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。首先,由于需要数码管的显示,又要实现单位为一秒钟的倒计时所以必要对于系统时钟的分频器。基于上个学期进行的基础数字电路vhdl学习,分频器是十分基础的模块易于设计。又因为需要通过两位数码管显示当前倒计时的时间,同时当前倒计时的时间是两位数所以利用倒计时时间TIME除以10可以得到时间的十位,再用其MOD十即可得到时间的个位,然后将要显示的数与七段数码管的七个管角相匹配,最后将这两个数分别赋给两个数码管并使两个数码管交替显示就实现了对于倒计时的译码电路,以下是译码和数码显示电路的简要代码:if (clock=1) then ma=time/10; cat=111101;else ma=time mod 10; cat q q q q q q q q q q = 1111110; end case;end process;4、报警模块:报警模块是洗衣机系统的最后一个模块,即任何一个洗衣状态执行完成后倒计时为零时,系统运行到“报警”状态,蜂鸣器将会报警,时间为5 秒。其设计相对比较简单,只是需要加入一个蜂鸣器信号BUZZER,并且使其再TIME倒计时总时间为零时,提供一个上升沿信号即可。五、器件清单硬件:1 计算机;2 直流稳压电源;3 EDA 开发板及相应元器件。软件:Quartus的相应版本。六、遇到的情况本次数字电路的设计实验是一次综合性实验,是对上学期数字电路实验知识的全方位考察,所以在实验的过程中不免遇到一些问题及故障。下面对实验中所遇到的问题进行分析。首先对于本试验的状态转换模块的设计一开始没有想到采用三位二进制数的表示方法,所以对于五种状态只是采用了一个十进制的变量,但采用后发现这种表示方法对于实现洗衣过程中的状态显示将变得十分困难,后来经过思考发现利用三位二进制数表示模式不但同样易于转换模式同时可以方便的用三个发光二极管显示洗衣状态。第二点就是在仿真的过程中,虽然需要观察的几个波形都十分符合预期,但是其中几个波形的仿真图会出现个别的冒险。尽管并不影响下载到EDA实验板上的显示效果,但并不十分完善。第三点就是下载到EDA实验板上的问题,为了将数字显示到七段数码管上,需要将数字的七位译码连接到数码管的七个管角,但连接后发现数字显示完全错误,经过分析所显示出的错误图形的七位译码发现本EDA实验板的共阴数码管的七个管角与所译的七位码正好反接了,后经过调整即可正常显示所需数字。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度文化艺术民办非企业机构捐赠协议范本4篇
- 2025年度环保节能型建筑材料研发与应用合同3篇
- 2025年度离婚协议书中财产分割及子女抚养费调整范本4篇
- 二零二五版摩托车驾驶安全培训课程开发合同3篇
- 二零二五年度人工智能技术研发合同合4篇
- 二零二五版医疗健康信息SET协议共享合同3篇
- 玻璃钢水箱施工方案
- 建筑设计与施工一体化合同(2篇)
- 彩钢瓦合同范本(2篇)
- 2025年物流行业风险评估合作协议合同3篇
- 2024-2025学年八年级上学期1月期末物理试题(含答案)
- 2025年国新国际投资有限公司招聘笔试参考题库含答案解析
- 制造车间用洗地机安全操作规程
- 2025河南省建筑安全员-A证考试题库及答案
- MOOC 有机化学(上)-北京师范大学 中国大学慕课答案
- 《风电场项目经济评价规范》(NB-T 31085-2016)
- 五年级上册脱式计算100题及答案
- 中央广播电视大学毕业生登记表-6
- 普通地质学教材
- 医疗设备报废申请表
- CAD快速看图破解安装步骤
评论
0/150
提交评论