EDA课程设计

发布 2022-09-30 19:31:28 阅读 8602

广西科技大学(筹)

课程设计(**)说明书。

课题名称:报警控制电路。

院别电气与信息工程学院

专业电子信息工程。

班级电子092

学号 200900303055

姓名吴赞长。

指导老师覃永新。

2024年 6月7日。

报警控制电路。

一。 设计任务。

设计要求:1. 输入量有警报信号ale,取消键cancle,系统时钟clk,为1hz。输出量为一个led灯或者扬声器speaker。

2. 当报警信号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)

3. 将顶层文件**至试验箱中的核心芯片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 ieee200分频。

use entity f0 is

port(clr,clk,en:in std_logic;--复位,1khz时钟,使能端。

cout,clkout:out std_logic);

end;architecture one of f0 is

constant 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 clk'event and clk='1' then

if en='1' then

if flg1>600 then c<='0';a<='1';-1分钟后输出为0标志位变为1

else a<='0';

if counter=n then

counter<=0;flg1:=flg1+1;

c<=not c;

elsecounter<=counter+1;

if flg1=2147483647 then

flg1:=0;

end if;

end if;

end if;

end if;

end if;

end process;

clkout<=c;

cout<=a;

end;2.100分频计数器f1的设计。

library ieee100分频。

use entity f1 is

port(clr,clk,en:in std_logic;

clkout:out std_logic);

end;architecture one of f1 is

constant 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 clk'event and clk='1' then

if en='1' then

if counter=n then

counter<=0;

c<=not c;

elsecounter<=counter+1;

end if;

end if;

end if;

end process;

clkout<=c;

end;3.总体电路的设计。

将底层的f0和f1设置成可调用的元件后用原理图输入法弄成思路二的电路图的顶层文件为designer。

四。 **结果。

**波形图。

1分钟前输出间隔为0.1秒的波,1分钟后输出为0标志位变为1

**波形图。

4. designer的**波形。

1分钟前输出为间隔0.1秒的波1分钟后输出为0.05秒的波。

直到清零复位键按下。

引脚锁定图。

五。 总结。

此次课程设计我们设计的是一个报警控制电路的设计,从老师的讲解我们对此次任务有了一定的了解。之后上网查资料,了解分频系数、分屏器等概念。网上相似的一些分屏器设计的资料一大堆,我们不难找到和**一些简单的分频器的设计的资料,读懂它,然后根据资料开始编写符合要求的分频计数器。

编程时值得注意的就是一定得真正的弄清并行语句和串行语句的区别,否则很容易在编程时高混乱了程序的执行思路从而导致程序编写出错不能通过编译。还有就是编程时一定得养成好多编程习惯,这样我们回过头来检查程序时就可以清晰的分析程序。还有就是建波形**件时一定得分析需求按需设计波形图才能使**波形清晰易懂。

**到试验箱调试时就要对应好引脚锁定的按键、输入时钟和输出量。做硬件的东西一定得细心,一个不经意的疏忽就有可能导致整个设计的调试不成功。

此外,值得一说的就是设计一个好的整体思路方案很重要。一个好的方案可以帮助我们少走一些弯路,对整体的实施有很大的影响。

六。 参考文献。

eda技术实用教程】(第三版) 潘松科学出版社。

21电子工程师论坛。

文库。豆瓣网等。

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...