eda_多功能电子钟实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电子技术课程设计报告——多功能数字钟电路设计
专业班级:信息10-2
姓名:
学号:
开课系室:
设计日期:2012年10月22日~26日
设计题目:多功能数字钟电路设计
一、设计任务及要求:
1.设计任务:
利用语言设计多功能数字钟,使其具有显示时—分—秒、整点报时、小时和分钟可调等基本功能。
2.设计要求:
设计一个多功能数字钟,要求显示格式为时—分—秒,整点报时,在整点前5秒开始按照1的频率闪烁,过整点后,停止闪烁。
系统时钟选择时钟模块的50,要得到1HZ的时钟信号,必须对系统时钟进行分频。
调整时间的按键用按键模块的s1和s2,s1调节小时,每按下一次,小时增加一个小时,s2调整分钟,每按下一次,分钟增加一分钟。
另外用s8按键作为系统时钟复位,复位后全部显示00-00-00。
3.输出资源说明:
a)输入信号:按键s1,s2,s8(s1按下时为0,松开时为1,其他按键
类似)。
b)外部输入脉冲信号时钟源(50),经适当分频后供计数器使用。
c)输出8组显示译码信号(每组7个输出端),分别接到外部的7个七
段数码管上,分别显示小时、分钟、秒,显示格式小时-分钟-秒。
d)输出一个高低电平信号,接到外部的1个指示整点的灯。
(输出高电
平时,对应的灯亮)
错误!未指定顺序。
多功能数字钟控制器结构框图
根据如上说明,本设计的主要任务和设计要求是: 1、
按照现代数字系统的模块化设计方法,提出简易洗衣机控制电路设
计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码等模块化子系统的设计方案。
2、
在的设计环境中,采用原理图和语言混合输入的方法,完成系统的
顶层设计、各子系统的模块化设计。
分别完成各个基于语言实现的子模块(包括分频器、计数器、主控制器、扫描显示译码四部分)的逻辑功能仿真,并对顶层设计进行功能仿真。
3、
在2步的基础上,用下载电缆通过口将对应的文件加载到中。
观察
实验结果是否与自己的编程思想一致。
二、设计原理与方案:
设计多功能数字钟首先要知道钟表的工作原理,整个钟表的工作应该是在1的信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从0-23。
在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0-59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(码)显示个位,对
S 2 S 8
S 1
于小时因为它的范围是从0-23,所以可以用一个2位的二进制码显示十位,用4位二进制码()显示个位。
错误!未指定顺序。
我的多功能数字钟控制器结构框图
(一)、分频器设计方案:
a)分频器原理框图:
b)工作原理说明:
本模块为分频模块,输入端为(50)信号,通过条件语句进行三次分
频,分为1,1000,3,其中1为1频率信号,1000为1频率信号,3
为2频率信号。
(二)、计数器及控制器设计方案:
a)计数器控制器原理框图
b) 工作原理说明:
本模块既包含了控制模块又包含了计数模块,有4个输入端分别为11283,它们的作用分别是输入1频率信号,调整小时信号,调整分钟信号,2频率信号。
有4
个输出端分别为,,,,它们的作用分别是控制灯,输出当前系统时间(小时-分钟-秒)。
在s128,都为1(即按键弹起时),程序块自动执行时钟计时功能;当s1按下(即s1为0)时,(控制小时)加1,当s2按下(即s2为0)时,(控制分钟)加1;当系统时间大于23-59-55时,指示灯开始闪烁。
(三)、数码显示器设计方案:
a) 原理框图
b) 原理说明:
本模块有4个输入端口1000,[5..0],[5..0]和[5..0],它们分别接收来至分频模块的1频率和来至计数控制模块的[5..0],[5..0],[5..0]信息,有2个输出端口[7..1]和[3..1][7..1]的七位端口分别接七段数码管的a 、b 、c 、d 、e 、f 、g 七个端口,[3..1]的三位端口分别接三八译码器的三位输入端口;[3..1]在000~111之间按照1的频率不断循环,通过三八
译码器控制的8个数码管从右向左分别点亮,由于数码管扫描频率较
高,人眼无法分辨数码管的亮灭,从视觉上我们看到8位数码管都是
亮的。
[3..1]的三位选通端口与显示时间格式对应关系如下:
三、电路设计、仿真与实现:
错误!未指定顺序。
电路设计全程图
符号说明:1,1,1000,3:分别为50,1,1,2的频率信号;
2111213:分频计数变量;
3.s128:控制输入端,作用分别为调整小时,分钟,复位;
4.:时间变量;
5整点报时闪烁灯;
6:数码管七段码输出端;
7:3-8译码器的三位选通端;
(一)、分频设计实现:
a)分频器原理图
b)分频程序:
(110003);
;
110003;
110003,del;
[31:0] 111213;
@( )
(1150000000)
1=111=0
1=01111+1
(1250000)
1000=112=0
1000=01212+1
(1325000000)
3=113=0
3=01313+1
c)仿真波形:
错误!未指定顺序。
分频功能仿真
4图中标注的为50的频率信号,时间周期为20,占空比为50%,分
频输出信号虽然达到了分频的要求,但占空比却远远低于50%,在本
次实习中没有反作用,如有要求非常严格的设计,则需要对信号分频
程序进行调整。
(二)、计数控制设计实现:
a)计数器及控制器原理图:
clk1 s1 s2 s8 clk3
del hour[5..0] minute[5..0] second[5..0]
counter
inst1 b)控制计数程序:
(13128);
11283;
del;
[5:0] ;
del;
[5:0] 2;
@( 1)
(s128)
1;
(!(60))判断秒
1;
0;
(!(60)) 判断分
1;
(24)0;
0;
(59>=56) 倒计时
2=1;
2=0;
(1) 1;
(2) 1;
235950
( 3)
(21)deldel;
del=0;
c)仿真波形图:
错误!未指定顺序。
计时功能仿真
从仿真波形图可以看出当s128均为高电平时,每过1秒(即1出现一次高电平)自动加1,计时功能正常运行。
错误!未指定顺序。
复位功能
从仿真波形图可知:当按下s8(复位键)之前,时间为16时33分44秒,按下复位键后时间自动归零,重新从0时0分0秒开始计时。
错误!未指定顺序。
时间调整功能
从4 时间调整功能仿真图可知,在时间调整前(s2按下)系统时间为16时34分19秒,s2按下后,时间自动调整为16时35分19秒,分钟加1;s1按下前时间为16时35分21秒,按下后时间自动调整为17时35分21秒,小时加1;
错误!未指定顺序。
灯整点报时功能
从5 整点报时功能仿真图可知,当时间达到16时59分55秒时,指示灯开始按照1的频率闪烁,过整点后,停止闪烁,系统时间调整为17时整。
错误!未指定顺序。
24时自动归零功能
从9 24时自动归零功能可知,当系统时间为23时59分59秒时,过一秒钟,系统时钟回归零,重新计时!
(三)、数码显示设计实现:
a)输出显示器原理图
clk1000
hour[5..0] minute[5..0] second[5..0]av g[7..1] sel[3..1]
display
inst2 b)程序:
(1000);
1000;
[5:0] ;
[7:1] ;
[3:1] ;
[7:1] ;
[4:1] t1;
[3:1] ;
@( 1000)
(<8)
()
3'b111110;
3'b000110;
3'b010110;
3'b011110;
3'b101110;
3'b110110;
1=1100;
<1;
3'b000;
(t1)
4'b00007'b1111110;
4'b00017'b0110000;
4'b00107'b1101101;
4'b00117'b1111001;
4'b01007'b0110011;
4'b01017'b1011011;
4'b01107'b1011111;
4'b01117'b1110000;
4'b10007'b1111111;
4'b10017'b1111011;
7'b0000001;
c)模块仿真:
错误!未指定顺序。
数码显示功能
从7 仿真图形可知,当系统时间设定为18时34分23秒时,[3..1]三
位端口与[7..1]七位端口对应关系如下:
[3..1]端口与[7..1]对应的显示量
000 “”3
001 “”2
010 “—”
011 “”4
100 “”3
101 “—”
110 “”8
111 “”1
在数码管上显示为:18-34-23
(四)、结果;实际及测试结果
P
IN_R16V C C s 1
I N P U T P IN_P 14V C C s 2
I N P U T P IN_M 15
V C C
s 8
I N P U T P IN_J3
V C C
c l k
I N P U T P IN_M 4
P IN_F3P IN_F4
s e l [3..1]
O U T P U T
P IN_K5
P IN_K4P IN_L4P IN_L5P IN_H4P IN_G4P IN_N4
a v g [7..1]
O U T P U T
P IN_L14
d e l O U T P U T
clk clk1clk1000
clk3
f enpin
inst clk1s1
s2s8clk3
del
hour[5..0]minute[5..0]second[5..0]
counter
inst1
c l k 1000
h o u r [5..0]
m i n u t e [5..0]
s e c o n d [5..0]
a v g [7..1]
s e l [3..1]
d i s p l a y
i n s t 2
错误!未指定顺序。
多功能电子钟综合全图
在将整合程序下载进开发板前,需将所有程序模块都转化为图形模块存入图
形文件库后,新建 ,调出图形模块文件进行连接,连接编译完毕后,进行管脚分配,如下(各管脚功能下附件1):
错误!未指定顺序。
管脚分配图
仿真波形:
下载调试结果:
下载调试结果符合波形仿真结果,符合设计要求。
四、分析与讨论:
1.总结:
短短几天的实习已经结束了,在这次的实习中更进一步掌握了利用语言进行电路设计、仿真与综合,学习了如何利用该语言进行模块化、分层次设计,更加熟练的掌握了软件的使用方法。
在这次的实习中同时遇到不少的问题:有显示问题,还有指示灯闪烁的问题。
显示的问题是:当将程序下载到开发板上后,时间显示的顺序和正常的电子表显示顺序是相反的,显示顺序相反说明利用3-8译码器对8个数码管进行选通时,选通的顺序是相反的,只需将下的条件翻转过来即可。
指示灯的问题是:开始的时候指示灯一直亮,没有闪烁的情况出现,源程序中控制闪烁的条件有两条:
1.(59>=56) 2=1;
2=0;
2. ( 3)
(21)deldel;
del=0;
在初始设计程序的时候由于逻辑的混乱使在符合条件的情况下为1,认为只要符合条件就亮,忽略了闪烁的问题,而闪烁的关键还在于“;”句,由于设置了二分频程序,所以在上面的( 1)语句运行一次的时候,( 3)语句运行2次,也就是有每当2传递一个数给( 3)的时候,( 3)要对该数使用两次,而2在这2次中不变,要变的只能是(从0—1—0—1—0—1—……)可以从中发现下次的值总是与上次相反,于是可以用取反语句进行操作来解决该问题!
在对顶层文件进行全编译的时候出现了: "[5..0]" "2"
""[4..0]" ( 1)"这个问题,通过对字面的理解可知是由于输入输出的位数不配套引起的问题当修改文件中[4:0]为[5:0]的时候,问题得到解决,需要注意的是:当修改了管脚的位数后需要重新编译,重新构造图形模块。
纵使有很多问题,但最终都被解决了,虽然有的问题是和同学讨论解决的,但还是很高兴的。
在这些错误中也透露了自己对现有知识掌握的不牢固,对很多概念仍处于朦胧状态。
通过这几天的实习,虽然有点累,但实习完后发现自己对以前学过的东西掌握的更牢固了,而且在实习中还弥补了一些自己欠缺的知识,掌握了对于像多功能钟这种现代数字系统的模块化设计方法。
模块化设计方法的优点在于其简洁性,但是在最终电路确定下来之前应尽量减少模块间的联系,如果模块间重叠使用的层次过多,在修改或增加或减少一个变量的情况下,会引起其他模块的未知变化。
2.建议
i.如果能开一门关于语言的课程就好了,让大家能够很好的掌握这门语
言,好多知识通过自学是很难意识到的,就像这次实习有些同学设计
的程序出错就是一个点的问题,如果设计时注意了,也就不会出现这
种问题。
相信如果有老师专门教授这门课,大家的水平会更好。
ii.我认为应该建立一个数电实验数据库,数据库内存放一些题目,就像计算机等级考试题库一样,课程设计时,大家的题目不一样(起码自己
所在班级内不一样),应该会减少那些偷懒的同学,强迫他们学习。
iii.增加实习时的指导老师,我们一个专业才一位老师,老师的负担很大,同学们的问题也不能得到及时解决。
iv.更改实习的时间,中间休息了一个月回来后好多知识都忘记了,即使复习也没刚考完试那会掌握的熟练。
附件1(管脚分配图):。