电风扇控制逻辑电路课程设计_第1页
电风扇控制逻辑电路课程设计_第2页
电风扇控制逻辑电路课程设计_第3页
电风扇控制逻辑电路课程设计_第4页
电风扇控制逻辑电路课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录一、设计目的.4二、设计要求.4三、总体设计原理与内容.51、设计的总体原理 .52、设计内容. 5四、EDA设计及仿真51、电风扇控制逻辑电路设计源程序.52、电风扇控制逻辑电路设计仿真结果及数据分析.8五、硬件实现.91、引脚锁定图92、硬件实现照片.9 六、设计总结.121、设计过程中遇到的问题及解决方法.122、设计体会.123、对设计的建议.13七、设计生成的电路图.13参考文献.13电风扇控制逻辑电路设计一、设计目的通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD(可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据用户的要求及工艺需要进行

2、电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,受到一次电子设计自动化方面的基本训练。培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。二、设计要求(1).以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软

3、硬件调试;(2).熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。(3).能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试; (4).学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。(5).用EDA技术实现电风扇控制器的控制功能,具体要求如下:1、用三个按键来实现。风速”、“风种”、“停止”的不同选择。2、用六个发光二报管分别表示“风速”(强、中、弱)、“风种”(睡眠、自然、正常)的三种状态。3、电扇在停转状态时,只有按“风速键才有效按其余两键不响应。电风扇启动后, 再按动“风速”键可循环选择弱、中或强三

4、种状态中的任一种状态,“风速”的弱、中、强对应电扇的转动由慢到快;按动“风种”键可循环选择正常、自然或睡眠三种状态的某种状态。 “风种”在正常位置是指电扇连续运转;“自然”位置,是表示电扇模拟产生自然风,即运转4秒,间断4秒的方式;在“睡眠”位置,是产生轻柔的微风,电扇运转8秒,间断8秒的方式。电扇运转情况用第七个发光二极管的亮与不亮表示。4、电风扇在任意状态下。按“停止”键电扇停止工作,所有指示灯熄灭。三、总体设计原理与内容1、设计的总体原理首先用脉冲信号feng_su的上升沿表示按键2,其控制风速,同时它还做电扇的启动键。当电扇处于关闭状态时,按一下按键2(即给一个上升脉冲feng_su)

5、,电扇即处于待机状态,同时电扇风速处于“弱”状态(即LED8亮),若再按一次按键1,则风速处于“中”状态(即LED7亮),再按一次按键1,风速处于“强”状态(即LED6亮),依次循环。用脉冲信号feng_zhong的上升沿表示按键1,其控制风种,当电扇处于待机状态时,按键1处于失效状态,当启动时,风种的初态为正常,电扇持续运转(即LED3常亮),连续按按键1,则风种依次处于“正常,自然,睡眠”状态,电扇依次持续运转,转四秒停四秒(即LED2亮四秒不亮四秒),转八秒停八秒(即LED1亮八秒不亮八秒)。用脉冲信号ting_zhi的上升沿表示按键3,它做电扇的关闭键,当电扇处于运转状态时,按一下按键

6、3(即给一个上升脉冲RS),电扇即停止运转(即所有发光二极管不亮)。2、设计内容 图3-2-1 设计总体框图 如图3-2-1,在关闭状态给一个触发脉冲feng_su(即按一下键2),即启动电风扇,风速为默认“弱”状态,风种默认为正常状态,风扇即开始运转。逐次按键2,则可实现风速转换;逐次按键1,则可实现风种转换。四、EDA设计及仿真1、电风扇控制逻辑电路设计源程序library ieee;use ieee.std_logic_1164.all;entity feng_shan123 is port(ting_zhi,feng_su,feng_zhong,clk:in std_logic; ru

7、o,zhong,qiang,zheng_chang,zi_ran,shui_mian:out std_logic);end feng_shan123;architecture one of feng_shan123 is type state123 is(state0,state1,state2,state3); type state567 is(s0,s1,s2); signal pr_state0,nx_state0:state123; signal pr_state1,nx_state1:state567; signal zi_ran1:std_logic:='0' si

8、gnal shui_mian1:std_logic:='0' -自然风的控制信号,高电平有效 signal kong_zhi:std_logic; -风种档位有效控制信号,高电平有效 signal a,b:std_logic:='0' -控制自然风和睡眠风的输出 signal zi_ran3:std_logic:='1' -自然风档位时,计时信号 signal shui_mian3:std_logic:='1' -睡眠档位时,计时信号beginprocess(ting_zhi,feng_su) -停止键有效时,系统停止begini

9、f ting_zhi='1' then pr_state0<=state0; -信号上升沿来时,现态等于次态 elsif(feng_su'event and feng_su='1') then pr_state0<=nx_state0; end if; end process;process(ting_zhi,feng_zhong) begin if ting_zhi='1' then pr_state1<=s0; -信号上升沿来时,现态等于次态 elsif(feng_zhong'event and feng_z

10、hong='1') then pr_state1<=nx_state1; end if;end process;process(pr_state0)begin case pr_state0 is when state0=>ruo<='0'zhong<='0'qiang<='0' nx_state0<=state1;kong_zhi<='0' when state1=>ruo<='1'zhong<='0'qiang<=&

11、#39;0' nx_state0<=state2;kong_zhi<='1' when state2=>ruo<='0'zhong<='1'qiang<='0' nx_state0<=state3; when state3=>ruo<='0'zhong<='0'qiang<='1' nx_state0<=state1;end case;end process;process(pr_state1,kong_

12、zhi)begin case pr_state1 is when s0=>if(kong_zhi='0')then zheng_chang<='0'zi_ran1<='0'shui_mian1<='0'nx_state1<=s0; else zheng_chang<='1'zi_ran1<='0'shui_mian1<='0'nx_state1<=s1; end if;b<='0' a<='0&

