1、 数字逻辑课程设计实验报告数字逻辑课程设计实验报告 题目:洗衣机系统的设计 一、实验目的。 随着计算机技术和微电子技术的飞跃发展,数字系统的设计正朝着速度快、容量大、体 积小、重量轻的方向发展。而 VHDL 语言是数字系统设计自动化的一个很重要的方面,利用 软件编程可以实现很多相应的逻辑功能。因此学习好 VHDL 语言对每个数字系统设计者来说 有很重要的意义。 本实验要求利用 VHDL 语言设计一个简单的洗衣机系统, 并通过控制电路来实现洗衣机各 个状态的改变。这次实验可以使我们对 VHDL 语言及其编程风格有较深入的了解。 二、实验所用仪器和组件。 DICE-SEM 型实验箱 三、实验内容。
2、 洗衣机除了暂停外有三种工作状态:洗涤、漂洗和脱水。这三种状态的先后次序是固定 的,每个工作状态的工作时间也是固定的。而在日常使用洗衣机时,则需要设定洗衣机的洗 衣模式, 洗衣机按照洗衣模式完成它的工作。 洗衣模式其实就是根据实际需要对这三种状态 进行取舍后组合形成的, 它们是: 具有洗漂脱的标准模式、 只有洗涤的单洗模式、 洗漂模式、 单漂模式、漂脱模式和单脱模式等 6 种。不管哪种洗衣模式下,洗涤工作只进行一次,漂洗 工作则进行二次,脱水工作进行一次,洗涤和漂洗工作需要注水,注水多少是可以设定的。 在系统运行时,可以通过手动按钮进入暂停,但洗衣模式强制进入标准模式。只有在暂停时 才可以重新
3、选择洗衣模式,处于工作状态则不允许重新选择。 四、实验设计方案、逻辑图及波形图。 1、实验设计方案 P1 进程:用于对电源开关的处理,敏感信号表为 clk,当电源开关为高电平时,电源指 示灯亮。 Proc 进程:当洗衣机工作时记录时间,clk1 记录秒,shijian 记录分,敏感信号表为 脉冲信号 clock。 P2 进程:用于对水位的处理,敏感信号表为水位按钮 water。 P3 进程:用于模式的选择,产生相应的输出,并对计时器时间赋初值,敏感信号表为 模式按钮 mode。 P4 进程:用于对启动、暂停的处理,并产生相应的变量赋值和输出。 P5 进程:模拟洗衣机的工作过程,对于相应的模块作
4、相应的显示处理。 P6 进程:处理剩余时间的显示,根据 shijian 变量的值在七段显示器上显示相应的数 字。 P7 进程:洗衣机工作完成后计数 30 秒自动断电。 P8 进程: 2、程序流程图 P1 进程: 开始 Clk 发生改变且为 高电平 N Y proc 进程: N Y N y N Y N Y Power 赋值 为1 结束 开始 电源 power 为1 启动暂停 startpause 为 1 时钟脉冲为上升沿 变量 shijian 大于 0 Clk1 自加 1 Shijian 赋值 为 27 Y N Y Y P2 进程: N Y Y N Y N Y N 变量 clk1 为 60 Sh
5、ijian 自减 1 Clk1 为 0 结束 开始 Clk 为 1,restart 为 0 Count 为 4 Count 自加 1 Count 为 5 Count 为 6 水位显示 4 水位显示 5 Y N Y N Y P3 进程: N Y Y N Y N Y Count 为 7 Count 为 8 Count 赋值 4 结束 水位显示 6 水位显示 7 水位显示 4 开始 Clk 为 1,restart 为 0 tmode 为 0 tmode 自加 1 tmode 为 1 tmode 为 2 设置为标准 洗模式 N Y N Y N Y Y P4 进程: tmode 为 3 tmode 为
6、4 tmod 赋值 0 结束 设置为单洗 模式 设置为洗漂 模式 设置为单漂 模式 设置为漂脱 模式 tmode 为 5 设为单脱 开始 电源 clk 为1 Restart 为 0 restart 15 then -标准洗 if shijian mod 2 =0 then wash 12 then -洗漂 if shijian mod 2 = 0 then wash 3 then wash = 0; -漂脱 if shijian mod 2 = 0 then potch = 0; else potch = 1; end if; dry = 1; else wash = 0; potch = 0; if shijian mod 2 = 0 then dry = 0; else dry wash = 0; potch = 0; -单脱 if shijian mod 2 = 0 then dry = 0; else dry