数显秒表的设计.docx
- 文档编号:28937449
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:18
- 大小:79.53KB
数显秒表的设计.docx
《数显秒表的设计.docx》由会员分享,可在线阅读,更多相关《数显秒表的设计.docx(18页珍藏版)》请在冰豆网上搜索。
数显秒表的设计
课程设计
课程设计名称:
EDA课程设计
专业班级电科1303
学生姓名:
张渊博
学号:
201316030301
指导教师:
王彩红
课程设计时间:
2016-6-20~2016-7-2
电子信息科学与技术专业课程设计任务书
学生姓名
张渊博
专业班级
电科1303
学号
201316030301
题目
数显秒表的设计
课题性质
工程设计
课题来源
自拟课题
指导教师
王彩红
同组姓名
主要内容
(1)设计一个带数字显示的秒表,可随时清零、暂停和计时。
(2)要求能准确的计时并显示,开机显示00.00.00。
(3)要求计时范围为59分59.99秒。
(4)要求技术精度为0.01s。
任务要求
①根据设计题目要求编写相应程序代码
②对编写的VHDL程序代码进行编译和仿真
③总结设计内容,完成课程设计说明书
参考文献
[1] EDA课程设计指导书.郑州:
河南工业大学,2008
[2] 潘松,黄继业.EDA技术实用教程.北京:
科学出版社,2002
[3] 焦素敏.EDA技术基础.北京:
清华大学出版社,2014
[4]http:
//www.ele-中国电子制作网网站
审查意见
指导教师签字:
王彩红
教研室主任签字:
王彩红2016年6月20日
说明:
本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
1设计任务及要求
(1)设计一个带数字显示的秒表,可随时清零、暂停和计时。
(2)要求能准确的计时并显示,开机显示00.00.00。
(3)要求计时范围为59分59.99秒。
(4)要求技术精度为0.01s。
功能分析:
数显秒表要实现上述要求的功能,首先要具有计时控制器模块、计时模块、分频模块、数据选择器、显示模块。
首先输入1KHZ脉冲首先经分频器10分频,变为计数最小单位0.01s然后经过十进制的毫秒计数器,计满进位给秒计数器然后是分计数器左后送给数码管进行显示。
直到全部计满然位59.59.99后变为00.00.00,重新开始计数。
在计数过程中可以通过计数控制模块可以控制计数暂停、计数、清零的操作。
2设计原理及总体框图
1KHZ输入
分频模块毫秒计数秒计数
计数控制模块分计数
BCD显示数据选择
图一
图二
实现原理:
各模块功能原理如下:
a、计时控制器模块:
计时控制器模块的作用是将按键信号转变为计时器的控制信号。
本设计中设置了两个按键,即启动/暂停和清零贱键,由他们产生计数允许保持和清零信号。
启动/暂停键是多用途键,在“按下—>松开—>再按下—>在松开”的过程中,所起的作用分别是“启动—>暂停—>继续”。
这类电路适合用状态机描述。
b、计时模块
计数器通过对10ms的脉冲计数,达到计时的目的。
由于计数器的范围是0到59分59.99秒,所以计时模块共需要4个十进制计数器和2个六进制计数器。
c、分频模块
时基分频器对1KHZ的脉冲分频产生100HZ的时基,它同十进制计数器的方法一样,因此可直接调用。
d、数据选择器
数据选择器的作用是对10ms、100ms、s和min的6个BCD数进行扫描。
它实际上由6进制计数器、3~6译码器和24选4多路开关3个部分组成。
e、BCD/七段译码器模块
主要用于整体设计秒表的最后显示,由7位组成。
3程序设计
VHDL简介:
VHDL主要用于描述 数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL 系统设计的基本点。
本次设计主要就是采用VHDL语言进行编程。
a、计时控制器模块程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYjishi_kongzhiIS
PORT(CLK,K:
INSTD_LOGIC;
EN:
OUTSTD_LOGIC);
ENDjishi_kongzhi;
ARCHITECTUREONEOFjishi_kongzhiIS
TYPEMY_STATEIS(S0,S1,S2,S3);
SIGNALSTATE:
MY_STATE;
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
CASESTATEIS
WHENS0=>IFK='1'THENSTATE<=S0;
ELSESTATE<=S1;
ENDIF;
WHENS1=>IFK='0'THENSTATE<=S1;
ELSESTATE<=S2;
ENDIF;
WHENS2=>IFK='1'THENSTATE<=S2;
ELSESTATE<=S3;
ENDIF;
WHENS3=>IFK='0'THENSTATE<=S3;
ELSESTATE<=S0;
ENDIF;
WHENOTHERS=>NULL;
ENDCASE;
ENDIF;
ENDPROCESS;
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
CASESTATEIS
WHENS0=>EN<='0';
WHENS1=>EN<='1';
WHENS2=>EN<='1';
WHENS3=>EN<='0';
WHENOTHERS=>EN<='0';
ENDCASE;
ENDIF;
ENDPROCESS;
ENDONE;
b、计时模块程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT6IS
PORT(CLK,CLR,EN:
INSTD_LOGIC;
Q:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);
C6:
OUTSTD_LOGIC);
ENDCNT6;
ARCHITECTUREONEOFCNT6IS
BEGIN
PROCESS(CLR,CLK)
BEGIN
IFCLR='1'THEN
Q<="0000";
ELSIFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
IFQ<"0101"THENQ<=Q+1;
ELSEQ<="0000";
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQ="0101"THENC6<='1';
ELSEC6<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDONE;
c、分频模块程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYfen_pinIS
PORT(CLK,CLR,EN:
INSTD_LOGIC;
Q:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);
C10:
OUTSTD_LOGIC);
ENDfen_pin;
ARCHITECTUREONEOFfen_pinIS
BEGIN
PROCESS(CLR,CLK)
BEGIN
IFCLR='1'THEN
Q<="0000";
C10<='0';
ELSIFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
IFQ="1001"THEN
Q<="0000";
C10<='1';
ELSE
Q<=Q+'1';
C10<='0';
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
ENDONE;
d、数据选择器程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYshu_xuanIS
PORT(CLK:
INSTD_LOGIC;
MSL,MSH,SL,SH,ML,MH:
INSTD_LOGIC_VECTOR(3DOWNTO0);
Q:
BUFFERSTD_LOGIC_VECTOR(2DOWNTO0);
OUT1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
SEG:
OUTSTD_LOGIC_VECTOR(5DOWNTO0));
ENDshu_xuan;
ARCHITECTUREONEOFshu_xuanIS
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFQ<"101"THENQ<=Q+1;
ELSEQ<="000";
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(Q)
BEGIN
CASEQIS
WHEN"000"=>OUT1<=MSL;SEG<="111110";
WHEN"001"=>OUT1<=MSH;SEG<="111101";
WHEN"010"=>OUT1<=SL;SEG<="111011";
WHEN"011"=>OUT1<=SH;SEG<="110111";
WHEN"100"=>OUT1<=ML;SEG<="101111";
WHEN"101"=>OUT1<=MH;SEG<="011111";
WHENOTHERS=>NULL;
ENDCASE;
`ENDPROCESS;
ENDONE;
e、BCD/七段译码器模块程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDISPLAYIS
PORT(D:
INSTD_LOGIC_VECTOR(3DOWNTO0);
X:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDDISPLAY;
ARCHITECTUREONEOFDISPLAYIS
BEGIN
PROCESS(D)
BEGIN
CASEDIS
WHEN"0000"=>X<="0111111";
WHEN"0001"=>X<="0000110";
WHEN"0010"=>X<="1011011";
WHEN"0011"=>X<="1001111";
WHEN"0100"=>X<="1100110";
WHEN"0101"=>X<="1101101";
WHEN"0110"=>X<="1111101";
WHEN"0111"=>X<="0100111";
WHEN"1000"=>X<="1111111";
WHEN"1001"=>X<="1101111";
WHENOTHERS=>X<="0000000";
ENDCASE;
ENDPROCESS;
ENDONE;
4编译及仿真
软件编译:
本次编译所需软件环境有Windows系统平台及其QuartusII软件环境。
仿真波形图如下:
A、Clk第一次按下的仿真波形如图三所示:
1号位置
图三
分析:
此图加上脉冲之后开始计数当到大一号位置后增加了一个KEY脉冲,此后计数暂停。
说明当运行程序后按下第一次按键计数停止。
B、Clk第二次按下的仿真波形如图四所示:
2号位置
图四
分析:
当时间到达2号位置之后又加的一个KEY脉冲,此后计数开始继续。
说明当程序运行后第二次按下按键能够继续计数。
C、进位仿真波形如图五所示:
3号位置
图五
分析:
当程序运行到达3号位置,也就是最小单位到达9之后,可以从波形图中看出最小单位产生进位十位变为1,个位重新开始计数。
此图说明程序进位正确。
4号位置
D、CLR清零仿真波形如图六所示:
图六
分析:
当程序运行到四号位置之后,外加了一个CLR的清零信号,可从波形图上看出添加清零信号之后所有的结果都被清零然后重新开始计时。
说明程序的清零功能正确。
5硬件调试与结果分析
调试步骤:
(1)按照锁定的引脚位置及功能作用连接线路。
(2)下载程序
(3)打开电源观察程序运行结果
调试结果及分析:
本次硬件验证过程还算顺利,在此过程中出现了一个小的问题,上电后最小计时位跟各位工作能够正常的计时进位,可是秒位计满之后往分钟位进的时候出现问题,每次进位分钟位也会跳变,但是结果不正确显示的时乱码。
然后就检查了程序,做了一遍软件波形仿真发现波形正确。
后来就按照锁定引脚顺序的检查线路,发现也没连接错误。
最后没办法把分钟部分单独拿出来进行调试,才发现是引脚锁定时高位跟低位弄反了。
经过改正之后又重新上电运行,结果非常完美。
按钮按一次计时暂停,再按一次继续计时,当清零按钮按下全部计时结果都变为零。
6参考文献
[1] EDA课程设计指导书.郑州:
河南工业大学,2008
[2] 潘松,黄继业.EDA技术实用教程.北京:
科学出版社,2002
[3] 焦素敏.EDA技术基础.北京:
清华大学出版社,2014
[4]http:
//www.ele-中国电子制作网网站
心得体会
经过本次课程设计,让我进一步的复习和深入的对EDA技术有了进一步的了解。
虽然EDA课程结束到做EDA课程设计之间隔了整整一个学期的间隔,但是并没有影响我学习EDA技术的热情。
重新拿起课本尽管好多地方及细节都及得不太清楚,但总体大的框架还是记得的。
在重新学习这门课程的过程中也遇到了不少的问题,比如有些功能语句的使用、端口的定义、有关的语法问题等等。
后来经过在网上查阅资料,翻阅相关的书籍、询问同学最终得以把问题解决。
在制作项目的具体过程中总体还算顺利,之间也会遇到一些小的问题但是也都能通过自己分析查找得以解决。
最后想说的就是通过本次的课程设计收获还是挺大的,不仅又重新学习了一遍EDA这门课程,在这个过程中也学到了很多之前上课学不到的而且又非常实用东西。
非常感谢学校给安排这样一个机会,让我们真正的学以致用,不再是单纯的理论知识。
这样既巩固了我们的理论,又增强了我们的动手能力‘
目录
第一章总论1
1.1项目概况1
1.2可行性研究报告编制单位4
1.3承办单位简介4
1.4项目区概况5
1.5可行性研究依据9
1.6可行性研究的范围10
第二章项目建设背景及必要性11
2.1项目建设背景11
2.2项目建设必要性14
第三章项目建设地址及条件17
3.1项目建设地址17
3.2项目建设条件17
第四章工程建设方案22
4.1项目设计依据与原则22
4.2工程规划方案23
4.3工程技术方案25
4.4给排水工程30
4.5供电工程31
4.6采暖及通风35
4.7燃气设计37
第五章环境保护38
5.1环境保护标准38
5.2环境影响初步分析38
5.3施工期环境保护措施39
5.4运营期间环境保护措施41
5.5绿化42
5.6环境影响评价43
第六章节能44
6.1依据标准、法律、法规和规范44
6.2能耗状况和能耗指标分析44
6.3节能措施45
第七章劳动安全卫生消防48
7.1设计依据48
7.2危害因素及危害程度分析48
7.3安全设施及措施48
7.4消防设施50
第八章抗震设防52
8.1编制依据52
8.2建设场地条件52
8.3建筑结构概况与抗震设计54
第九章组织机构与项目管理56
9.1组织机构56
9.2项目管理56
第十章项目建设实施进度59
10.1项目建设期59
10.2项目建设实施规划59
第十一章工程招标60
11.1招标依据60
11.2招标投标的基本原则60
11.3项目概况61
11.4项目提前招标情况62
11.5项目招标内容62
第十二章投资估算与资金措筹65
12.1建设投资估算的范围65
12.2投资估算依据65
12.3投资估算编制内容66
12.4资金筹措70
第十三章效益分析71
13.1项目实施对社会的影响分析71
13.2项目与所在地互适性分析71
13.3社会风险分析72
13.4社会评价结论74
第十四章社会稳定风险评估分析75
14.1社会稳定风险评估因素75
14.2项目建设社会稳定风险分析76
第十五章结论与建议78
15.1研究结论78
15.2建议78
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 秒表 设计