fpga通过串口设置秒表的定时报警时间

fpga通过串口设置秒表的定时报警时间,第1张

60秒。fpga通过设计程序将DS1302RTC时间通过串口设置定时报警时前春间,其串口调试助手可以看到时间信息并设置秒表来慧尘耐提示用户定时报警时间则为60秒,设置成功实现了上位机和FPGA开发板同时可以显示时间、设置时间、蜂鸣器报警、LED灯闪烁等功能兄雀。

一 设计说明书

1.设计任务

(1) 进行设计方案的比较,并选定设计方案;

(2) 完成单元电路的设计和主要元器件说明;

(3) 安装各单元电路,要求布线整齐、美观;

(4) 写出课程设计报告文档。

2.设计要求

(1) 设计并制作符合要求的电子秒表;

(2) 秒表由6 位七段LED显著器显示,其中两位显示分,四位显示

秒,其中显示的分辩率为0.01 秒;

(3)计时最大值为99 分59点99秒;

(4)计时误差不得超过0.01秒;

(5)具有自动清零、启动计时、暂停计时及继续计时等控制功能;

(6) 控制 *** 作按键不得超过2个。

3.提高部分

3.1 安装自己设计的电路

(1)检查元器件

(2)对电路进行组装:按照自己设计的电路,在面包板上插接元器咐笑扮件或在通用板上焊接。焊接完毕后,应对照电路图仔细检查,看是否有错接、少接、虚焊的现象。

3.2. 通电调式

(1)通电测试:对安装完成的电路板的参数及工作状态进行测量,以便提供调整电路的依据。

(2)通电调试:经过反复的调整和测量,使电路的性能达到要求。

3.3 书写调试报告

课程设计说明书书写格式

参照“课程设计说明书书写格式”文件。

4.参考资料

1、《数字电子技术导论》西安交通大学 .何金茂主编

2、《数字电子技术基础》高等教育出版社. 康华光主编

3、《数字电子技术》 高等教育出版社。 杨志忠主编

二.方案论证

2.1.方案的选择

通过对设计要求的分析,应用相关的数字电子电路方面的知识画出原理图,检查无误后,将原理图在EWB中仿真,验证通过无误后,可以考虑使用何种方案来实现设计电路。我们可以通过对照原理图在万能板上焊接来实现所设计的电路;也可以在PROTEL中画出原理图并布好线通过做PCB板来实现所设计的电路;还可以通过在面包板上插线来实现设计的电路。因在商店只买到万能板,所以我们采用万能板接线。

2.2电路总体功能、结构的分析

本电路的目标为设计一个数字式秒表。如图2.1所示,数字式秒表电路系统由主体电路和扩展电路两部分组成。其中主体电路完成计数功能,控制电路完成控制的扩展功能。通过所设计电路将实现具有清零、启动、暂停、继续等控制功能的计时数字式秒表。

根据电路所需要达到的要求,可以将衡灶电路的总体结构框图描述(如图2.2):

图2.2 多功能数字式秒表系统的组成框图

设计时各部分所用的器件名称如下:

时钟信号:由555组成的多谐振荡器。

计数器:74LS190

锁存器:CT74LS373

译码器:CT74LS47

显示器:BS201

三. 555组成的多谐振荡器简介

3.1555与RC组成多谐振荡器

由门电路组成的多谐振荡器虽具有多种电路的形式,但它们无一例外地具有如下的共同的特点。首先,电路中含有开关器件,如门电路、电压比较器、BJT等。这些器件主要用作产生高、低电平;其次,具有反馈网络,将输出电压恰当地反馈给开关器件,使之改变输出状态;另外,还要有延迟环节,利用RC电路的充、放电特性可实现延时,以获得所需要的振荡频率升销。在许多实用电路中,反馈网络兼有延时的作用。图3.1.1是一种最简型多谐振荡器。

3.2振荡周期的计算

在振荡过程中,电路状态的转换主要取决于电容的充、放电时间,而转换时刻则取决于 的数值。根据以上分析所得电路在状态转换时 的几个特征值,可以计算出周期T

四 芯片简介

4.1 74LS190

74LS190是一种较为典型的集成同步十进制加/减法计数器。图中 ̄LD为异步

置数控制端, ̄CT为计数控制端,D0-D3为并行数据输入端,Q0-Q3为输出端, ̄U/D为加减计数控制端。CO/BO为进位/借位输出端。 ̄(RC)为行波时钟输出端。CT74LS190没有专门的置0输入端,但可以借助于数据D3D2D1D0=0000时,实现计数器的置0功能。

74LS190的引脚图、功能表如下图所示。

4.1.1 74LS190的引脚图

表4.1.1 74LS190的功能表

输入 输出

CP R0(1) R0(2) S9(1) S9(2) QA QB QC QD

