大连理工大学数电实验报告Word格式文档下载.docx
- 文档编号:20845724
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:17
- 大小:445.44KB
大连理工大学数电实验报告Word格式文档下载.docx
《大连理工大学数电实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大连理工大学数电实验报告Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
合计
最后得分
一、数字钟课程设计要求:
1、设计一个具有‘时'
、‘分'
、‘秒'
的十进制数字显示(小时从00~23)计时器。
2、整点报时。
两种方法任选其一:
⑴发出仿中央人民广播电台的整点报时信号,即从59分50秒起,每隔2秒钟发出一次低音“嘟”的信号,连续5次,最后一次要求高音“嘀”的信号,此信号结束即达到整点。
“嘟”是500Hz左右的频率输出,“嘀”是1000Hz左右的频率输出
⑵通过LED闪烁实现,闪烁频率及花型可自己设计并在这里说明。
3、手动校时、校分、校秒。
4、定时与闹钟功能,能在设定的时间发出闹铃声。
5、设计一个秒表,显示1%秒到60秒、手动停止。
6、设计一个倒计时,显示小时、分钟、秒。
7、其他创新。
第1题25分,其他每题5分
二、课程设计考试(40分,每题分):
考试题目:
1、实体名□
2、计数器□
3、异步清零□
4、进位输出□
5、仿真图□
6、数码管输出□
7、分频□
8、元件例化□
9、引脚分配□
10、下载□
一、设计要求
1、设计一个数字钟,能够显示当前时间,分别用6个数码管显示小时、分钟、秒钟的时间,秒针的计数频率为1Hz,可由系统脉冲分频得到。
2、整点报时,可通过LED闪烁实现,闪烁频率及花型可自己设计。
3、能够调整小时和分钟的时间,调整的形式为通过按键进行累加。
4、具有闹钟功能,闹钟时间可以任意设定(设定的形式同样为通过按键累加),并且在设定的时间能够进行提示,提示同样可以由LED闪烁实现。
二、设计分析及系统方案设计
数字计时器一般都由振荡器、分频器、计数器、译码器、显示器等几部分组成。
其中振荡器和分频器组成标准秒信号发生器,由不同进制的计数器、译码器和显示器组成计时系统。
秒信号送入计时器进行计数,把累积的结果以‘时'
、的数字显示出来。
‘时'
显示由二十四进制计数器、译码器、显示器构成,‘分'
显示由六十进制计数器、译码器、显示器构成。
原理框图如下:
显示器译码器
显示器
显示器
译码器译码器
译码器
译码器
译码器
三进制计数器
十进制计数器
六进制计数器
六进制十进制计数器计数器
十进制计数器
时十位时个位分十位分个位秒十位秒个位
晶振分频器
三、系统以及模块硬件电路设计
系统的管脚配置如下表所示:
四、系统的VHDL设计
1.系统所用的库:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
2.系统顶层实体名及内容
entitytimeis
port(clk,rst,stop,pls,plm,plh:
instd_logic;
alarmstart:
p,q,r,t,u,v:
outstd_logic_vector(6downto0);
---时钟数码管输出
w,x:
---闹钟小时数码管输出y,z:
outstd_logic_vector(3downto0);
---闹钟分钟输出
alarm:
outstd_logic;
---闹钟开关
reptime:
outstd_logic);
---清零
end;
architecturedataoftimeis
signalclk1s,clk1sp,clk10s,clk1m,clk1mp,clk10m,clk1h,clk1hp,rep:
std_logic;
signala,b,c,d,e,f:
std_logic_vector(3downto0);
signalalarmstart1:
signalalarm1m,alarm10m,alarm1h,alarm10h:
begin
3.时钟部分
process(stop)
begin
casestopis
when'
0'
=>
clk1sp<
=clk1s;
whenothers=>
=pls;
endcase;
endprocess;
clk1mp<
=clk1m;
=plm;
clk1hp<
=clk1h;
=plh;
process(clk,rst)
variablenum:
integerrange0to49999999;
ifrst='
then
num:
=0;
elsifrising_edge(clk)then
ifnum=49999999then
else
=num+1;
endif;
ifnum<
25000000then
clk1s<
='
;
1'
4.时钟校时部分
process(clk1sp,rst)
a<
=
elsifclk1sp'
eventandclk1sp='
ifa=@1then
=a+1;
endif;
ifa=
clk10s<
endprocess;
process(clk10s,rst)
b<
elsifclk10s'
eventandclk10s='
ifb=1then
=b+1;
ifb=
clk1m<
process(clk1mp,rst)
c<
elsifclk1mp'
eventandclk1mp='
ifc=@1then
=c+1;
ifc=
clk10m<
process(clk10m,rst)
d<
elsifclk10m'
eventandclk10m='
ifd=1then
=d+1;
ifd=
clk1h<
process(clk1hp,rst)
e<
elsifclk1hp'
eventandclk1hp='
ife=@1then
elsife=1andf=0then
=e+1;
5.整点报时部分
process(clk1s)
ifclk1s'
eventandclk1s='
if(b=anda=or(b=anda=0)or(b=anda=0)
then
rep<
reptime<
=rep;
6.设置闹钟部分
process(plm,alarmstart)
ifalarmstart='
ifplm'
eventandplm='
ifalarm1m=@1then
alarm1m<
ifalarm10m=1then
alarm10m<
=alarm10m+1;
=alarm1m+1;
=alarm1m;
alarm10m<
=alarm10m;
y<
z<
process(plh,alarmstart)
ifplh'
eventandplh='
ifalarm1h=@1then
alarm1h<
elsifalarm1h=1andalarm10h=0then
=alarm1h+1;
=alarm1h;
alarm10h<
=alarm10h;
7.时钟与闹钟时间对比产生闹钟信号
ifclk1s'
if(c=alarm1mandd=alarm10mande=alarm1handf=alarm10h)then
alarmstart1<
alarm<
=alarmstart1;
8.数码管显示部分
process(a)
caseais
when
when0=>
p<
=0100;
when1=>
=0000;
=1001;
=0010;
when0=>
when1=>
=I1000;
when@0=>
whenothers=>
=0000;
endcase;
process(b)
casebis
q<
process(c)
casecis
r<
process(d)
casedis
t<
process(e)
caseeis
u<
process(f)
casefis
v<
process(alarm1h)
casealarm1his
w<
process(alarm10h)
casealarm10his
x<
5结论以及结果说明
数电课设这门实验着重考察了我们队VHDL语言的理解能力。
本次课程设计很令人满意的,所要求的四个功能都能实现。
实验简单却不失丰富,锻炼了我们的思维能力。
但在程序编写和调试的过程中出现了许多问题,对于process的并行执行的特性以及内部串行执行的特性的了解也不够深刻,所以导致了很多的误区以及错误,调试了很长时间才编译成功。
本次课设由于时间关系没有进行更加深刻的学习与探索,在功能上并不是特别完美,尽如人意,在以后的实践中,一定会多家练习。
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)