ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:234.12KB ,
资源ID:10521776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10521776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计论文.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

课程设计论文.docx

1、课程设计论文广西工学院课程设计(论文)说明书课题名称 数字秒表 系 别 信息与计算科学系 专 业 电子信息科学与技术 班 级 电科081 学 号 200800902019 姓 名 廖玉成 指导教师 韦艳霞 2011年 9月 9日广西工学院课程设计任务书课题名称 数字秒表 系 别 信息与计算科学系 专 业 电子信息科学与技术 班 级 电科081 学 号 200800902019 姓 名 廖玉成 指导教师 韦艳霞 教研室主任 李政林 系 主 任 李栋龙 2011年 9月 9日一、课题的主要内容和基本要求 设计一块数字秒表,能够精确反映计时时间,并完成复位、计时功能。要求:1、秒表计时的最大范围为1

2、小时,精度为0.01秒,并可显示计时时间的分、秒、0.1秒等度量;2、可进行秒表清零;3、可设置秒表的启动/停止开关。按下开关,开始计时,得到并显示计时结果;放开开关,停止计时。二、所需完成的工作1、完成设计的程序编写和编译工作;2、至少完成两个模块的波形仿真和硬件调试;3、完成论文的书写,要求15左右页。三、主要参考文献、资料1. 1.潘松,黄继业. EDA技术实用教程(第二版)M. 北京:北京航空航天大学出版社,19902. 2.刘欲晓,方强,黄宛宁等.EDA技术与VHDL电路开发应用实践M.北京:电子工业出版社,20093. 3.谭会生,瞿遂春等.EDA技术综合应用实例与分析M.西安:西

3、安电子科技大学出版社.2004.四、完成期限 2011年9月9日前摘 要秒表是我们日常生活中常用的测时仪器,它能够简单地完成计时、清零等功能,从一年一度的校际运动会到NBA、世界杯、奥运会,都能看到秒表的身影。本文介绍了用EDA技术和VHDL语言设计的数字秒表,其结构简单,软、硬件相结合可以实现秒表的开始、暂停、复位、清零等功能,具有制作成本低,操作方便,使用寿命长等优点,适用于计时、停车场、火车站等场合。关键词:EDA技术、VHDL语言、秒表、数字、计时AbstractStopwatch is widely used in our daily life of the time test in

4、strument,which can not only finish counting simply, but also clearing function. From the annual school sports meeting to the NBA, World Cup, Olympic Games, you can see the stopwatch here and there. This paper introduces the design of digital stopwatch which uses the EDA technology and VHDL language.

5、 Its structure is simple; also it can achieve the start, pause, reset and clear function as the combination of software and hardware. With the advantages of low cost, convenient operation, long life and so on. And whats more, it is applicable to counting, parking lot, railway stations etc.Keywords:

6、EDA technology; VHDL language; stopwatch; digital; timing1 绪 论21世纪,EDA技术在电子领域发挥的作用重大,成为了现代电子设计的核心。利用EDA技术,大量的设计工作都可以通过计算机虚拟完成,大大了提高了设计效率。目前,EDA技术已在电子产品企业、企事业单位和科研教学单位广泛地使用。大部分高校的电子类相关专业也都开设了EDA的相关课程。EDA的一些工具软件,如multisim7、PSPICE、CAD、Protel、Graphics、Synopsis、Microseism等在教学和实际生产中都得到了广泛的应用。尤其是EDA的仿真技术能打

7、破专业教学上的一些局限性,在激发学生学习兴趣的同时保证了良好的教学效果。数字秒表是采用数字电路实现对分、秒,数字显示的计时装置,广泛用于体育竞赛中。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字秒表的精度,远远超过老式秒表, 秒表的数字化给人们生产生活带来了极大的方便。本文设计一块数字秒表,能够精确反应计时时间,并完成复位、计时功能。秒表计时的最大范围为1小时,精度为0.01秒。秒表可得到计时时间的分、秒、0.1秒等多量,且各多量单位可以正确进位。当复位清零有效时,秒表清零并做好计时准备。在任何情况下,只要按下复位开关,秒表都要无条件地进行复位操作,即使在计时过程中也要无条件地清零

8、。设置秒表启动/停止开关。按下该开关,秒表即刻开始计时,并得到计时结果;放开该开关时,计时停止。2 系统总体设计2.1总体设计思路根据系统设计要求,可以预先设计若干个不同进制的计数器单元模块,然后将其进行例化组合来得到数字秒表系统。要满足数字秒表的精度,首先要获得精确的计时基准信号,这里的系统精度要求为0.01秒,因此必须设置周期为0.01秒的时钟脉冲。1/100秒、秒、分等计时单位之间的进位转换可以通过不同进制的计数器实现,现在分别设计十进制计数器和六进制计数器,每位计数器均能输出相应计时单位计数结果,其中,十进制计数器可以实现0.01秒、0.1秒、1秒和1分为单位的计数,六进制计数器可以实

