《eda多功能电子钟实习报告.docx》由会员分享,可在线阅读,更多相关《eda多功能电子钟实习报告.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、eda多功能电子钟实习报告 数字电子技术课程设计报告 多功能数字钟电路设计 专业班级: 信息10-2 姓 名: 学 号: 开课系室: 设计日期:2012年10月22日 26日设计题目:多功能数字钟电路设计一、设计任务及要求:1设计任务:利用 语言设计多功能数字钟,使其具有显示时分秒、整点报时、小时和分钟可调等基本功能。2设计要求:设计一个多功能数字钟,要求显示格式为 时分秒,整点报时,在整点前5秒开始按照1的频率闪烁,过整点后,停止闪烁。系统时钟选择时钟模块的50,要得到1的时钟信号,必须对系统时钟进行分频。调整时间的按键用按键模块的1和2,1调节小时,每按下一次,小时增加一个小时,2调整分钟
2、,每按下一次,分钟增加一分钟。另外用8按键作为系统时钟复位,复位后全部显示00-00-00。3 输出资源说明:a) 输入信号:按键s1,s2,s8(s1按下时为0,松开时为1,其他按键类似)。b) 外部输入脉冲信号时钟源(50),经适当分频后供计数器使用。c) 输出8组显示译码信号(每组7个输出端),分别接到外部的7个七段数码管上,分别显示小时、分钟、秒,显示格式 小时-分钟-秒。d) 输出一个高低电平信号,接到外部的1个指示整点的灯。(输出高电平时,对应的灯亮)1S2S8控制器计数器七段数码管显示(8个)输出显示译 码50倒计时指示灯S1 1 多功能数字钟控制器结构框图根据如上说明,本设计的
3、主要任务和设计要求是:1、 按照现代数字系统的模块化设计方法,提出简易洗衣机控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码等模块化子系统的设计方案。2、 在的设计环境中,采用原理图和语言混合输入的方法,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于语言实现的子模块(包括分频器、计数器、主控制器、扫描显示译码四部分)的逻辑功能仿真,并对顶层设计进行功能仿真。 3、 在2步的基础上,用下载电缆通过口将对应的文件加载到中。观察实验结果是否及自己的编程思想一致。二、设计原理及方案:设计多功能数字钟首先要知道钟表的工作原理,整个钟表的工作应该是在
4、1的信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加小时,但是需要注意的是,小时的范围是从0-23。在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0-59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(码)显示个位,对于小时因为它的范围是从0-23,所以可以用一个2位的二进制码显示十位,用4位二进制码()显示个位。分频器计数器控制器七段数码管译 码扫描显示50倒计时指示灯指示灯11 2 我的多功能数字钟控制器结构框图 (一)、分频器设计方案: a) 分频器原理框图:分频器1/150100
5、0/13/2b) 工作原理说明:本模块为分频模块,输入端为(50)信号,通过条件语句进行三次分频,分为1,1000,3,其中1为1频率信号,1000为1频率信号,3为2频率信号。(二)、计数器及控制器设计方案:a) 计数器控制器原理框图S1计数器控制器倒计时指示灯S2S8时间输出1/13/2b) 工作原理说明:本模块既包含了控制模块又包含了计数模块,有4个输入端分别为11283,它们的作用分别是输入1频率信号,调整小时信号,调整分钟信号,2频率信号。有4个输出端分别为,它们的作用分别是控制灯,输出当前系统时间(小时-分钟-秒)。在s128,都为1(即按键弹起时),程序块自动执行时钟计时功能;当
6、s1按下(即s1为0)时,(控制小时)加1,当s2按下(即s2为0)时,(控制分钟)加1;当系统时间大于23-59-55时,指示灯开始闪烁。(三)、数码显示器设计方案:译码扫描显示器a) 原理框图时间输入七段数码管1000/1b) 原理说明:本模块有4个输入端口1000,5.0,5.0和5.0,它们分别接收来至分频模块的1频率和来至计数控制模块的5.0,5.0,5.0信息,有2个输出端口7.1和3.17.1的七位端口分别接七段数码管的a、b、c、d、e、f、g七个端口,3.1的三位端口分别接三八译码器的三位输入端口;3.1在000111之间按照1的频率不断循环,通过三八译码器控制的8个数码管从
7、右向左分别点亮,由于数码管扫描频率较高,人眼无法分辨数码管的亮灭,从视觉上我们看到8位数码管都是亮的。3.1的三位选通端口及显示时间格式对应关系如下:3.1端口及7.1对应的显示量000“秒的个位”001“秒的十位”010“”011“分的个位”100“分的十位”101“”110“时的个位”111“时的十位”三、电路设计、仿真及实现: 3 电路设计全程图符号说明:1,1,1000,3:分别为50,1,1,2的频率信号; 2111213:分频计数变量; 3. s128:控制输入端,作用分别为调整小时,分钟,复位; 4. :时间变量; 5整点报时闪烁灯; 6:数码管七段码输出端; 7:3-8译码器的
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+1c) 仿真波形: 4分频功能仿真 4图中标注的为50的频率信号,时间周期为20,占空比为50%,分频输出信号虽然达到了分频的要求,但占空比却远远低于50%,在本次实习中没有反作用,如有要求非常严格的设计,则需要对信号分频程序进行调整。(二)、
9、计数控制设计实现:a) 计数器及控制器原理图: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) 仿真波形图: 5计时功能仿真从仿真波形图可以看出当s128均为高电平时,每过1秒(即1出现一次高电平)自动加1,计时功能正常运行。 6复位功能从仿真波形图可知:当按下s8(复位键)之前,时间为16时33分4
10、4秒,按下复位键后时间自动归零,重新从0时0分0秒开始计时。 7 时间调整功能从 4 时间调整功能仿真图可知,在时间调整前(s2按下)系统时间为16时34分19秒,s2按下后,时间自动调整为16时35分19秒,分钟加1;s1按下前时间为16时35分21秒,按下后时间自动调整为17时35分21秒,小时加1; 8 灯整点报时功能从 5 整点报时功能仿真图可知,当时间达到16时59分55秒时,指示灯开始按照1的频率闪烁,过整点后,停止闪烁,系统时间调整为17时整。 9 24时自动归零功能 从 9 24时自动归零功能可知,当系统时间为23时59分59秒时,过一秒钟,系统时钟回归零,重新计时!(三)、数
11、码显示设计实现: a) 输出显示器原理图b) 程序: (1000); 1000; 5:0 ; 7:1 ; 3:1 ; 7:1 ; 4:1 t1; 3:1 ; ( 1000) (8) () 3b111110; 3b000110; 3b010110; 3b011110; 3b101110; 3b110110; 1=1100; =56) 2=1; 2=0;2. ( 3) (21)deldel; del=0;在初始设计程序的时候由于逻辑的混乱使在符合条件的情况下为1,认为只要符合条件就亮,忽略了闪烁的问题,而闪烁的关键还在于“;”句,由于设置了二分频程序,所以在上面的( 1)语句运行一次的时候,( 3
12、)语句运行2次,也就是有每当2传递一个数给( 3)的时候,( 3)要对该数使用两次,而2在这2次中不变,要变的只能是(从010101)可以从中发现下次的值总是及上次相反,于是可以用取反语句进行操作来解决该问题!在对顶层文件进行全编译的时候出现了: 5.0 2 4.0 ( 1)这个问题,通过对字面的理解可知是由于输入输出的位数不配套引起的问题当修改文件中4:0为5:0的时候,问题得到解决,需要注意的是:当修改了管脚的位数后需要重新编译,重新构造图形模块。纵使有很多问题,但最终都被解决了,虽然有的问题是和同学讨论解决的,但还是很高兴的。在这些错误中也透露了自己对现有知识掌握的不牢固,对很多概念仍处
13、于朦胧状态。通过这几天的实习,虽然有点累,但实习完后发现自己对以前学过的东西掌握的更牢固了,而且在实习中还弥补了一些自己欠缺的知识,掌握了对于像多功能钟这种现代数字系统的模块化设计方法。模块化设计方法的优点在于其简洁性,但是在最终电路确定下来之前应尽量减少模块间的联系,如果模块间重叠使用的层次过多,在修改或增加或减少一个变量的情况下,会引起其他模块的未知变化。2. 建议i. 如果能开一门关于 语言的课程就好了,让大家能够很好的掌握这门语言,好多知识通过自学是很难意识到的,就像这次实习有些同学设计的程序出错就是一个点的问题,如果设计时注意了,也就不会出现这种问题。相信如果有老师专门教授这门课,大
14、家的水平会更好。ii. 我认为应该建立一个数电实验数据库,数据库内存放一些题目,就像计算机等级考试题库一样,课程设计时,大家的题目不一样(起码自己所在班级内不一样),应该会减少那些偷懒的同学,强迫他们学习。iii. 增加实习时的指导老师,我们一个专业才一位老师,老师的负担很大,同学们的问题也不能得到及时解决。iv. 更改实习的时间,中间休息了一个月回来后好多知识都忘记了,即使复习也没刚考完试那会掌握的熟练。附件1(管脚分配图):端口名使用模块信号对应管脚说 明S1按键开关S1R16调整小时S2按键开关S2P14调整分钟按键开关S8M15复位模块D1L14整点倒计时0数码管模块A段N4时间显示1数码管模块B段G42数码管模块C段H43数码管模块D段L54数码管模块E段L45数码管模块F段K46数码管模块G段K50 数码管选择位1M4 8个数码管的选择位1数码管选择位2F32数码管选择位3F4脉冲源J350脉冲源22 / 22