文档详情

[EDA课程设计.docx

发布:2017-01-21约字共7页下载文档
文本预览下载声明
广西科技大学(筹)课程设计(论文)说明书课题名称:报警控制电路院 别 电气与信息工程学院 专 业 电子信息工程 班 级 电子092 学 号 200900303055 姓 名 吴赞长指导老师 覃永新2012年 6月7日报警控制电路设计任务设计要求:输入量有警报信号ALE,取消键CANCLE,系统时钟CLK,为1HZ。输出量为一个LED灯或者扬声器SPEAKER。当报警信号ALR有效时,LED开始以间隔0.1秒闪烁,同时扬声器响起,持续1分钟后,如果没有按下取消键CANCLE,LED加速闪烁,以间隔0.05秒闪烁,直到取消键CANCLE被按下。假设输入时钟为1KHZ,则需要设计一个输出为10HZ的计数器和20HZ的计数器,分频系数分别是100和50。(这里我觉得说错了,间隔0.1秒闪烁(实际周期为0.2秒),间隔0.05秒闪烁(实际周期为0.1秒),应该是要设计5hz和10hz的计数器,它们的分频系数分别为200和100)将顶层文件下载至试验箱中的核心芯片EP1C3T144C8中,利用试验箱上面的按键,时钟信号和LED发光二极管,进行演示。设计思路及总体方案首先呢,我上网查资料弄清各种概念、分频器的原理和掌握一些分频器的设计。然后设计电路:思路一:设计1个200分频的计数器其产生间隔为0.1秒的波,1个100分频的计数器其产生间隔为0.05秒的波,再设计一个1分钟的计数器,利用PWM脉宽调制实现1分钟前输出为0,之后输出为1。最后用门电路连接实现设计要求。思路二:设计1个200分频的计数器产生间隔为0.1秒的波,1分钟后其输出为0并且设一个标志位让它在1分钟后输出为1,标志位接100分频的计数器的使能端使其在1分钟后输出间隔为0.05秒的波。最后用门电路连接实现设计要求。总体方案:考虑电路的复杂性和底层文件的编写等等的综合考虑我们选择思路二(思路一的方法我也做了设计、仿真最后下载到试验箱调试达到设计要求(此处略))。程序设计1.200分频计数器f0的设计library ieee; --200分频use ieee.std_logic_1164.all;entity f0 isport(clr,clk,en:in std_logic;--复位,1khz时钟,使能端cout,clkout:out std_logic);end;architecture one of f0 isconstant N:integer:=99;--产生间隔为0.1秒的波,实际周期为0.2秒signal counter:Integer range 0 to N;signal a,c:std_logic; begin process(clk,en,clr) variable flg1:integer range 0 to 2147483647; begin if clr=1 then c=0;counter=0;flg1:=0;elsif clkevent and clk=1 thenif en=1 thenif flg1600 then c=0;a=1;--1分钟后输出为0标志位变为1 else a=0;if counter=N then counter=0;flg1:=flg1+1; c=not c; else counter=counter+1;if flg1=2147483647 thenflg1:=0;end if; end if;end if;end if;end if; end process; clkout=c;cout=a;end;2.100分频计数器f1的设计library ieee; --100分频use ieee.std_logic_1164.all;entity f1 isport(clr,clk,en:in std_logic;clkout:out std_logic);end;architecture one of f1 isconstant N:integer:=49;--产生间隔为0.05秒的波,实际周期为0.1秒signal counter:Integer range 0 to N;signal c:std_logic; begin process(clk,en,clr) begin if clr=1 then c=0;counter=0;elsif clkevent and clk=1 thenif en=1 then
显示全部
相似文档