X 1 1 0 X 0 0 0 0

1 1 X 0 0 0 0 0

X X 1 1 1 0 0 1

↓ X 0 X 0

计数

0 X 0 X

0 X X 0

X 0 0 X

(1)异步置数功能:当 ̄LD=0时,不论有无脉冲CP和其他信号输入,并行输入的数

据d3-d0被置入计数器相应的触发器中,这时Q3Q2Q1Q0=d3d2d1d0.

(2) 计数功能: 取 ̄CT=0, ̄LD=1。当 ̄U/D=0时,在CP脉冲上升沿作用下,进行

十进制加法计数。当 ̄U/D=1时,在CP脉冲上升沿作用下,进行减法计数。

(3) 保持功能:当 ̄CT= ̄LD=1时,计数器保持原来的状态不变。

4.2 CT74373

锁存器的原理图如下图

图4.2.1锁存器的原理图

C是锁存器信号的输入端,D是数据输入端Q和Qo是数据互补输出端。当C=0时,G2被封锁,输出0,G3被封锁输出1。G5输出Q=D,Qo=Do(D和Do是数据互补)。当C由0变1时,分两种情况讨论:一是当C由0变1时,Qo=1,Q=0,G2被封锁,由于G3两个输入都为1,其输出为0。G4门也被封锁。G2门的输出Qo=1。原来的状态不改变。其二是当C由0变1时,Qo=0,Q=1。G2门的两输入均为1,则输出Qo=0,使Q=1。D无论是0还是1也不改变原来的状态。综合上述分析,可看出:C=0时,Q=D,电路不锁存数据,相当于缓冲器。当C=1时,D不影响电路状态。C由0变1时将数据D锁定并保持。直到C由1变回0。

图4.2.2 CT74LS373的引脚图

CT74LS373是一种典型的8位锁存器,OC是三态输出控制,低电平有效。即此端加低电平时输入数据能达到输出端,加高电平时8个输出均呈高阻态,C是锁存器的锁存控制输入端。C下降沿锁存数据并低电平保持,高电不锁存,输入数据直达输出端。每个锁存器只有一个同相输出没有互补输出。符号中输出输入端引线上所标带的数字是该端在芯片上的引脚号。

表4.2.1 CT74373功能表:

输入 输出

OC C D Q

L H H H

L H L L

L L X Qo

H X X Z

表中第1、2行表示在OC为低电平、C为高电平时,Q随D变化,第三行表示OC和C都为低电平Q保持原状态QO不变。第四行表示OC为高电平时输出Q为高组态Z。

4.3 74LS47

图4.3.1 74LS47引脚

1脚:二进制的置位输入端;2脚:使能端;

3脚:五进制置位端输入;4脚:输出

5脚:输出;6脚:使能端;7脚:接地端

8脚:输出端;9脚:输出端;10脚:二进制时钟信号;11脚:五进制时钟信号;12脚:二进制复位输入;13脚:五进制复位输入;14脚:接电源

表4.3.1 74LS47功能表

4.4 显示译码器

现在的许多电器设备上都有显示十进制字符的字符显示器,以直观的显示出电器设备的运行数据。目前广泛使用的字符显示器是七段字符显示器,或称七段数码管。常见的七段数码管有液晶显示数码管和半导体数码管两种。

液晶显示数码管是利用液晶材料的透明度或者显示的颜色受外加电场控制的特点制成的,简称LCD。

半导体数码管是由七段发光二极管(Light Emitting Diode)组成,简称LED。图4.4.1是LED的引脚及其等效电路。

图4.4.1 (a)LED的引脚及其等效电路。

LED产品的种类繁多,有图4.4.1(b)、(c)所示的共阴极电路,还有共阳极电路,常用的数码显示器有BS201,BS202等。

要驱动LED正常的显示十进制数的十个字符,LED前面必须接一个显示译码器。

显示译码器可实现的逻辑功能是:将输入的8421BCD码转化成驱动LED发光的高、低电平信号,驱动LED显示出不同的十进制数字符,下面来讨论显示译码器的组成。

因显示译码器可以驱动LED显示出0~9这十个数字字符,十个数字字符对应十种高低电平的组合状态,要描述这十种高、低电平的组合状态必须用4位二进制数,根据LED发光的特点可得描述显示译码器逻辑功能的真值表如表4.4.1所示。

表4.4.1 显示译码器逻辑功能真值表

4.4.2七段数字显示器发光段组

4.5 四2输入与非门74LS00

图4.5.1 74LS00引脚图

上图中1、2、3组成一个与非门,其中1、2是输入,3为输出。4、5、6组成一个与非门,其中4、5是输入,6为输出。8、9、10组成一个与非门,其中9、10是输入,8为输出。11、12、13组成一个与非门,其中12、13是输入,11为输出。