13、#39; when s1=>zheng_chang<='0'zi_ran1<='1'shui_mian1<='0' nx_state1<=s2;a<='1'b<='0' when s2=>zheng_chang<='0'zi_ran1<='0'shui_mian1<='1' nx_state1<=s0;a<='0'b<='1' end case; end

14、 process;process(zi_ran1,clk,a) -自然风档位,等两四秒,灭四秒 variable zi_ran2:integer range 0 to 16; begin if zi_ran1='1' then if(clk'event and clk='1') then if zi_ran2=16 then zi_ran2:=0;zi_ran3<=not zi_ran3; else zi_ran2:=zi_ran2+1; end if; end if; else zi_ran3<='1' end if;if

15、a='1' then zi_ran<=zi_ran3;else zi_ran<='0'zi_ran2:=0;end if; end process;process(shui_mian1,clk,b) -睡眠风档位,亮8秒,灭8秒 variable shui_mian2:integer range 0 to 32; begin if shui_mian1='1' then if(clk'event and clk='1') then if shui_mian2=32 then shui_mian2:=0;shui

16、_mian3<=not shui_mian3; else shui_mian2:=shui_mian2+1; end if; end if; else shui_mian3<='1' end if; if b='1' then shui_mian<=shui_mian3;else shui_mian<='0'shui_mian2:=0;end if;end process;end one;2、电风扇控制逻辑电路设计仿真结果及数据分析 图4-2-1 软件仿真图如图4-2-1,首先用脉冲信号feng_su的上升沿表示按键2,其

17、控制风速,同时它还做电扇的启动键。当电扇处于关闭状态时,按一下按键1(即给一个上升脉冲feng_su),电扇即处于待机状态,同时电扇风速处于“弱”状态(即LED8亮),若再按一次按键1,则风速处于“中”状态(即LED7亮),再按一次按键1,风速处于“强”状态(即LED6亮),依次循环。用脉冲信号feng_zhong的上升沿表示按键2,其控制风种,当处于启动状态时,风种的出态为正常状态(即LED3亮),连续按按键2,则风种依次处于“正常,自然,睡眠”状态,电扇依次持续运转,转四秒停四秒(即LED2亮四秒不亮四秒),转八秒停八秒(即LED1亮八秒不亮八秒)。用脉冲信ting_zhi的上升沿表示按键

18、3,它做电扇的关闭键,当电扇处于运转状态时,按一下按键3(即给一个上升脉冲ting_zhi),电扇即停止运转(即所有发光二极管不亮)。五、硬件实现 1、引脚锁定图在硬件仿真前要进行引脚锁定,我选择的是模式3,其中时钟信号clk对应clock2.锁定引脚M1,;风速键对应feng_su,锁定引脚为PIN_AB14;风种键对应feng_zhong,锁定引脚为PIN_AB15;ruo连接D8,锁定引脚为PIN_L18;zhong连接D7,锁定引脚为PIN_F13;qiang连接D6,锁定引脚为PIN_F16;zheng_chang连接D3,锁定引脚为PIN_H14;zi_ran连接D2,锁定引脚为P

19、IN_H15;shui_mian连接D1,锁定引脚为PIN_j14;停止键连接ting_zhi,锁定引脚为PIN_AB13。其引脚配置图如下:图5-1-1 引脚锁定图2、硬件实现照片 图5-2-1 风速弱、风种正常led显示图图5-2-1是风速为“弱”、风种为“正常”的led显示图。如图,led8亮,led7、led6不亮,led3亮,led2、led1不亮,led4,led5常亮。图5-2-2 风速强、风种自然led显示图图5-2-2是风速为“中”、风种为“自然”的led显示图。图为led6亮,led1、 led3、 led7、 led8不亮。其中led2初始状态为亮,亮四秒后变灭,灭四秒后

20、变亮,也就是亮灭四秒交替显示。图5-2-3 风速中、风种睡眠led显示图图5-2-3是风速为“中”、风种为“睡眠”的led显示图。图为led7亮,led2、 led3、 led7、 led8不亮。其中led1初始状态为亮,亮八秒后变灭,灭八秒后变亮,也就是亮灭八秒交替显示。 图5-2-3 停止状态时led显示图图5-2-3是按停止键时系统处于的状态,此时六个led灯全灭。停止键和风种键也失效,风速键作为开始键。六、设计总结1、设计过程中遇到的问题及解决方法设计过程中共遇到了两个大问题。(1)开始时,风种选择既受feng_zhong信号控制,又受feng_su信号控制,但在程序中,一个量不能同时受两个触发脉冲控制,为了解决这个问题,我们尝试了很多办法,但都是“拆东墙补西墙”不能解决问题,要么显示风种的灯都不亮,要么不受CLK1控制。后来我们在各个变量的逻辑关系上找到了突破点,引入新的中间变量,问题就随之解决了。(2)中间过程中,也遇到了一个问题,就是分频问题。开始我们认为程序是正确的,但多次仿真

温馨提示

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

评论

0/150

提交评论