EDA-洗衣机控制器设计
EDA课程设计洗衣机控制器
北京印刷学院EDA课程设计报告课程题目:基于FPGA的洗衣机控制器的设计课程名称:EDA技术课程设计院(系):信息与机电工程学院专业:电子信息工程姓名:薛大神学号:098888888指导老师:xxx实习日期:2012年6月28日-6月30日目录1.系统设计 (3)1.1 设计要求 (3)1.2 总体设计方案 (3)1.2.1 设计思路 (3)1.2.2 系统组成 (3)2. 单元硬件电路设计 (4)2.1 键盘模块 (4)2.2 显示模块 (4)2.3 中心控制模块 (4)3. 软件设计 (4)3.1 控制模块程序设计 (5)3.2 显示译码程序设计 (5)3.3 按键去抖程序设计 (5)3.4 分频模块程序设计 (6)4. 系统仿真测试 (6)4.1 控制模块仿真 (6)4.2 按键去抖模块仿真 (7)4.3 分频模块仿真 (7)4.4 控制器操作演示 (8)附录一使用说明 (9)附录二电路原理图 (9)附录三管脚分配图 (9)附录四程序清单 (10)摘要:洗衣机控制电路由一片altera公司的cyclone2系列EP2C35F672C6的FPGA 作为中心控制器加上必要的外围电路组成,实现对洗衣机工作状态的控制。
芯片编程采用Quartus2作为开发工具,由控制模块,分频模块,按键去抖模块,显示译码模块组成,顶层使用原理图实现,底层由Verilog HDL语句实现。
中心控制器FPGA根据控制键盘的信号,向洗衣机发出正传,反转,待机信号,并通过数码管和LED灯显示当前的状态及剩余时间。
该洗衣机控制电路可以方便快捷的实现对洗衣机的控制和状态的显示功能。
关键字:洗衣机 FPGA Verilog HDL语言 cyclone21.系统设计1.1设计要求1.洗衣机的状态为待机5s→正转60s→待机5s→反转60s→,并用3个LED灯和7段显示器分别表示其工作状态和显示相应工作状态下的时间。
2.可自行设定洗衣机的循环次数,这里设置最大的循环次数为15次。
基于EDA的洗衣机控制器设计
本设计实现 了对洗衣机整个 过程的控制 , 主要研究 内容 如下 : 1上 电复位后 的初始化 , () 初始化 的洗涤模式是标准模
式 b 定时 间为 1 , 5分钟 ;2 启, () 停控制 , 每按 一次启/ 键 , 停 状 态转换一次 ;3 控制器正/ 向输出信号 , () 反 工作控制 过程 如图
原理 以及状 态机的设计 , 利用 Q ats I .进行 时序仿真 , ur 0 u I6 并下载到 G 8系 ̄/O CE A实验 开发 系统箱进行硬 件验 证。 W4 ] P /D S
【 关键词 】D ; E A 洗衣机控制 器;ur sI .; 态机 Q au I6 状 t 0
w la tem c i ei teQ a u I . f mn i l i , n o nodt G 8sr s| O C | D xe m na e ss t ahn ds n h ur sI 60 o t igs ao ad dw l W4 e e S P E A epr etl l a e g t ri mu t n a o i i
S in e& Te h oo yVi o ce c c n lg s n i
机械 与 电子
科 技 视 界
21 年0 月第 l期 02 6 6
基于 E A的洗衣机控制器设计 D
姚 毅 陈艳风
( 南人 文科 技学 院通信 与控 制 工程 系 湖
【 摘
湖南
娄底
4 70 ) 10 0
d v lp n y t m o o a d a e v r c t n e eo me t se b xf rh r w r e f ai . s i i o
【 e od]D ; si a i noe Q au I6 ;te ah e K y rsE A Wa n m c n c tlr ur sI . S tm ci w h g h e o rl; t 0 a n
EDA洗衣机实验
实训报告课程名称:ED(洗衣机控制的设计)学生姓名:肖忠亮学号:8000610040专业班级:计算机软件南昌大学实训报告学生姓名:肖忠亮学号:8000610040专业班级:计算机软件实训类型:口验证□综合二设计口创新实训日期:实验成绩:一、实训工程名称洗衣机控制电路、实训目的1.熟悉verilog语言的程序的设计。
2.熟悉Quatus II软件的使用。
3.熟练掌握代码对硬件的烧写。
4.使用verilog语言设计具有创新的硬件电路三、实训要求1.熟悉EDA的开发环境Quartus II软件的使用;2.设计原理图或者功能模块;3.根据原理图或者功能图编写代码;4.实现洗衣机控制系统的仿真:四、实训基本原理(附原理图、源程序清单)控制功能说明:1.洗衣机的工作状态为待机5秒,正转60秒,待机5秒,反转60秒,并用3 个led灯和7段显示器表示工作的状态和显示相应工作状态下的时间。
2.可以自定义来控制洗衣机的循环次数。
3.具有紧急情况的处理功能,4.设定循环次数递减到0的时候就立刻报警,以表示设定的循环次数已经结束。
2 个数码管,34 表后二个数码管LED 洗衣机工作的的状态的显示//时钟信号// 暂停和开启按钮 (相当于洗衣机遇到经济情况的时候的处理) //电源开关//表示给增加循环次数的确定的按钮 //增加循环次数的开始//记录洗衣机的状态 //洗完后洗衣机的警报灯//4 个状态的灯管显示 //洗衣机工作的时间十位 //时间的个位显示 //记录洗衣要循环的次数十位显示 //循环次数的个位显示// 不工作状态,启动状态,第一个 5 秒状态, 60 秒状态,洗完了状态警报状态,停止状态。
// 用来对 COUNTER2 的数量进行的变换和计算的标志begindec=3'b000。
cur_state=END 。
COUNTER1='h00 。
COUNTER2='h00 。
end*/reg [2:0] state 。
基于EDA的洗衣机控制器设计
2012年06月第16期科技视界SCIENCE &TECHNOLOGY VISION 科技视界Science &Technology Vision0前言当代,快节奏高质量的生活,使洗衣机越来越受到人们的青睐。
洗衣机在市场发展中备受欢迎,日渐成为人们生活中的必备品,因此革新洗涤技术成为业界人士非常关注的问题,越来越多的人投身于研究洗衣机[1],探索各种新的技术。
现代的电子设计技术的核心已趋转向基于计算机的电子设计自动化技术[2],即EDA(Electronic Design automation)技术,它以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,可以大大降低设计成本,缩短设计周期。
EDA 工具软件大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类,包括Protel、multiSIM10、OrCAD、Quartus II [3]、Matlab 等等,E⁃DA 设计方法分为图形输入和硬件描述文本输入[4]。
此次设计的基于EDA 的洗衣机控制器,以杭州康芯电子有限公司生产的GW48系列/SOPC/EDA 实验开发系统箱为硬件平台,Quartus II 6.0为软件平台,选择的目标芯片是Cyclone 系列EP1C6Q240C8,采用VHDL 语言输入法进行设计。
实验结果显示,系统运行良好,实现了全自动洗衣机的基本功能。
1研究内容本设计实现了对洗衣机整个过程的控制,主要研究内容如下:(1)上电复位后的初始化,初始化的洗涤模式是标准模式b,定时间为15分钟;(2)启/停控制,每按一次启/停键,状态转换一次;(3)控制器正/反向输出信号,工作控制过程如图1所示;(4)洗涤定时精确度0.1,选择的洗衣模式不同,正反基于EDA 的洗衣机控制器设计姚毅陈艳风(湖南人文科技学院通信与控制工程系湖南娄底417000)【摘要】EDA 技术融合了大规模集成电路制造技术、FPGA/CPLD 编程下载和自动检测等技术,利用EDA 技术设计系统可以大大的降低设计成本,缩短设计周期。
基于EDA的全自动洗衣机控制器设计
※※※※※※※※※※※※※※※※※※※※※※※※EDA课程设计报告书课题名称基于EDA的全自动洗衣机控制器设计姓名学号院系专业指导教师一、设计任务及要求:1.强洗:洗涤18分钟,漂洗14分钟,甩干4分钟。
2.标准:洗涤14分钟,漂洗8 分钟,甩干4分钟。
3.弱洗: 洗涤10分钟,漂洗6 分钟,甩干4分钟。
4.有强制开洗衣机盖的能力。
5.可实行多次洗衣的功能。
6.有启动和暂停和再重起的功能。
指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日基于EDA的全自动洗衣机控制器设计1设计目的《EDA技术与应用》课程是电子信息工程、自动控制、计算机科学与工程等专业的技术课之一,具有很强的工程实践性。
通过本次课程设计来掌握现代硬件数字电路的软件化设计的基本方法、掌握应用VHDL及EDA工具开发设计各种电路的基本方法,以及对现代电子设计自动化技术有一定的了解,会把所学的专业知识更好的用到实践中去。
2设计的主要内容和要求(1)设计一简易全自动洗衣机控制器。
该控制器由两大状态A和B组成,每个状态分三个子状态,每个状态分别由选择A和选择B控制。
其中A为步进选择按纽,每步跳转一个子状态、B也为步进选择按纽,但每步选择B中的所有组合中的一种。
(2)过程启动由启动/暂停键控制(暂停键在过程启动后任意时间可暂停/恢复过程)。
(3)过程启动后洗衣机盖开启能任意控制。
(4)能设置实现多次洗衣的功能。
3整体设计方案本次设计大致可以分成两个模块来看待:控制端和工作端。
控制部分使用了三个进程来处理,进程一控制状态COUNT_M,进程二控制状态COUNT_N,进程三控制开始和暂停。
其中,COUNT_M:当连顺出现一个,两个,三个高电平时分别表示强洗,标准,弱洗三种状态的洗衣过程。
再者,COUNT_N:当出现一个,两个,三个高电平时分别表示洗涤,漂洗与甩干,甩干。
其次,信号START控制洗衣机的暂停和重新启动。
EDA课程设计洗衣机控制器
优化建议:根据评估结果,提出优化建议,如改进算法、优化硬件配置、提高软件效率 等
测试报告:编写测试报告,详细记录测试过程、结果和优化建议,以便于后续改进和维 护。
单击此处添加标题
智能化:随着人工智能技术的发展,洗衣机控制器将更加智能化,能够自动识别 衣物类型、数量、脏污程度等,实现更加精准的洗涤控制。
控制器芯片类型:微控制器(MCU)
控制器芯片品牌:STM32系列
控制器芯片型号:STM32F103C8T6
控制器芯片功能:控制洗衣机的电机、水位、温度等参数,实现洗衣机的洗涤、脱水等 功能。
控制器接口:用于连接洗衣 机控制器和外部设备的接口
接口类型:包括数字接口和 模拟接口
数字接口:用于传输数字信 号,如开关信号、传感器信 号等
意义:通过设计洗衣机控制器,可以加深对电子设计自动化课程的理解,提高实 践能力和创新能力,为未来的工作打下坚实的基础
提高学生实践能力:通过设计洗衣机控制器,提高学生的实践操作能力和创新能力。
掌握专业知识:通过设计洗衣机控制器,让学生更好地掌握电子设计自动化(EDA)的相 关专业知识。
培养团队协作能力:设计洗衣机控制器需要团队合作,可以培养学生的团队协作能力和 沟通能力。
测试报告:详细记录测试过程、结果和 结论,为改进设计提供依据
测试环境:模拟家庭 环境,包括温度、湿 度、电压等
测试设备:洗衣机、 测试仪器、数据记录 仪等
测试项目:洗涤性能、 能耗、噪音、振动等
数据分析:使用统计方 法,如方差分析、回归 分析等,对测试数据进 行处理和分析,得出结 论。
性能测试:包括功能测试、性能测试、稳定性测试等
EDA课程设计洗衣机控制器要点
东北石油大学课程设计技术课程设 ED洗衣机控制电子科学学电子信息工专业班学生姓学生学号指导教师2014年 3 月7日东北石油大学课程设计任务书课程EDA技术课程设计洗衣机控制器题目专业姓名电子信息工程学号主要内容、基本要求、主要参考资料等主要内容:设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。
设定洗衣机的工作时间,要洗2010秒?定时未到回到“正转秒正转20?暂停10秒?反转20秒?暂停衣机在工作时间内完成:定时启动? 10秒?……”,定时到则停止,同时发出提示音。
秒?暂停基本要求:暂?反转20秒?1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒?暂停10秒?,定时到则停止;?……”定时未到回到“正转20秒?暂停10秒秒停10?、若定时到,则停机发出音响信号;2,按倒计时方式对洗涤过程作计时显示,直到时间到3、用两个数码管显示洗涤的预置时间(分钟数)”信号开始;停机;洗涤过程由“开始三个状态。
“反转”、“暂停”正转4、三只LED灯表示“”、主要参考资料:,2005. .EDA技术实用教程(第二版). 北京:科学出版社潘松著[1],2006. 电子技术基础模拟部分. 北京:高教出版社[2] 康华光主编.,2003.北京:高教出版社.数字电子技术基础. [3] 阎石主编2014.3.7 完成期限指导教师专业负责人日年2014 33月一、设计思想1.基本原理洗衣机控制器的设计主要是定时器的设计。
由一片FPGA和外围电路构成了电器控制部分。
FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。
对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。
顶层和中间层多数是由VHDL 的元件例化语句实现。
中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
EDA洗衣机控制器
EDA课程作业报告——洗衣机控制器学院电气学院专业建筑电气与智能化班级092 班姓名何涛学号109035039浙江科技学院2012年10月29日目录1.设计内容与目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.1课题选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11.2设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12.程序设计与思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 2.1定义输入输出和中间变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2分频. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 2.3停机与复位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.4设定定时时间(分)与复位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 2.5工作状态选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 2.6工作状态输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42.7数码管选择与显示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43.结果截图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3.1程序框图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3.2引脚设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53.3仿真波形. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64.调试中遇到的问题和解决方法. . . . . . . . . . . . . . . . . . . . . . . . .65.心得与体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66.附录:所有程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.设计内容与目的1.1课题选择项目5:洗衣机控制器 ● 设计要求:● 设计一个洗衣机洗涤程序控制器,控制洗衣机的电机作如下规律运转:● 用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED 表示电机的正、反转,如果定时时间到,则停机并发出音响信号。
(完整word版)洗衣机控制器课程设计(word文档良心出品)
九江学院课程设计课程 EDA技术课程设计题目洗衣机控制器院系电子信息学院专业班级电子信息工程技术学生姓名张翁生学生学号 37 指导教师高玉宝一、设计要求与原理设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。
设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动 正转20秒 暂停10秒 反转20秒 暂停10秒 定时未到回到“正转20秒 暂停10秒 ……”,定时到则停止,同时发出提示音。
基本要求:1、设计一个电子定时器,控制洗衣机作如下运转:定时启动 正转20秒 暂停10秒 反转20秒 暂停10秒 定时未到回到“正转20秒 暂停10秒 ……”,定时到则停止;2、若定时到,则停机发出音响信号;3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4、三只LED 灯表示“正转”、“反转”、“暂停”三个状态。
二、洗衣机的工作过程 首先用电路控制三只LED 显示洗衣机正转、反转、暂停三种状态。
然后用电子定时器控制洗衣机设定的工作时间,以及正传和反转运行时间的控制。
同时用两个数码管显示洗涤的预置时间(按分钟计数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;最后定时到则停止,同时用蜂鸣器发出提示音。
通过各种开关组成控制电路,使洗衣机实现程序运转。
直至结束为止。
三、各模块图洗衣机控制电路由定时输入模块,电机输出模块,电机时间控制模块,数字显示电路,倒计时模块以及报警器模块组成。
图一四、各模块的VHDL 代码与仿真结果循环控制电路,使其在三个状态转换按键控制模块 控制循环时间 数字显示模块 报警电路 定时输入模块 倒计时模块1、输入定时模块,此模块是为了实现希望让洗衣机工作多少个分钟,有两个数码管显示工作时间,所以可以不同要求输入要洗衣的时间,可以输入1~59分钟不等时间,人性化控制,与实际的洗衣机工作是一样的。
EDA全自动洗衣机控制器的设计与仿真
课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 全自动洗衣机控制器的设计与仿真初始条件:设计一个全自动洗衣机控制器,功能为:1.具备水位设定开关一个:①普通(进水阀开启3分钟)②脏(进水阀开启4分钟)③极脏(进水阀开启5分钟);2.具备模式设定开关一个:①轻柔(电机单次正反转时间均为10秒)②标准(电机单次正反转时间均为20秒)③增强(电机单次正反转时间均为30秒);3.洗衣流程为;(电机的暂停时间均为2秒)①浸泡:进水→浸泡(5分钟)②清洗:正转→暂停→反转(前三个步骤循环5次)→排水③漂洗:进水→正转→暂停→反转(后三个步骤循环3次)→排水(整个漂洗过程循环2次)④脱水:电机正转同时排水(5分钟),完成后停止并发出报警信号。
过程由“开始”按钮启动,按下该钮后,自动按4个流程执行,无需人工干预。
要求完成的主要任务:1.以XX方式显示运行时间,以指示灯方式表示进水阀、排水阀、电机的正反转、结束报警等信号。
电机和阀门的驱动电路另行设计(本次省略)2.广泛调研,提出几种可行的方案,多方论证,确定设计方案,用EDA软件仿真;3. 按格式要求撰写课程设计说明书一份;4.提供程序代码一份;5. 参考文献不少于5篇,其中期刊文献不少于2篇。
时间安排:1.06月28日布置设计任务;2.07月02日收集资料并确定设计方案;3.07月03~04日系统设计、仿真和调试;4.07月05日撰写课程设计报告;5.07月06日答辩;课设答疑/答辩地点:鉴主15楼实验室指导教师签名: 2012年 6 月 25 日系主任(或责任教师)签名: 2012年 6 月 25 日1绪论2.设计任务及完成的功能2.1设计任务:设计一个全自动洗衣机。
2. 2功能:2.2.1具备水位设定开关一个:①普通(进水阀开启3分钟)②脏(进水阀开启4分钟)③极脏(进水阀开启5分钟);2.2.2具备模式设定开关一个:①轻柔(电机单次正反转时间均为10秒)②标准(电机单次正反转时间均为20秒)③增强(电机单次正反转时间均为30秒);2.2.3洗衣流程为;(电机的暂停时间均为2秒)① 浸泡:进水→浸泡(5分钟)② 清洗:正转→暂停→反转(前三个步骤循环5次)→排水③ 漂洗:进水→正转→暂停→反转(后三个步骤循环3次)→排水(整个漂洗过程循环2次)④ 脱水:电机正转同时排水(5分钟),完成后停止并发出报警信号。
EDA具有数字显示的洗衣机时控电路
燕山大学EDA课程设计报告书题目:具有数字显示的洗衣机时控电路姓名:班级:学号:成绩:一、设计题目及要求一)设计题目:具有数字显示的洗衣机时控电路(二)设计要求:1、洗衣机工作时间可在1~15分钟任意设定(正分钟数);2、规定电动机运行规律为正转20s.停10s.反转20s.停10s.再正转20s,以后反复运行;3、要求能显示洗衣机剩余工作时间,每当电机运行1分钟,显示计数器自动减1,直到显示器为“0”时,电机停止运转;4、电机正转和反转要有指示灯指示二、设计过程及内容(包括○1总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;○2主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)(一)设计方案:(1)首先设计一个366进制的分频器fenpin, 用3个74161构成,将366HZ的时钟脉冲分频为1HZ,来实现1秒的频率作时钟信号。
(2)设计一个可产生六十进制进位信号模块count60,用2个74161构成,每六十个时钟信号产生一个进位信号。
,实现1分钟的频率作时钟信号。
(3)设计一个控制灯的模块light,在六十秒周期中前二十秒灯L1亮(表示正转),再十秒灯L3亮(表示停),再有二十秒灯L2亮(表示反转)再十秒灯L3亮(表示停)。
(4)设计两个模块jianfa和xianshi来完成“洗衣机工作时间可在1~15分钟任意设定(正分钟数);能显示洗衣机剩余工作时间,每当电机运行1分钟,显示计数器自动减1,直到显示器为“0”时,电机停止运转”的任务。
用减法计数器74191使分钟数自动减1,另外要用到扫描显示电路,将分钟的个位和十位上的数据分别用两个数码管进行显示,用以显示倒计时,显示机器的剩余工作时间。
数码管显示电路用门电路和BCD —七段7449显示器构成。
74191和数码管显示电路之间需加一个将四位二进制数转换八位二进制数以实现十位和个位显示的模块xianshi。
EDA-洗衣机控制器设计
2010年 12 月21日
主要内容:
设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止,同时发出提示音。
基本要求:
1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止;
"1000"=> "1111111"
"1001"=> "1111011"
End table;
a<=temp(6);b<=temp(5);c<=temp(4);d<=temp(3);e<=temp(2);f<=temp(1);
g<=temp(0);
end rtl
Begin
Table
Bcd => temp;
"0000"=> "1111110";
"0001"=> "0110000"
"0010"=> "1101101"
"0011"=> "1111001"
"0100"=> "0110011"
"0101"=> "1011011"
"0110"=> "1011111"
"0111"=> "1110000"
2、设计框图
定时时间未到
二、设计步骤和调试过程
1、总体设计电路
洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。
具体电路如下图所示:
2、模块设计和相应模块程序
沈阳理工大学EDA洗衣机时控电路课程设计
沈阳理工大学课程设计专用纸目录1设计目的 (1)2设计要求和任务 (1)3总体设计思路及原理描述 (1)3.1设计思想 (1)4分层次方案设计及代码描述 (2)4.1各模块代码 (2)4.2功能模块整体结构设计 (7)5逻辑仿真与时序仿真的实现 (8)6设计结论 (12)7参考文献 (12)1设计目的科技的进步多少体现在了日常生活必需品的进步,本次课设目的是设计一个与现实生活中很多家庭使用的洗衣机具有相同功能的时序控制的洗衣机。
熟练掌握 QuartusⅡ软件,编写程序,绘制原理图,可进行编译及功能仿真,实现软件上的洗衣机功能。
2设计要求和任务任务:设计洗衣机时控电路要求:1、洗衣机工作时间可在1~15分钟任意设定(正分钟数);2、规定电动机运行规律为正转20s.停10s.反转20s.停10s.再正转20s,以后反复运行;3、要求能显示洗衣机剩余工作时间,每当电机运行1分钟,显示计数器自动减1,直到显示器为“0”时,电机停止运转;4、电机正转和反转要有指示灯指示。
3总体设计思路及原理描述3.1设计思想基本原理:洗衣机时控电路,主要思想就是时间控制洗衣机的工作状态,设计该电路得有如下功能,时间预置,时间显示,状态控制,减法计数等,所以电路大概分一下5部分:(1)时间设置(2)数码管显示电路(3)时序控制电路(4)预置时间和编码电路(5)译码器电路顶层文件用原理图来实现,通过创建各个子模块的原件,在顶层文件中按照底层文件实现的功能进行连线就可以得到完整的顶层原理图。
层次图如图3.1所示:图3.14分层次方案设计及代码描述4.1各模块代码(1)预设时间和编码电路:本模块将输入的四位时间信号编码成八位二进制数输出到减法计数器电路。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity settime is ——定义实体名port(load:in std_logic;time_input:in std_logic_vector(3 downto 0); ——输入时间time_set:out std_logic_vector(7 downto 0)); ——设置时间end settime; ——VHDL实体描述部分architecture settime of settime issignal p1:std_logic_vector(7 downto 0); ——结构体描述部分beginprocess(load) beginif(load'event and load='1') then ——load有效case time_input iswhen "0000"=>p1<="00000000";when "0001"=>p1<="00000001";when "0010"=>p1<="00000010";when "0011"=>p1<="00000011";when "0100"=>p1<="00000100";when "0101"=>p1<="00000101";when "0110"=>p1<="00000110";when "0111"=>p1<="00000111";when "1000"=>p1<="00001000";when "1001"=>p1<="00001001";when others=>p1<="00000000"; ——设置时间end case;end if;time_set<=p1; ——输出设置的时间P1 end settime;(2)减法计数器模块:由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年12月21日
主要内容:
设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止,同时发出提示音。
基本要求:
1、设计一个电子定时器,控制洗衣机作如下运转:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止;
2、设计框图
定时时间未到
二、设计步骤和调试过程
1、总体设计电路
洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。
具体电路如下图所示:
2、模块设计和相应模块程序
⑴数码管显示
实现数码管显示
Library iee;
Use ieee.std_logic_1164.all;
"1000"=> "1111111"
"1001"=> "1111011"
End table;
a<=temp(6);b<=temp(5);c<=temp(4);d<=temp(3);e<=temp(2);f<=temp(1);
g<=temp(0);
end rtl
⑵时序电路
Library ieee;
Use ieee.std_logic_1164.all;
End if;
End if;
End if;
End process;
End rtl;
⑶预置时间和编码电路
Library ieee;
Use ieee.std_logic_1164.all;
Entity encode is
Port(
Bcd : in std_logic_vector(3 downto o);
A,b,c,d,e,f,g: out std_logic
);
End encode;
Architecture rtl of encode is
Signal temp0);
Variable wash_time:integer range 0 to 9;
Variable state:std_logic;
Variable wash_time:integer :=21;
Variable wash_time:integer :=9;
Begin
If(en=’0’)wash_time:=’19’;wait_time:=’9’;state:=’0’;
2、若定时到,则停机发出音响信号;
3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;
4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。
一、总体设计思想
1、基本原理
洗衣机控制器的设计主要是定时器的设计。由一片FPGA和外围电路构成了电器控制部分。FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。顶层和中间层多数是由VHDL的元件例化语句实现。中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。
Begin
Table
Bcd => temp;
"0000"=> "1111110";
"0001"=> "0110000"
"0010"=> "1101101"
"0011"=> "1111001"
"0100"=> "0110011"
"0101"=> "1011011"
"0110"=> "1011111"
"0111"=> "1110000"
Use ieee.std_logic_unsigned.all
Entity shixu is
Port(cp,en,rd:in std_logic;
Q1,q2:out std_logic);
End shixu;
Architecture rtl of shixu is
Begin
Process(cp)
Variable wash_time:integer range 0 to 19;
End if;if(en=’0’)then wash_time:=21;Q1<=’0’;Q2<=’0’;
Else if (cp’event and cp=’1’)
Then if (rd=’1’)then if (wash_time>0)
Then wash_time:=20;state:=not state;
End if; end if; end if;
If(wash_time=0)then Q1<=’0’;Q2<=’0’;else if (state=’0’)
Then Q1<=’1’;Q2<=’0’; else Q1<=’0’;Q2<=’1’;
End if; end if;
Else Q1<=’0’;Q2,=’0’;