4.6 四二输入与门74LS08

五设计原理图

一百进制

接线时按照原理图的脚将各个芯片连接,连接 时小心短路。

二十四进制

六.安装工艺

6.1 安装工具

焊烙铁 1个,松香 1盒,焊锡 1卷,剥线钳 1个, 尖嘴钳 1个, 电工刀 1个, 数字万用表 1个, 镊子 1个。

6.2. 安装具体步骤

⑴ 首先要弄清万能板的结构原理,分清各插空是否是等位点;

⑵ 其次合理安排集成块和元器件的位置,尽可能的保持在同一条直线上。

⑶ 注意导线的剖削,剖削导线绝缘层,要求剖削后的芯线长度必须适应连接需要,不应过长或过短,且不应损伤芯线。为了美观剖削导线时不用火烧,用剥线钳或电工刀剖削。具体 *** 作方法如下:按连接所需要长度,用钳头刀口轻切绝缘层,用左手捏紧导线,右手适当用力,即可使端部的绝缘层脱离芯线,用电工刀时,刀口对导线成45度角切入塑料绝缘层。

⑷ 导线的布置,布线要注意整齐不交叉。要求导线竖的要直、横要平,尽量减少悬线的存在。这样便于调整与测试工作的顺利进行。布线具体方法步骤如下:为了最大可能避免错误的出现,应按元件的排列顺序依次布线,同一元件可按管脚的顺序依次布线。

6.3. 安装注意事项

(1) 安装应接触良好,保证被安装元件间能稳定可靠地通过一定的电流。

(2) 应避免元器件损坏的发生。插拔元器件时候要垂直插拔以免造成不必要的机械损坏。

(3) 安装时必须采用绝缘良好的绝缘导线,连线的时候要取好元件与元件的距离。连接的时候线和线之间的交叉尽量的少。

7.调试与测试

7.1调试前的检测

电子安装完毕,通常不宜急于通电,先要认真检查一下。检查内容包括:

(1)连线是否正确

检测的方法通常有两种方法:

a. 根据电路图连线,按元件的排列顺序依次检查

这种方法的特点是,按一定顺序一一检查安装好的线路,同一元件按管脚的顺序依次检察。由此,可比效容易查出错线和少掉的线。

b.按照实际线路来对照原理图电路进行查线

这是一种以元件为中心进行查线的方法。把每个元件引脚的连线一次查清,检查每个去处在电路图上是否存在,这种方法不但可以查出错线和少掉的线,还容易查出多线。

为了防止出错,对于已查过的线,应在电路图上做出标记,最好用指针式万用表“欧姆1”档,或用数字万用表的“二极管”档的蜂鸣器来测量元器件引脚,这样可以同时发现接触不良的地方。

(2)元器件的安装情况

检查元器件引脚之间有无短路;连接处有无接触不良;二极管的极性和集成元件的引脚是否连接有误。

(3)电源供电,信号源连接是否正确。

(4)电源端对地是否有短路的现象。

注:在通电前,断开一根电源线,用万用表检查电源端对地是否存在短路。若电路经过上述检查,并确认无误后,就可以转入调试。

7.2通电观察

把经过准确测量的电源接入电路。观察有无异常现象,包括有无冒烟,是否有异味, 手摸器件是否发烫,电源是否有短路现象等。如果出现异常,应立即断电源,待排除故障后才能再通电。然后测量各路总电压和各器件的引脚的电源电压,以保证元器件正常工作。

7.3调试中注意事项

调试结果是否正确,很大程度受测量正确与否和测量精度的影响。为了保证调试的效果,必须减小测量误差,提高测量精度。为此,需注意以下几点:

(1) 调试前先熟悉各种仪器的使用方法,并仔细加以检查,以避免由于使用仪器不当,或仪器的性能达不到要求,而造成测量结果不准,以至做出错误的判断。

(2) 测量仪器的地线应于被测量仪器的地线连在一起,并形成系统的参考地电位,这样才能保证测量结果的准确性。

(3) 要正确选择测量点和测量方法。

(4) 调试过程中自始至终要有严谨的科学作风,决不可急于求成。在调试过程中,不但要认真观察测量,还要记录并善于进行分析、判断。切不可一遇问题,就没有目的的乱调和乱改接线,甚至把电路拆掉重新安装。这样,不但不能解决问题,相反还会发生更大的故障,甚至损坏元器件及测量仪器。

7.4 故障的排除

新电路板出现故障是常见的,每个学生都必须认真对待。查找故障时,首先要有耐心,还要细心,切忌马马虎虎,同时还要开动脑筋, 认真进行分析、判断。