9、现以10秒、10分为单位的计数。把各计数器级联,即可同时显示白分秒,秒和分钟。停止和启动功能可以通过计时使能信号完成。信号有效时正常计时,否则没有脉冲输入到计数器,从而停止计时。因为一旦按下复位清零开关数字秒表就无条件清零,因此其优先级必须高于计时使能信号。2.2系统框图 数字秒表的系统框图如图1所示。Clk0是周期为0.01秒的时钟脉冲,clr0为复位清零信号,en为计时使能信号,dataout230为输出信号,以不同的时钟周期为单位的计数器所对应的输入信号如表1所示。 Stopwatch inst图1数字秒表系统框图表1 计数单位及对应的输出单位计数时钟周期对应的输出信号Dataout30

10、0.01秒Dataout740.1秒Dataout1181秒dataout151210秒Dataout19161分Dataout232010分2.2.1十进制模块图2 十进制计数器示意图其中,clk为时钟脉冲信号,计数器的状态在时钟上升沿发生改变:clr为复位清零信号,高电平有效;ena为计数使能信号,高电平有效;q30为计数输出信号,输出计数器当前的值;co为进位输出信号,当计数器满时,产生进位,高电平有效。2.2.2六进制模块图3 六进制示意图六进制除了计数的进制不同之外,其余输入和输出信号和十进制的相同。3 硬件设计原理3.1系统逻辑图数字秒表的实现主要是依赖于两个计数器模块的设计:十进

11、制计数器和六进制计数器。通过例化这两个模块和模块之间特定形式的级联就可得到数字秒表,电路原理图如图4所示,其中,单元模块U4、U6为六进制计数器,实现以10秒和1分为单位的计时进位,其余单元模块均为十进制计数器。 图4 数字秒表逻辑图3.2. 引脚分配3.2.1十进制计数器的引脚分配 图5 十进制计数器的引脚分配图3.2.2六进制计数器的引脚分配 图6 六进制计数器的引脚分配图3.3系统硬件要求1. 时钟信号为1HZ;2. FPGA芯片型号EP1K30TC1443 ;3. 8个7段扫描共阴极数码显示管;4. 按键开关(清零、复位、暂停、计时等);3.4硬件调试 将时序仿真正确的文件下载到实验箱

12、中的EP1K30TC1443中,通过合适的管脚分配,将相应的管脚连接起来,验证设计是否完成设计要求:按下计时键时,开始计时,个位数满9向十位进1,十位数满6向前进1,计时的最大范围为1小时,精度为0.01秒;按下清零位开始无条件清零;按下复位键开始复位;按下暂停键计时暂停。4 系统仿真与分析4.1十进制计数器产生的仿真波形 图7-a 十进制计数器产生的仿真波形图7-b 六进制计数器产生的仿真波形从图7-a可以看出,当复位信号clr高电平有效时,计数输出信号无条件清零,被赋值为0(低电平);而从图7-b可以看出,当计数使能信号ena有效时,计数器允许计数,每一个时钟周期的上升沿到达时,计数器都进

13、行加1操作,当计数器计满10个数时,输出进位信号,同时计数器清零并重新计数。4.2六进制计数器产生的仿真波形 图8 六进制计数器产生的仿真波形 六进制计数器与十进制计数器输入输出信号的定义完全相同,唯一不同的是计数器容量的大小差别。当计数使能信号ena有效时,计数器允许计数,每一个时钟周期的上升沿到达时,计数器都进行加1操作,当计数器计满6个数输出进位信号,同时计数器清零并重新计数。结 论 两周过去了,数字秒表的课程设计已经完成,论文也已经写好,总算是有了最终结果。通过这次课程设计,让我收获很多,也深有体会。在整个课程设计过程中,不仅老师为我提供很好的指导,而且同学们给予我热情的帮助,没有他们

14、的援手我就做不成这个课程设计。设计过程中,我的时间主要用在仿真这一步,之前很少用过这个软件,很多地方都得自己慢慢摸索。在这个实践过程中,我深刻的体会到掌握基础知识的重要性,掌握了知识,发现问题和解决问题才成为可能。还有,我们必须要有耐心和毅力。致 谢我要感谢韦艳霞老师的认真指导和宝贵意见。感谢刘青正老师为我提供的DSP试验箱,使我很快的完成硬件的试验。感谢罗承旺同学衷心热情的帮助。感谢电科081班的给过我帮助的同学。如果没有认真负责的老师和热情的同学提供的帮助,我就难以完成这个课程设计,所以我要感谢他们。参考文献1. 潘松,黄继业. EDA技术实用教程(第二版)M. 北京:北京航空航天大学出版

