logo资料库

电风扇控制逻辑电路课程设计.doc

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
一、设计目的
二、设计要求
(2).熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。
(4).学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。
三、总体设计原理与内容
四、EDA设计及仿真
1、电风扇控制逻辑电路设计源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
entity dianfengshan is
port (clk1,clk2,rs:in bit;------按键clk1风速 clk
clk:in std_logic;------亮灭时钟 1hz
ledx:buffer bit;------自然风
ledy:buffer bit;------睡眠风
ledA,ledB,ledC,ledD,ledE,ledF,ledG:out b
end dianfengshan;
architecture simple of dianfengshan is
signal m:integer range 0 to 9;------自然风延时
signal n:integer range 0 to 17;------睡眠风延时
begin
process (clk1,clk2,rs,clk)---clk1风速 clk2风种
variable counter,counter1,counter2:integer;
variable led1,led2,led3,led4,led5,led6,led7:bit;
begin
-------------------------------------------------
if ( rs=‘1’) then------rs代表停止键状态
counter:=0;
counter1:=0;
counter2:=0; --按下关闭键所有发光二极管不亮;
else
if(clk1'event and clk1=‘1') then --按下风速键,ledA亮
counter:=counter+1;
counter1:=counter1+1;---风速变量
if(counter1=4) then counter1:=1;
end if;
end if;
if(counter>0) then
if( clk2'event and clk2=‘1') then
counter2:=counter2+1;----风种变量
if(counter2=4) then
counter2:=1;
end if;
end if;
end if;
end if;
-------------------------------------------------
if (counter1=0) then
led1:=‘0';led2:=‘0';led3:=‘0';led7:=‘0';-------风
elsif (counter1=1)then
led1:=‘1';led2:=‘0';
led3:=‘0';led7:=‘1';
elsif (counter1=2)then
led1:=‘0';led2:=‘1';
led3:=‘0';led7:=‘1';
elsif (counter1=3)then
led1:=‘0';led2:=‘0';
led3:=‘1';led7:=‘1';
end if;
-------------------------------------------------
if (counter2=0)then -------风种选择
led4:=‘0';led5:=‘0';
led6:=‘0';led7:=‘0';
elsif (counter2=1)then
led4:=‘1';led5:=‘0';
led6:=‘0';led7:=‘1';
elsif (counter2=2)then
led4:=‘0';led5:=‘1';led6:=‘0';
if(clk'event and clk=‘1') then ---当自然风亮4S 灭4S 由C
m<=m+1;
if(m=4) then
ledx<=not ledx;
m<=0;
end if;
end if;
led7:=ledx;
elsif (counter2=3) then
led4:=‘0';led5:=‘0';led6:=‘1';
if(clk'event and clk=‘1') then ---当睡眠风 亮8S 灭8S 由
n<=n+1;
if(n=8) then
ledy<=not ledy;
n<=0;
end if;
end if;
led7:=ledy;
end if;
-------------------------------------------------
ledA<=led1;
ledB<=led2;
ledC<=led3;
ledD<=led4;
ledE<=led5;
ledF<=led6;
ledG<=led7;
end process;
end simple;
2、电风扇控制逻辑电路设计仿真结果及数据分析
五、硬件实现
1、硬件引脚锁定及步骤
2、硬件实现照片
六、设计总结
1、设计过程中遇到的问题及解决方法
2、设计体会
3、对设计的建议
七、参考文献
八、设计生成的电路图
EDA 技术课程设计 课题:电风扇控制逻辑电路设计 系 专 姓 学 别: 业: 名: 号: 指导教师: 2012 年 6 月 18 日 - 1 -
成绩评定· 一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。 二、课程设计评分 成绩: 2012 年 6 月 日 - 2 -
目录 一、设计目的 ............................................ 4 二、设计要求 ............................................ 4 三、总体设计原理与内容 .................................. 5 四、EDA 设计及仿真 ....................................... 6 1、电风扇控制逻辑电路设计源程序 ....................... 6 2、电风扇控制逻辑电路设计仿真结果及数据分析 .......... 10 五、硬件实现 ........................................... 11 1、硬件引脚锁定及步骤 ................................ 11 2、硬件实现照片 ...................................... 12 六、设计总结 ........................................... 14 1、设计过程中遇到的问题及解决方法 .................... 14 2、设计体会 .......................................... 15 3、对设计的建议 ...................................... 15 七、参考文献 ........................................... 17 八、设计生成的电路图 ................................... 16 - 3 -
一、设计目的 通过对 FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的 PLD(可编 程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据用户的要求及工艺需 要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术 问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技 术资料的能力,受到一次电子设计自动化方面的基本训练。 培养学生利用 EDA 技术知识,解决电子设计自动化中常见实际问题的能力,使学生 积累实际 EDA 编程。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习 的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。 二、设计要求 (1).以 EDA 技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子 系统两个层次,要求利用数字电路或者 EDA 方法去设计并完成特定功能的电子电路的仿真、 软硬件调试; (2).熟悉掌握常用仿真开发软件,比如: Quartus II 或 Xilinx ISE 的使用方法。 (3).能熟练运用上述开发软件设计并仿真电路并下载到 FPGA 中进行调试; (4).学会用 EDA 技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的 安装调试技术。 (5).用 EDA 技术实现电风扇控制器的控制功能,具体要求如下: 1、用三个按键来实现。“风速”、“风种”、“停止”的不同选择。 2、用六个发光二报管分别表示“风速”(强、中、弱)、“风种”(睡眠、自然、正 常)的三种状态。 3、电扇在停转状态时,只有按“风速”键才有效.按其余两键不响应。电风扇启动 后, 再按动“风速”键可循环选择弱、中或强三种状态中的任一种状态,“风速”的弱、 中、强对应电扇的转动由慢到快;按动“风种”键可循环选择正常、自然或睡眠三种状态 的某—种状态。 “风种”在正常位置是指电扇连续运转;“自然”位置,是表示电扇模 拟产生自然风,即运转 4 秒,间断 4 秒的方式;在“睡眠”位置,是产生轻柔的微风,电 - 4 -
扇运转 8 秒,间断 8 秒的方式。 4、电风扇在任意状态下,按“停止”键电扇停止工作,所有指示灯熄灭。 三、总体设计原理与内容 1、设计的总体原理 首先用脉冲信号 CLK1 的上升沿表示按键 1,其控制风速,同时它还做电扇的启动键。 当电扇处于关闭状态时,按一下按键 1(即给一个上升脉冲 CLK1),电扇即处于待机状态, 同时电扇风速处于“弱”状态(即 LED1 亮),若再按一次按键 1,则风速处于“中”状态 (即 LED2 亮),再按一次按键 1,风速处于“强”状态(即 LED3 亮),依次循环。 用脉冲信号 CLK2 的上升沿表示按键 2,其控制风种,当电扇处于待机状态时,按一下 按键 2(即给一个上升脉冲 CLK2),电扇即开始运转,同时风种处于“正常”状态(即 LED4 亮),电扇持续运转(即 LED7 常亮),连续按按键 2,则风种依次处于“正常,自然,睡眠” 状态,电扇依次持续运转,转四秒停四秒(即 LED7 亮四秒不亮四秒),转八秒停八秒(即 LED7 亮八秒不亮八秒)。 用脉冲信号 RS 的上升沿表示按键 3,它做电扇的关闭键,当电扇处于运转状态时,按一下 按键 3(即给一个上升脉冲 RS),电扇即停止运转(即所有发光二极管不亮)。 2、设计内容 图 3—1 设计总体框图 如图 3—1,在关闭状态给一个触发脉冲 CLK1(即按一下键 1),即启动电风扇,风速 为默认“弱”状态,则电扇处于待机状态,此时按下风种选择键键 2,风扇即开始运转, 且风种为“正常”。逐次按键 1,则可实现风速转换;逐次按键 2,则可实现风种转换。 - 5 -
四、EDA 设计及仿真 1、电风扇控制逻辑电路设计源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; entity dianfengshan is port (clk1,clk2,rs:in bit;------按键 clk1 风速 clk2 风种 rs 代表停止键 clk:in std_logic;------亮灭时钟 1hz ledx:buffer bit;------自然风 ledy:buffer bit;------睡眠风 ledA,ledB,ledC,ledD,ledE,ledF,ledG:out bit); ------ledA-C 风速 ledD-F 风种 ledG 状态 end dianfengshan; architecture simple of dianfengshan is signal m:integer range 0 to 9;------自然风延时 signal n:integer range 0 to 17;------睡眠风延时 begin process (clk1,clk2,rs,clk)---clk1 风速 clk2 风种 variable counter,counter1,counter2:integer; variable led1,led2,led3,led4,led5,led6,led7:bit; begin ------------------------------------------------- if ( rs=‘1’) then------rs 代表停止键状态 counter:=0; counter1:=0; - 6 -
counter2:=0; --按下关闭键所有发光二极管不亮; else if(clk1'event and clk1=‘1') then --按下风速键,ledA 亮; counter:=counter+1; counter1:=counter1+1;---风速变量 if(counter1=4) then counter1:=1; end if; end if; if(counter>0) then if( clk2'event and clk2=‘1') then counter2:=counter2+1;----风种变量 if(counter2=4) then counter2:=1; end if; end if; end if; end if; ------------------------------------------------- if (counter1=0) then led1:=‘0';led2:=‘0';led3:=‘0';led7:=‘0';-------风速选择 elsif (counter1=1)then led1:=‘1';led2:=‘0'; led3:=‘0';led7:=‘1'; elsif (counter1=2)then - 7 -
led1:=‘0';led2:=‘1'; led3:=‘0';led7:=‘1'; elsif (counter1=3)then led1:=‘0';led2:=‘0'; led3:=‘1';led7:=‘1'; end if; ------------------------------------------------- if (counter2=0)then -------风种选择 led4:=‘0';led5:=‘0'; led6:=‘0';led7:=‘0'; elsif (counter2=1)then led4:=‘1';led5:=‘0'; led6:=‘0';led7:=‘1'; elsif (counter2=2)then led4:=‘0';led5:=‘1';led6:=‘0'; if(clk'event and clk=‘1') then ---当自然风亮 4S 灭 4S 由 CLK 控制 m<=m+1; if(m=4) then ledx<=not ledx; m<=0; end if; end if; led7:=ledx; elsif (counter2=3) then - 8 -
分享到:
收藏