当电路工作时,首先应关掉电源,再检查电路是否有接错、漏掉线、断线,有没有接触不良、元器件损坏、插错了的元器件、元器件引脚接错等。查找时可借助万用表进行。

对于一个完整的系统电路,迅速而准确的排除故障,需要一定的实际工作经验,对于初学者来说,首先应认真分析电路图,并善于将全电路分解成几个功能块,明确各部分信号传递关系及工作原理。然后根据故障现象及有关测试数据,分析和初步确定故障可能出现的部位,再按上述步骤仔细检查这一部分电路,就可能比较快地找到故障点及故障原因。

8. 元器件清单

(1) CT74LS191——同步十进制计数器(7片);

(2) CT74LS08——四二输入与门(2片);

(3) CT74LS373——8位锁存器(3片);

(4) CT74LS48——BCD七段译码器/驱动器(6片);

(5) CT74L00——四二输入与非门(2片);

(6) BS201——----共阳极数码显示管(6片);

(7) 电阻2个,电阻48KΩ2个, 电阻2 1个;

(8) 开关2个,电源VCC +5V一个;

(9) 导线若干。

(备注:有些元件买不到,因而用相似功能的芯片代替)

9.心得体会

通过几个星期的努力,最终把这次课程设计的任务完成了。这是我们进行的第一个课程设计,让我懂得了很多以前不知道的知识,如万能板的内部结构、相关芯片的引脚功能等等。在设计中,遇到了很多问题,甚至有一些是以前没有见到的。经过同学的帮助和老师的指导,最终克服了那些难题,锻炼了我们的实践动手能力,使我们真正做到了理论与实践的有效结合。

制作电路时,深深体会到连接电路时一定要细仔细,一定要确保每条线路接触性良好。实验线路出现问题时,要耐心一步一步的去检查。在实验测试时,应保持冷静,要有条理,遇问题时要联系书本知识积极思考,同时记录好实验数据。

在这次课程设计过程中,我发现光有理论知识是不够的,还必须懂一些实践中的知识。所以在课程设计的实践中,我们应将实验与课堂教学结合起来,锻炼自己的理论联系实际的能力和实际动手能力。例如:检查和排除故障的能力。

本次课程设计,也培养了我们小组的合作精神,所谓团结就是力量,就是一个再好不过的解释。它不仅为我以后的课程设计打下基础,而且还培养了我们的合作精神和分析问题的能力。

10. 参考文献

[1] 康华光 .电子技术基础(数字部分). 第四版 北京: 高等教育出版社,2005

[2] 阎 石 .数字电子技术基础. 第四版 北京:高等教育出版社,1998

[2] 杨志忠 .数字电子技术. 北京:高等教育出版社,2000

[3] 张建华 .数字电子技术. 北京:机械工业出版社,1994

[4] 李亚伯 .数字电路与系统. 北京:电子工业出版社,1998

[5]陈华容 贾雅琼.数电实验指导书. 湖南:湖南工学院,2005

[6]谢自美 .电子线路设计-实验-测试. 武汉:华中科技大学出版社,2005

[7]赵雅兴 . 数字电路与FPGA. 北京人民邮电出版社,2004

[8]邓勇 邓斌. 数字电路设计完全手册 北京.国防工业出版社,2004

给你讲下思路吧,清念,对于数码管显示,用动态扫描法,对应的二极管亮法对应着一个数字,这个网上随便搜就有了!!在程序中你可以用CASE WHEN语句来实现,而对于外部输入的三个控制信号,也就相当于是一个计数器的控制信号,,你可以这样

entity shuma is

port(clk,reset:in std_logic

start,cs:in std_logic

disp1,disp2:out std_logic_vector(7 downto 0)

led:out std_logic)

end entity

architecture art of shuma is

signal count1:integer range 0 to ......自已算

signal count2,count3:integer range 0 to 99

signal clk_div,led_flag:std_logic

begin

process(clk,reset,count1)----首先进行时钟分频,分成1hz的;

begin

if reset='1' then

count1<段正和=0

elsif clk'event and clk='1' then

if count1=?? then ---这个倍数根据你的FPGA板的时钟频率和1hz进行计算

count1<=0clk_div<=not clk_div

else count<=count+1

end if

end if

end process

process(clk_div,reset,count2) ---数码管计数进程;

begin

if reset='1' then

count2<=0

elsif clk_div'event and clk_div='1' then

if count2=99 then

led_flag<='1'--LED亮的标志;

count2<=0

else count2<握盯=count2+1led_flag<='0'

end if

end if

end process

process(count)--将计数的数值显示在数码管上,,用动态扫描法,对应关系

begin 自已查;

case count is

when 0=>disp1,disp2...

end case

同样的LED和测试程序 就是一个计数器,和上面类似,,,我要去上课啦,,希望以上那些可以帮助你!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12548473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存