洗衣机控制器课程设计_第1页
洗衣机控制器课程设计_第2页
洗衣机控制器课程设计_第3页
洗衣机控制器课程设计_第4页
洗衣机控制器课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

九江学院 课 程 设 计 课 程 EDA 技术课程设计 题 目 洗衣机控制器 院 系 电子信息学院 专业班级 电子信息工程技术 学生姓名 张翁生 学生学号 37 指导教师 高玉宝 一 设计要求与原理一 设计要求与原理 设计一个洗衣机控制器 要求洗衣机有正转 反转 暂停三种状态 设定洗衣机的工作时间 要洗 衣机在工作时间内完成 定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到 正转20秒暂停10 秒 定时到则停止 同时发出提示音 基本要求 1 设计一个电子定时器 控制洗衣机作如下运转 定时启动正转20秒暂停10秒反转20秒暂停10秒定 时未到回到 正转20秒暂停10秒 定时到则停止 2 若定时到 则停机发出音响信号 3 用两个数码管显示洗涤的预置时间 分钟数 按倒计时方式对洗涤过程作计时显示 直到时间 到停机 洗涤过程由 开始 信号开始 4 三只LED灯表示 正转 反转 暂停 三个状态 二 洗衣机的工作过程二 洗衣机的工作过程 首先用电路控制三只 LED 显示洗衣机正转 反转 暂停三种状态 然后用电子定时器控制洗衣机设 定的工作时间 以及正传和反转运行时间的控制 同时用两个数码管显示洗涤的预置时间 按分钟计数 按倒计时方式对洗涤过程作计时显示 直到时间到停机 洗涤过程由 开始 信号开始 最后定时到则停 止 同时用蜂鸣器发出提示音 通过各种开关组成控制电路 使洗衣机实现程序运转 直至结束为止 三 各模块图三 各模块图 洗衣机控制电路由定时输入模块 电机输出模块 电机时间控制模块 数字显示电路 倒计时模块 以及报警器模块组成 图一 循环控制电路 使其在三个状态转换 按键控制模块 控制循环时间 数字显示模块 报警电路 定时输入模块 倒计时模块 精品文档 3欢迎下载3欢迎下载 四 各模块的四 各模块的 VHDLVHDL 代码与仿真结果代码与仿真结果 1 输入定时模块 此模块是为了实现希望让洗衣机工作多少个分钟 有两个数码管显示工作时间 所以可以不同要求 输入要洗衣的时间 可以输入 1 59 分钟不等时间 人性化控制 与实际的洗衣机工作是一样的 程序如 下 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity shuru is Port shu in std logic hshu in std logic din in std logic dout out std logic vector 3 downto 0 dout1 out std logic vector 3 downto 0 end shuru architecture Behavioral of shuru is signal count std logic vector 3 downto 0 signal count1 std logic vector 3 downto 0 begin process shu hshu din begin dout count dout1 count1 if din 0 then dout 1111 dout1 1111 elsif rising edge shu then if count 1001 then count 0000 else count count 1 end if end if if rising edge hshu then if count1 0110 then count1 0000 else count1 count1 1 end if end if 精品文档 4欢迎下载4欢迎下载 end process end Behavioral 仿真波形如下 2 产生 1HZ 频率的信号 此程序是将学校试验箱上提供的 48MHZ 的信号分频成 1HZ 频率的信号 这样可以一秒进行计数 程序 很简单 如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL entity fp48M is port clk 48MHZ in std logic clk 1HZ out std logic end fp48M architecture behav of fp48M is signal clk 1HZ r std logic signal count std logic vector 24 downto 0 begin process clk 48MHZ begin if clk 48MHZ event and clk 48MHZ 1 then if count 1011011100011010111111111 then count 0 clk 1HZ r not clk 1HZ r else count count 1 clk 1HZ clk 1HZ r end if end if end process end behav 3 提供定时脉冲模块 此模块提供 1 分钟产生一个高电平和 5 秒产生一个高电平 这两个脉冲为后面的循环和控制 60 秒减一分钟有很多的作用 起到后面的链接作用 同时可以根据自己来设置各状态工作时间 这可以和 精品文档 5欢迎下载5欢迎下载 后面的循环控制一起来控制 程序如 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity washmachine is Port clk in std logic c out std logic d out std logic end washmachine architecture miao20 of washmachine is signal count std logic vector 2 downto 0 signal shi integer range 0 to 60 begin process clk begin if rising edge clk then if shi 60 then shi 0 c 1 else shi shi 1 c 0 end if if count 100 then count 000 d 1 else count count 1 d 0 end if end if end process end miao20 仿真波形如下 4 循环控制模块 此模块是为了实现能够控制洗衣机正转 反转 暂停的功能 同时也可以和前一模块一起控制各个 状态的工作时间 精品文档 6欢迎下载6欢迎下载 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity dianji is Port cc in std logic deng out std logic vector 2 downto 0 end dianji architecture di of dianji is signal count std logic vector 3 downto 0 signal deng1 std logic vector 2 downto 0 begin deng deng1 process cc begin if rising edge cc then if count 1010 then count 0000 else count count 1 end if if count 0000 then deng1 011 elsif count 0100 then deng1 101 elsif count 0110 then deng1 110 end if end if end process end di 仿真波形如下 5 分钟的个位控制 精品文档 7欢迎下载7欢迎下载 根据课程设计要求 把工作状态及工作时间显示出来 按下 KEY5 键就可以显示工作时间的分钟个位 显示在数码管上 可以根据洗衣不同要求设置同时可以控制分钟的十位时间 当个位分钟为 0 时下一个 分钟个位脉冲过来分钟的十位就减 1 程序如下 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity fen l is Port jian in std logic reset in std logic din in std logic vector 3 downto 0 dout out std logic vector 3 downto 0 c out std logic end fen l architecture Behave of fen l is signal count std logic vector 3 downto 0 begin dout count process jian reset din begin if reset 0 then count din c 0 elsif rising edge jian then if count 0000 then count 1001 c 1 else count count 1 c 0 end if end if end process end Behave 仿真波形如下 6 分钟的十位控制 根据课程设计要求 把工作状态及工作时间显示出来 按下 KEY5 键就可以显示工作时间的分钟十位 精品文档 8欢迎下载8欢迎下载 显示在数码管上 可以根据洗衣不同要求设置 这和上面程序相似 当个位分钟为 0 时下一个分钟个位 脉冲过来分钟的十位就减 1 程序如下 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity fen h is Port jian in std logic reset in std logic din in std logic vector 3 downto 0 dout out std logic vector 3 downto 0 c out std logic end fen h architecture Behave of fen h is signal count std logic vector 3 downto 0 begin dout count process jian reset din begin if reset 0 then count din c 0 elsif rising edge jian then if count 0000 then count 1001 c 1 else count count 1 c 0 end if end if end process end Behave 7 数码管显示模块 此模块是显示要洗衣的时间 这个时间是可以在前面的控制模块控制的 安下 KEY5 键就可以显示时 间 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC Arith ALL USE IEEE STD LOGIC Unsigned ALL ENTITY xianshi led IS 精品文档 9欢迎下载9欢迎下载 PORT clk 2k IN STD LOGIC d IN STD LOGIC VECTOR 7 DOWNTO 0 输入要显示的数据 dig OUT STD LOGIC VECTOR 7 DOWNTO 0 数码管选择输出引脚 seg OUT STD LOGIC VECTOR 7 DOWNTO 0 数码管段输出引脚 END ENTITY ARCHITECTURE one OF xianshi led IS SIGNAL seg r STD LOGIC VECTOR 7 DOWNTO 0 定义数码管输出寄存器 SIGNAL dig r STD LOGIC VECTOR 7 DOWNTO 0 定义数码管选择输出寄存器 SIGNAL disp dat STD LOGIC VECTOR 3 DOWNTO 0 定义显示数据寄存器 SIGNAL count STD LOGIC VECTOR 2 DOWNTO 0 定义计数寄存器 BEGIN dig dig r seg seg r PROCESS clk 2k BEGIN IF RISING EDGE clk 2k THEN count disp dat disp datnull END CASE CASE count IS 选择数码管显示位 WHEN 000 dig r dig rnull END CASE END IF END PROCESS PROCESS disp dat BEGIN 精品文档 10欢迎下载10欢迎下载 CASE disp dat IS WHEN X 0 seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r seg r X 8e 显示 f END CASE END PROCESS END 8 提供数码管工作频率模块 由于数码管要工作在 2KHZ 的频率信号下有所需要将试验箱 48MHZ 的信号分频分频成 2KHZ 此程序和 产生 1HZ 是一样的程序如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL entity fp2k is port clk 48MHZ in std logic clk 2KHZ out std logic end fp2k architecture behav of fp2k is signal clk 2KHZ r std logic signal count std logic vector 14 downto 0 begin process clk 48MHZ begin if clk 48MHZ event and clk 48MHZ 1 then if count 10111011011111 then count 0 clk 2KHZ r not clk 2KHZ r else count count 1 clk 2KHZ clk 2KHZ r end if 精品文档 11欢迎下载11欢迎下载 end if end process end behav 五 将各个模块连接及其目标器件选择五 将各个模块连接及其目标器件选择 将各个模块的 VHDL 语言生产原理图模块器件 将各个模块连接如下图 PIN C13 VCC key1 in INPUT PIN D13 VCC key2 in INPUT PIN P1 VCC key4 in INPUT PIN N2 VCC clk 48M in INPUT PIN AD13 VCC key5 in INPUT PIN P18 G IN OUTPUT PIN P7 PIN P9 PIN R5 led out 2 0 OUTPUT PIN L6 PIN K5 PIN G3 PIN J4 PIN J3 PIN K4 PIN L3 PIN M4 dig 7 0 OUTPUT PIN J8 PIN M3 PIN K6 PIN J6 PIN U10 PIN N9 PIN L10 PIN L9 seg 7 0 OUTPUT clkc d washmachine inst4 shu hshu din dout 3 0 dout1 3 0 shuru inst7 clk 48MHZclk 1HZ fp48M inst11 ccdeng 2 0 dianji inst12 clk 2k d 7 0 dig 7 0 seg 7 0 xianshi led inst clk 48MHZclk 2KHZ fp2k inst3 d 3 0 d 7 0 d 7 4 jian reset din 3 0 dout 3 0 c fen l inst1 jian reset din 3 0 dout 3 0 c fen h inst2 六 实训总结六 实训总结 这次 ED

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论