15、社,19902. 刘欲晓,方强,黄宛宁等.EDA技术与VHDL电路开发应用实践M.北京:电子工业出版社,20093. 谭会生,瞿遂春等.EDA技术综合应用实例与分析M.西安:西安电子科技大学出版社.2004. 附 录十进制计数器模块的VHDL实现如下:LIBRARY IEEE; -加载库文件USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 IS -定义实体 PORT( clk:IN STD_LOGIC; -时钟信号 clr:IN STD_LOGIC; -复位信号 ena:IN STD_LOGIC;

16、-计数信号 q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -计数输出信号 co:OUT STD_LOGIC -进位输出信号 );END cnt10;ARCHITECTURE rtl OF cnt10 IS -定义结构体SIGNAL tmp:STD_LOGIC_VECTOR(3 DOWNTO 0); -定义计数器BEGIN PROCESS(clk,clr,ena) -当clk、clr、ena信号发生变化时,启动计数进程 BEGIN IF clr=1THEN -复位清零信号有效 tmp=0000; -任何时刻均将计数器清零 ELSIF clkEVENT AND clk=

17、1THEN -时钟上升沿 IF ena=1THEN -允许计数 IF tmp=1001THEN -计数器满 tmp=0000; ELSE tmp=tmp+1; -计数器加1 END IF; END IF; END IF;END PROCESS;PROCESS(tmp) -当计数器发生变化时,启动输出进程BEGIN IF tmp=0000THEN -计数器状态为0时 co=1; -进位输出信号有效 ELSE co=0; -否则,为0 END IF;END PROCESS;q=tmp; -输出计数器的值END rtl;六进制计数器模块的VHDL实现如下:LIBRARY IEEE; -加载库文件 U

18、SE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 IS -定义实体 PORT( PORT( clk:IN STD_LOGIC; -时钟信号 clr:IN STD_LOGIC; -复位信号 ena:IN STD_LOGIC; -计数信号 q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -计数输出信号 co:OUT STD_LOGIC -进位输出信号 );END cnt6;ARCHITECTURE rtl OF cnt6 IS -定义结构体SIGNAL tmp:STD_LOGIC_

19、VECTOR(3 DOWNTO 0); -定义计数器BEGIN PROCESS(clk,clr,ena) -当clk、clr、ena信号发生变化时,启动计数进程 BEGIN IF clr=1THEN -复位清零信号有效 tmp=0000; -计数器清零 ELSIF clkEVENT AND clk=1THEN -到达时钟上升沿 IF ena=1THEN -允许计数 IF tmp=0101THEN -计数器满 tmp=0000; ELSE tmp=tmp+1; -计数器加1 END IF; END IF; END IF;END PROCESS;PROCESS(tmp) -当计数器发生变化时,启动

20、输出进程BEGIN IF tmp=0000THEN -进位输出信号有效 co=1; ELSE co=0; -否则,为0 END IF;END PROCESS;q=tmp; -输出计数器的值END rtl; 数字秒表顶层模块的VHDL实现如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY stopwatch IS -定义实体 PORT( clk0:IN STD_LOGIC; -定义时钟信号,周期为0.01秒 clr0:IN STD_LOGIC; -定义复位信号 en:IN STD_LOGIC; -定义计时使能信号 dataout:OUT STD_

21、LOGIC_VECTOR(23 DOWNTO 0) -输出计时结果 );END stopwatch;ARCHITECTURE rtl OF stopwatch IS -定义结构体COMPONENT cnt6 IS -定义六进制计数器元件 PORT( clk:IN STD_LOGIC; clr:IN STD_LOGIC; ena:IN STD_LOGIC; q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co:OUT STD_LOGIC );end component cnt6;COMPONENT cnt10 IS -定义十进制计数器元件 PORT( clk:IN ST

22、D_LOGIC; clr:IN STD_LOGIC; ena:IN STD_LOGIC; q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co:OUT STD_LOGIC );END COMPONENT cnt10;SIGNAL co1:STD_LOGIC; -定义计数器元件的进位输出信号SIGNAL co2:STD_LOGIC;SIGNAL co3:STD_LOGIC;SIGNAL co4:STD_LOGIC;SIGNAL co5:STD_LOGIC;BEGIN -元件例化语句,通过计数器的级联实现数字秒表 U1:cnt10 PORT MAP(clk0,clr0,e

23、n,dataout(3 downto 0),co1); U2:cnt10 PORT MAP(co1,clr0,en,dataout(7 downto 4),co2); U3:cnt10 PORT MAP(co2,clr0,en,dataout(11 downto 8),co3); U4:cnt6 PORT MAP(co3,clr0,en,dataout(15 downto 12),co4); U5:cnt10 PORT MAP(co4,clr0,en,dataout(19 downto 16),co5); U6:cnt6 PORT MAP(co5,clr0,en,dataout(23 downto 20);END rtl;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2