秒表设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑龙江科技学院
课程设计任务书
一、设计题目:秒表设计
二、设计的主要内容:获得一个精确的100Hz计时脉冲,除此之外,整个秒表还需要一个启动信号和一个归零信号,以便能够随时启动及停止。
秒表有六个输出显示,分别为百分之一秒,十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之对应,6个个计数器全为BCD码输出,这样便于同时显示译码器的连接。
当计时达60分钟后,蜂鸣器鸣响10声。
指导教师:
日期:
教师评语:
评阅成绩:
评阅人:
日期:
摘要
根据现代化人类的运动和高时间精度的生产需求,设计和开发了进行精确时间管理系统——秒表。
该系统是典型的信息管理系统,基于B/S结构,采用M i c r o s o f t V i s u a l S t u d i o2005为开发工具,核心语言是C#,采用S Q L S e r v e r2000创建数据库。
本系统主将整个计时控制芯片分成5个子模块:键输入子模块,时钟产生子模块,控制子模块,定时计数子模块和显示子模块。
通过需求分析、系统设计、开发、测试等过程,实现了对时间的高度精确的获得,使运动比赛更方便,准确。
关键词:时间管理系统,B/S结构,运动。
第1章秒表系统的概述
1.1秒表的应用
秒表计时器用于体育竞赛及各种要求有较精确时的各领域。
此计时器是用一块专用的芯片,用V H D L语言描述的。
它除开关、时钟和显示功能以外,它还包括1/100s计时器所有的控制和定时功能,其体积小,携带方便。
现代化的高速发展使得人们生产生活所需要的精确器件越多,所以时间上都必须精确,秒表的开发也便得重要起来。
1.2 秒表设计的目的
经过一学期的v h d l语言的学习,为了加深对这门语言的了解与应用。
通过9天的课程设计,利用自己所学的知识和各种相关文献的查阅,选择了秒表的设计的课题,写出相应的代码后,利用M a x p l u sⅡ进行调试、仿真,发现并改正错误,并记录调试成功后的波形图文件。
1.3 秒表的功能
(1)精度应大于1/100s
(2)计时器的最长计时时间为1小时
在一般的短时间计时应用中,1小时应该足够了。
为此需要一个6位显示器,显示最长时间为59分59.99秒。
(3)设置复位和启/停开关
复位开关用来使计时器清0,并作好清0准备。
启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。
复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程应立即终止,并对计时器清零。
第2章秒表的设计思想
2.1 秒表的设计要求
秒表的逻辑结构比较简单,它主要由、显示译码器、分频器、十进制计数器、报警器和六进制计数器组成。
在整个秒表中最关键是如何获得一个精确的100H z计时脉冲,除此之外,整个秒表还需要一个启动信号和一个归零信号,以便能够随时启动及停止。
秒表有六个输出显示,分别为百分之一秒,十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之对应,6个个计数器全为B C D码输出,这样便于同时显示译码器的连接。
当计时达60分钟后,蜂鸣器鸣响10声。
2.2结构组成:
1、四个十进制计数器:用来分别对百分之一秒、十分之秒、秒和分进行计数;
2、两个6进制计数器:用来分别对十秒何时分进行计数;
3、分频率器:用来产生100H z的计数脉冲;
4、显示译码器:完成对显示译码的控制。
2.3秒表的设计内容与步骤
1、根据电路特点,将此设计电路分成若干模块,规定每个模块的功能和各个模块之间的接口,然后再将各个模块和起来联试。
2、了解软件各元件管理层次含义,以及模块元件之间的连接概念,对不同目录下的统一设计如何融合。
3、适配划分前后的仿真内容有何不同概念,仿真信号对象有何
不同。
4、安适配划分的管脚定位,同相关功能块元件之间的连接概念。
5、所有模块用V H D L语言描述。
第3章秒表的详细设计1.秒表计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,并且在数码管上显示数值。
2.时间设置:手动调节秒表的停止启动,可以对秒表任意启动停止,这样使秒表真正具有使用功能。
我们可以停止一次就记一次数。
3.清零功能:r e s e t为复位键,低电平时实现清零功能,高电平时正常计数。
可以根据我们自己任意时间的复位。
4.蜂鸣器在整点时有报时信号产生,蜂鸣器报警。
产生“滴答.滴答”的报警声音。
第4章秒表的仿真波形图1.分频器波形图
2.十进制计数器波形图
3.六进制计数器波形图
4.报警器波形图
5.数据选择和数码管选择波形图
6.数码管驱动波形图
秒表设计程序:
1.分频器代码:
将 2.5M H z脉冲变成100H z
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
e n t i t y d i v i s
p o r t(c l r,c l k:i n b i t;q:b u f f e r b i t);
e n d d i v;
a r c h i t e c t u r e a o f d i v i s
s i g n a l c o u n t e r:i n t e g e r r a n g e0t o12499;
b e g i n
p r o c e s s(c l r,c l k)
b e g i n
i f(c l k='1'a n d c l k'e v e n t)t h e n
i f c l r='1't h e n
c o u n t e r<=0;
e l s i
f c o u n t e r=12499t h e n
c o u n t e r<=0;
q<=n o t q;
e l s e
c o u n t e r<=c o u n t e r+1;
e n d i f;
e n d i f;
e n d p r o c e s s;
e n d a;
2.十进制计数器代码:
原理为加法计数器,计数十时由c o u t进位
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
u s e i e e e.s t d_l o g i c_u n s i g n e d.a l l;
e n t i t y c o u n t10i s
p o r t(c l r,s t a r t,c l k:i n b i t;
c o u t:o u t b i t;
d a o u t:o u t s t d_l o g i c_v
e c t o r(3d o w n t o0));
e n d c o u n t10;
a r c h i t e c t u r e a o f c o u n t10i s
s i g n a l t e m p:s t d_l o g i c_v e c t o r(3d o w n t o0);
b e g i n
p r o c e s s(c l k,c l r)
b e g i n
i f c l r='1't h e n
t e m p<="0000";
c o u t<='0';
e l s i f(c l k'e v e n t a n d c l k='1')t h e n
i f s t a r t='1't h e n
i f t e m p>="1001"t h e n
t e m p<="0000";
c o u t<='1';
e l s e
t e m p<=t e m p+1;
c o u t<='0';
e n d i f;
e n d i f;
e n d i f;
d a o u t<=t
e m p;
e n d p r o c e s s;
e n d a;
3.六进制计数器代码:
原理为加法计数器,计数六时由c o u t进位。
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
u s e i e e e.s t d_l o g i c_u n s i g n e d.a l l;
e n t i t y c6i s
p o r t(c l r,s t a r t,c l k:i n b i t;
d a o u t:o u t s t d_l o g i c_v
e c t o r(3d o w n t o0);
c o u t:o u t s t d_l o g i c);
e n d c6;
a r c h i t e c t u r e a o f c6i s
s i g n a l t e m p:s t d_l o g i c_v e c t o r(3d o w n t o0);
b e g i n
p r o c e s s(c l k,c l r)
b e g i n
i f c l r='1't h e n
t e m p<="0000";
c o u t<='0';
e l s i f(c l k'e v e n t a n d c l k='1')t h e n
i f s t a r t='1't h e n
i f t e m p>="0101"t h e n
t e m p<="0000";
c o u t<='1';
e l s e
t e m p<=t e m p+1;
c o u t<='0';
e n d i f;
e n d i f;
e n d i f;
e n d p r o c e s s;
d a o u t<=t
e m p;
e n d a;
4.报警器代码:
当记时到一小时时,报警器报警,并响十声。
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
u s e i e e e.s t d_l o g i c_u n s i g n e d.a l l;
e n t i t y a l a r m1i s
p o r t(c l k,I:i n s t d_l o g i c;
q:o u t s t d_l o g i c);
e n d a l a r m1;
A R C H I T E C T U R E a O F a l a r m1I S
s i g n a l n:i n t e g e r r a n g e0T O20;
s i g n a l q0:s t d_l o g i c;
b e g i n
p r o c e s s(c l k)
b e g i n
i f(c l k='1'a n d c l k'e v e n t)t h e n
i f i='0't h e n
q0<='0';
n<=0;
e l s i f(n<=19a n d i='1')t h e n
q0<=n o t q0;
n<=n+1;
e l s e
q0<='0';
e n d i f;
e n d i f;
e n d p r o c e s s;
q<=q0;
E N D a;
5.数据选择和数码管选择模块代码:
其功能是选择个计数端口来的数据,当相应的数据到来时数据选择器选择器数据后输出给数码管,并由数码管显示。
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
U S E i e e e.s t d_l o g i c_U N S I G N E D.a l l;
e n t i t y s e l t i m e i s
p o r t(c l r,c l k:i n b i t;
d a i n0,d a i n1,d a i n2,d a i n3,d a i n4,d a i n5:i n
s t d_l o g i c_v e c t o r(3d o w n t o0);
s e l:o u t s t d_l o g i c_v e c t o r(2d o w n t o0);
e n d s e l t i m e;
a r c h i t e c t u r e a o f s e l t i m e i s
s i g n a l t e m p:i n t e g e r r a n g e0t o5;
b e g i n
p r o c e s s(c l k)
b e g i n
i f(c l r='1')t h e n
d a o u t<="0000";
s e l<="000";
t e m p<=0;
e l s i f(c l k='1'a n d c l k'e v e n t)t h e n
i f t e m p=5t h e n t e m p<=0;
e l s e t e m p<=t e m p+1;
e n d i f;
c a s e t e m p i s
w h e n0=>s e l<="000";d a o u t<=d a i n0;
w h e n1=>s e l<="001";d a o u t<=d a i n1;
w h e n2=>s e l<="010";d a o u t<=d a i n2;
w h e n3=>s e l<="011";d a o u t<=d a i n3;
w h e n4=>s e l<="100";d a o u t<=d a i n4;
w h e n5=>s e l<="101";d a o u t<=d a i n5;
e n d c a s e;
e n d i f;
e n d p r o c e s s;
e n d a;
6.数码管驱动模块代码:
数码管驱动电路,驱动数码管发光。
l i b r a r y i e e e;
u s e i e e e.s t d_l o g i c_1164.a l l;
e n t i t y d e l e d i s
p o r t(n u m:i n s t d_l o g i c_v e c t o r(3d o w n t o0);
e n d d e l e d;
a r c h i t e c t u r e a o f d e l e d i s
b e g i n
p r o c e s s(n u m)
b e g i n
c a s e n u m i s
w h e n"0000"=>l e d<="0111111";-----------3F H
w h e n"0001"=>l e d<="0000110";-----------06H
w h e n"0010"=>l e d<="1011011";-----------5B H
w h e n"0011"=>l e d<="1001111";-----------4F H
w h e n"0100"=>l e d<="1100110";-----------66H
w h e n"0101"=>l e d<="1101101";-----------6D H
w h e n"0110"=>l e d<="1111101";-----------7D H
w h e n"0111"=>l e d<="0100111";-----------27H
w h e n"1000"=>l e d<="1111111";-----------7F H
w h e n"1001"=>l e d<="1101111";-----------6F H
w h e n o t h e r s=>l e d<="0000000";-----------00H
e n d c a s e;
e n d p r o c e s s;
e n d a;
参考文献
[l]《基于Q u a r t u sⅡ的F P G A/C P L D设计》电子工业出版社
[2]《C P L D系统设计技术入门与应用》电子工业出版社
[3]《E D A技术基础》湖南大学出版社
[4]沈明山《E D A技术及可编程器件应用实训》科学出版社
[5]朱正伟《E D A技术及应用》清华大学出版社
……………。