数字钟系统的设计与实现 (2)

合集下载

十二进制时钟

十二进制时钟

课程设计任务书课程设计题目:十二进制数字钟系别: 班级:学生姓名:学号:指导教师: 职称:课程设计进行地点:任务下达时间:2011 年12 月19 日起止日期:2011年12月19日起——至2011年12月30日止教研室主任2010年12 月31 日批准1.方案设计1.1设计题目:十二进制数字钟设计1.1设计目的:(1)能独立查阅、整理、分析有关资料(2)能用简单的数字电路完成设计任务(3)掌握组合逻辑器件1.2基本要求:(1) 时钟开关系统(2)时钟校时系统(3)时钟计时系统(12进制计时系统,60进制计分/秒系统)(4)时钟定时系统(5)时钟整点报时系统(6)时钟定时系统1.3 用硬件电路完成全部或部分功能2.设计过程的基本要求:2.1 基本部分必须完成,其他功能可以根据自己的能力有选择的完成设计。

2.2 符合设计要求的报告一份,其中包括逻辑电路图。

3.报告的基本要求:3.1 要求用A4纸打印,不允许复印,格式参照毕业设计论文格式。

3.2装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。

摘要当今,电子电路已经融入了现实生活中,数字电路课程设计是在数字电路理论基础上进行的一次大规模的数字电路课程设计是在数字电路理论基础上进行的一次大规模的综合性系统设计,通过系统设计可以培养学生的综合设计能力,以此来检验学生是否能够把学到的理论知识综合地运用到一些复杂的数字系统中去,使学生在实践基本技能方面得到一次系统的锻炼。

,其中就运用到了电子电路。

它是通过集成的编码器对数字信号编码,通过数字元件表示出来的。

一般在时钟设计系统中多采用74LS48,74LS290,74LS161,74LS85,555触发器,SQ触发器和一些基本逻辑门来实现。

在我组设计中对以上芯片的使用如下:74LS48:作为时钟显示系统的主要芯片74LS290:作为时钟计时系统的主要芯片,为12进制、60进制的实现做核心部分74LS161:该芯片是实现时钟开关、报时响铃的电路提供始信号的74LS85:作为比较逻辑芯片的85,它有特色的使用空间,为实现整点报时,定时系统中被使用555触发器:为实现开关系统、响铃系统的核心SQ触发器:在我组设计中虽然该触发器只是用一次,但它是为了实现12进制计时系统而存在的,是至关重要的。

vhdl数字电子钟的设计与实现

vhdl数字电子钟的设计与实现

基于VHDL数字电子钟的设计与实现摘要:本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时的计时装置,由于数字集成电路技术的发展和采用了先进的石英技术,它使数字钟具有走时准确、性能稳定、携带方便等优点。

数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活带来极大的方便。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路的能力。

关键词:电子钟;门电路及单次按键;琴键开关目录第一章引言----------------------------------------------------------------11.1 课题的背景、目的------------------------------------------11.2 课程设计的内容------------------------------------------1 第二章EDA与VHDL简介--------------------------------------------------22.1 EDA的介绍---------------------------------------------22.2 VHDL的介绍--------------------------------------------32.2.1 VHDL的用途与优点-----------------------------------------------------------------32.2.2 VHDL的主要特点----------------------------------------------------------------------2.2.3 用VHDL语言开发的流程------------------------------------------------------------ 第三章数字电子钟的设计方案------------------------------------------63.1秒脉冲发生器--------------------------------------------73.2可调时钟模块--------------------------------------------83.3校正电路------------------------------------------------83.4闹铃功能------------------------------------------------103.5日历系统------------------------------------------------11 第四章结束语---------------------------------------------------------------134.1致谢----------------------------------------------------144.2参考文献------------------------------------------------151引言随着科学技术的不断发展,人们对时间计量的精度要求越来越高。

运用汇编语言设计的数字钟

运用汇编语言设计的数字钟

微机原理课程设计题目名称:数字钟姓名:学号:专业:指导老师:同组者:江汉大学物理与信息工程学院一.设计目的和意义:1.熟悉集成电路的引脚安排.2.掌握各芯片的逻辑功能及使用方法.3.了解面包板结构及其接线方法.4.了解数字钟的组成及工作原理.5.熟悉数字钟的设计与制作.二.系统设计框架:系统硬件设计主要利用微机实验平台上的电路模块。

硬件电路主要由键盘电路、单脉冲产生单元、8254定时计数器、8255并行接口单元、8259中断控制器和LED显示电路等等。

系统设计框图如图1所示。

图1 系统设计框图三.工作原理1)计时单元由定时/计数器8254的通道0来实现。

定时采用硬件计数和软件技术相结合的方式,即通过8254产生一定的定时时间,然后再利用软件进行计数,从而实现1小时制定时。

8254定时时间到了之后产生中断信号,8254在中断服务程序中实现分、秒的累加。

2)时间显示采用实验平台上的4个LED数码管分别显示分、秒,采用动态扫描方式实现。

3)校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。

按键包括校时键、闹钟定时键、加1键和减1键等。

四.硬件设计根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。

完整系统的硬件连接如图2所示。

硬件电路由定时模块、按键模块、数码管显示模块和蜂鸣器模块组成。

图2 硬件连接图各个模块的详细说明:1.定时模块定时模块主要是实现硬件定时1s,由8254的计数器0来实现。

Clk0接实验平台分频电路输出IRQ,f=1hz。

GATE0接+5V,由8255的PA0输出来控制计数器的起停。

OUT0接8259的IRQ2,定时完成请求中断,进入中断服务程序。

软件在中断服务程序中实现时分秒的累加。

2.LED数码管模块实验平台上提供一组4个LED数码管。

插孔A-G用于数码管段选的输出选通,插孔X1-X4用于数码管位选信号的输出选通。

毕业设计200数字钟的设计与实现2

毕业设计200数字钟的设计与实现2

目录摘要 (1)第一章系统概述 (2)1.1引言 (2)1.2单片机AT89C51介绍 (2)1.2.1组成 (2)1.2.2主要特性: (3)1.2.3管脚说明 (3)1.3时钟芯片DS1302 (5)1.3.1芯片简介 (5)1.3.2DS1302的结构及引脚说明 (5)1.3.3地址/命令字节和寄存器格式定义 (6)1.3.4读写操作时序 (6)第二章系统设计 (8)2.1开发目的 (8)2.2题目分析 (8)2.3设计思想 (8)第三章设计流程图 (9)3.1硬件设计 (9)3.1.1 显示电路的设计 (9)3.1.2 显示驱动电路的设计 (10)3.1.3 电源电路的设计 (10)3.1.4 复位及晶体振荡电路 (10)3.1.5 键盘电路 (10)3.1.6 整点报时和闹钟电路 (10)3.1.7 看门狗电路 (10)3.2软件设计 (11)3.2.1 系统流程图 (11)3.2.2 日期程序设计 (11)3.2.3 时间调整程序设计 (12)第四章原程序代码 (15)第五章课程设计结果总结: (26)第六章参考资料及参考文献: (26)附录:总设计电路图 (27)摘要本电子钟以AT89C51单片机为核心,通过软硬件相结合的方法,控制LED 数码管输出,可以显示年、月、日、时、分、秒、星期,同时还具有整点语音报时及定时闹钟的功能。

系统内置了时钟芯片DS1302,保证了在断电后计时不受影响。

该电子钟硬件电路简单,时间调整方便,软件设计灵活、可靠,加入了“看门狗”电路,增强了系统的抗干扰能力。

关键词AT89C51,DS1302,“看门狗”ABSTRACTThis electronic clock is based on MCU AT89C51, it controls LED to display YEAR, MONTH, DAY, HOUR, MINUTE, SECOND and WEEK through software and hardware method, it can also give the correct time and alarm. The system have a clock chip DS1302 which assure the system will not influenced after power is cut off. The hardware circuit is simple, time modulation is convenient, software design is vivid and credibility. "WATCH DOG" circuit strengthen the anti- interference ability of the system.KEYWORDS AT89C51,DS1302,“WATCH DOG”第一章系统概述1.1引言数字钟是一种应用广泛的日常计时工具,广泛用于家庭居室、办公室、大厅、会议室、车站、广场等场所。

数电课设--数字钟的设计

数电课设--数字钟的设计

数电课设--数字钟的设计摘要:该设计主要是设计一种基于数字电路实现的数字钟,用于显示当前时间,同时设计一个简单的时间调整系统来实现对数字钟的时间调整。

本设计实现了数字钟的时间显示、时间调整等功能,具有简单、实用等优点。

关键词:数字钟、计数器、时间调整系统一、引言数字钟是一种时钟显示设备,它可以在显示面板上显示当前时间,数字钟的普及改变了人们观念上的关于时间知识的变革。

本课设就是要通过设计一个数字钟,来综合应用我们所学的数字电路知识,通过数字电路的设计实现时间的显示及调整。

二、数字钟的设计原理数字钟的设计离不开计数器和定时器,计数器的作用是进行计数操作,进而对时间进行处理,定时器的作用是用来控制计数器的计数和复位,使其能够按照固定的时间序列不断进行计数。

数字钟的显示部分采用数码显示管显示当前时间,数码显示管显示的时间单位有小时、分钟和秒。

三、数字钟的设计方案数字钟的设计方案可以分为两部分,一部分是计数器及定时器的设计,另一部分是时间调整系统的设计。

下面分别进行介绍。

(一)计数器及定时器的设计计数器采用7474型D触发器进行设计,二进制计数器采用模8计数模式,带有异步复位功能。

其中,D触发器的Vcc接+5V电源,GND接地,CLK接定时器的输出,D接Q的输出,Q接下一级触发器D端。

计数器采用8253/8254型定时器,应该根据标准时钟的频率和预置值计算计数器的频率和复位时间。

时间调整功能通常是通过8255接口芯片实现。

(二)时间调整系统的设计时间调整系统通过单片机实现,主要实现以下功能:上下键切换修改时间单位、按键快速调整修改时间数字、按键高频稳定范围设置、判断闹钟是否开启、日历选择等。

四、数字钟的实现数字钟的实现可以参考实验教材进行,实现前需要明确以下几点:1. 根据实际需求确定数字钟的参数:例如显示的时间格式,以及是否需要设置闹钟等。

2. 设计好数字钟的原理图,并选择适合的元件进行接线。

3. 进行电路调试和测试,对电路进行稳定性测试等。

数字钟系统电路的设计方案与仿真分析

数字钟系统电路的设计方案与仿真分析

数字钟系统电路的设计方案与仿真分析
在电子技术实验教学中,构建学生的电路设计理念,提高学生的电路设计能力,是教学的根本目的和核心内容。

数字钟电路的设计和仿真,涉及模拟电子技术、数字电子技术等多方面知识,能够体现实验者的理论功底和设计水平,是电子设计和仿真教学的典型案例。

文中采用了555 定时器电路、计数电路、译码电路、显示电路和时钟校正电路,来实现该电路。

1 系统设计方案
数字钟由振荡器、分频器、计时电路、译码显示电路等组成。

振荡器是数字钟的核心,提供一定频率的方波信号;分频器的作用是进行频率变换,产生频率为1 Hz 的秒信号,作为是整个系统的时基信号; 计时电路是将时基信号进行计数;译码显示电路的作用是显示时、分、秒时间;校正电路用来对时、分进行校对调整。

其总体结构图,如图1 所示。

2 子系统的实现
2.1 振荡器
本系统的振荡器采用由555 定时器与RC 组成的多谐振荡器来实现,如图2 所示即为产生1 kHz 时钟信号的电路图。

此多谐振荡器虽然产生的脉冲误差较大,但设计方案快捷、易于实现、受电源电压和温度变化的影响很小。

2.2 分频器
由于振荡器产生的频率高,要得到标准的秒信号,就需要对所得到的信号进行分频。

在此电路中,分频器的功能主要有两个:1)产生标准脉冲信号;2)提供电路工作需要的信号,比如扩展电路需要的信号。

通常实现分频器的电路是计数器电路,选择74LS160 十进制计数器来完成上述功能[5]。

如图3 所示,555 定时器产生1 kHz 的信号,经过3 次1/10 分频后得到1 Hz 的脉冲信号,为秒个位提供标准秒脉冲信号。

课程设计基于SOPC技术实现数字闹钟

课程设计基于SOPC技术实现数字闹钟

基于SOPC技术实现数字闹钟【摘要】在现代社会,数字闹钟方便了人们的生活和工作。

数码管显示的时间简单明了而且读数快、时间准确显示到秒。

该数字闹钟主要采用sopc技术,设计由系统对外部机械按键模块进行扫描获取部分指令,对外部时钟分频后进行小时24分频计时模块、分钟60分频计时模块、秒钟60分频计时模块,并进一步建立年月日计时判断模块。

采用LED数码管显示时、分、秒,以24小时计时方式,蜂鸣器则作为闹钟声音提示用。

该数字闹钟优点是小巧,价格低廉,走时精度高,整点报时和定时非常方便。

关键字:SOPC技术数码管显示整点提示闹钟一、课题简介SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件Quartus II。

SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案有多种途径,我们主要用到的是:基于FPGA嵌入IP硬核的SOPC系统1.基于FPGA嵌入IP硬核的SOPC系统即在FPGA中预先植入嵌入式系统处理器。

目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。

尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。

如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。

这样会增加整个系统的体积、功耗,而降低系统的可靠性。

但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。

2.基于FPGA嵌入IP软核的SOPC系统这种SOPC系统是指在FPGA中植入软核处理器,如:NIOS II核等。

数电课程设计报告数字钟的设计

数电课程设计报告数字钟的设计

数电课程设计报告第一章设计背景与要求设计要求第二章系统概述设计思想与方案选择各功能块的组成工作原理第三章单元电路设计与分析各单元电路的选择设计及工作原理分析第四章电路的组构与调试遇到的主要问题现象记录及原因分析解决措施及效果功能的测试方法,步骤,记录的数据第五章结束语对设计题目的结论性意见及进一步改进的意向说明总结设计的收获与体会附图电路总图及各个模块详图参考文献第一章设计背景与要求一.设计背景与要求在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦;数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用;数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路;设计一个简易数字钟,具有整点报时和校时功能;1以四位LED数码管显示时、分,时为二十四进制;2时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时;3整点报时采用蜂鸣器实现;每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束;4才用两个按键分别控制“校时”或“校分”;按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化;二.设计要求电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用;在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选择课题、电子电路设计、组装、调试和编写总结报告等实践内容;通过本次简易数字钟的设计,初步掌握电子线路的设计、组装及调试方法;即根据设计要求,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能要求;第二章系统概述设计思想与方案选择方案一 ,利用数字电路中学习的六十进制和二十四进制计数器和三八译码器来实现数字中的时间显示;方案二,利用AT89S51单片机和74HC573八位锁存器以及利用C语言对AT89S51进行编程来实现数字钟的时间显示;由于方案一通过数电的学习我们都比较熟悉,而方案二比较复杂,涉及到比较多我们没学过的内容,所以选择方案一来实施;简易数字钟电路主体部分是三个计数器,秒、分计数器采用六十进制计数器,而时计数器采用二十四进制计数器,其中分、时计数器的计数脉冲由校正按键控制选择秒、分计数器的溢出信号或校正10Hz计数信号;计数器的输出通过七段译码后显示,同时通过数值判断电路控制蜂鸣器报时;各功能块的组成分频模块,60进制计数器模块,24进制计数器模块,4位显示译码模块,正点报时电路模块,脉冲按键消抖动处理模块工作原理一.简易数字钟的基本工作原理是对1Hz标准频率秒脉冲进行计数;当秒脉冲个数累计满60后产生一个分计数脉冲,而分计数脉冲累计满60后产生一个时计数脉冲,电路主要由3个计数器构成,秒计数和分计数为六十进制,时计数为二十四进制;将FPGA开发装置上的基准时钟OSC作为输入信号通过设计好的分频器分成1Hz~10MHz8个10倍频脉冲信号;1Hz的脉冲作为秒计数器的输入,这样实现了一个基本的计时装置;通过4位显示译码模块,可以显示出时间;时间的显示范围为00时00分~23时59分;二.当需要调整时间时,可使用数字钟的时校正和分校正进行调整,数字钟中时、分计数器都有两个计数脉冲信号源,正常工作状态时分别为时脉冲和分脉冲;校正状态时都为5~10Hz的校正脉冲;这两种状态的切换由脉冲按键控制选择器的S 端来实现;为了更准确的设定时间,需要对脉冲按键进消抖动处理;三.电路在整点前10 秒钟内开始控制蜂鸣器报时,可采用数字比较器或逻辑门判断分、秒计数器的状态码值,以不同频率的脉冲控制蜂鸣器的鸣响;第三章单元电路设计与分析各单元电路的选择1分频模块,设计一个8级倍率为10 的分频电路,输出频率分别为1Hz 、10Hz、100 Hz、1k Hz、10k Hz、100k Hz、1 MHz、10MHz8组占空比为50%的脉冲信号;260进制计数器模块,采用两片74161级联;324进制计数器模块,采用两片74161级联;44位显示译码模块,由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路;其中4位计数器用74161,数据选择器用74153,七段显示译码器部分采用AHDL硬件描述语言设计;5正点报时电路模块,该模块采用与门和数据选择器74153构成6脉冲按键消抖动处理模块,采用D触发器实现消抖动,从而能够比较精确地设定时间;设计及工作原理分析1分频模块要输出8级频率差为10倍的分频电路,可采用十进制计数器级联实现;集成十进制计数器的类型很多,比较常用的有74160、74162、74190、74192和7490等;这里采用7490来实现分频,7490是二-五-十进制加计数器,片上有一个二进制计数器和一个异步五进制计数器;QA是二进制加计数器的输出,QB、QC、QD是五进制加计数器的输出,位序从告到低依次为D,C,B;该分频器一共用到7片7490,初始信号输入到第一片7490的CLKB 端口,QD输出端连接到CLKA端,作为输入,从QA引出1MHz的output端口,并引线到第二片7490的CLKB端口,依此类推,直到第七片7490连接完成如附图所示;每片7490相当于一个五进制计数器和一个二进制计数器级联实现了十进制加计数,从而实现分频;分频模块图如图所示分频模块内部结构图如下图所示260进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制的,初始脉冲从CLK输入,ENT和ENP都接高电平,而QD与QA用作为与非门的两个输入,与非门输出分别连接到自身的LDN端与上面一片74161的CLK端;上面一片74161的QC和QA端作为与非门的两个输入通过输出连接到自身的LDN,ENT 和ENP接高电平;下面一片实现从0000到1001即0~9十个状态码的计数,当下面一片为1001状态时,自身的LDN为低电平,此时QD,QC,QB,QA的状态恢复到0000,即从0开始从新计数,而上面一片74161的CLK电平改变,上面一片74161开始计数为0001,实现从0000~到0101即0到5六个状态码的计数,当上面一片状态为0101时,LDN为低电平,此时计数器为0000;这样子通过两片74161就实现了一个六十进制计数器;下图为六十进制计数器模块的示意图由六十进制计数模块构成的秒分计数如下图,下面那块六十进制技术模块表示为妙,上面那块六十进制计数模块表示为分;当妙计数模块的状态为0101 1001时,向分计数模块进位, 即通过74153M的输入C1,此时74153M输出接到分计数模块的输入端 ,通过74153M作为选择器,实现进位控制;324进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制的,初始脉冲从CLK输入,ENT和ENP都接高电平,而QD与QA用作为与非门的两个输入分别连接到自身的LDN端与上面一片74161的CLK端;上面一片74161的QB非门的一个输入通过输出连接到自身的LDN,ENT 和ENP接高电平,并且上面74161的QB端和下面一块74161的QC端通过与非门输出接到两片74161的清零端CLRN;下面一片实现从0000到1001即0~9十个状态码的计数,当下面一片为1001状态时,自身的LDN为低电平,此时QD,QC,QB,QA的状态恢复到0000,即从0开始从新计数,而上面一片74161的CLK电平改变,上面一片74161开始计数为0001,实现从0000~到0010即0到2三个状态码的计数,当上面一片状态为0010即2时,下面一片状态为0100即4时,两块74161的CLRN为低电平,此时两块74161的状态都为0000,即实现了23时过后显示00时;这样子通过两片74161就实现了一个24进制计数器;下图为24进制计数器模块示意图由二十四进制计数模块构成的时计数模块如图,下面那块六十进制技术模块表示为分,上面那块24进制计数模块表示为时;当分计数模块的状态为0101 1001时,向时计数模块进位, 即通过74153M的输入C1,此时74153M输出接到时计数模块的输入端 ,通过74153M作为选择器,实现进位控制;二十四进制计数模块构成的时计数模块44位显示译码模块由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路;4位计数器由74161构成;如下图所示74161构成的4位计数器数据选择器采用两片74153 和一片74153M两片74153实现连在一起实现对四个数字的选择,而一片74153M实现对小数点的选择;如下图所示74153M构成的数据选择器两片74153构成的数据选择器七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymqdata_in3..0 :input;a,b,c,d,e,f,g :output;begintabledata_in3..0 =>a,b,c,d,e,f,g;b"0000" =>1,1,1,1,1,1,0;b"0001" =>0,1,1,0,0,0,0;b"0010" =>1,1,0,1,1,0,1;b"0011" =>1,1,1,1,0,0,1;b"0100" =>0,1,1,0,0,1,1;b"0101" =>1,0,1,1,0,1,1;b"0110" =>0,0,1,1,1,1,1;b"0111" =>1,1,1,0,0,0,0;b"1000" =>1,1,1,1,1,1,1;b"1001" =>1,1,1,0,0,1,1;b"1010" =>1,1,1,0,1,1,1;b"1011" =>0,0,1,1,1,1,1;b"1100" =>1,0,0,0,1,1,0;b"1101" =>0,1,1,1,1,0,1;b"1110" =>1,0,0,1,1,1,1;b"1111" =>1,0,0,0,1,1,1;end table;end;整个四位显示译码模块如图所示5正点报时电路模块该模块采用与门和数据选择器74153构成,如下图所示;7个输入端口的与门控制A,当时间在59分51s,53s,55s,57s,59s的时候,A为高电平1,当秒的个位数为9时,B为高电平1,A为1,B为0时,输出C1低频率信号,A为1,B为1时输出C3高频率信号,实现整点的不同频率的报时电路;整点报时电路模块6脉冲按键消抖动处理模块采用D触发器实现消抖动,从而能够精确地设定时间;校正状态为5HZ的校正脉冲,分频器输出的10HZ通过T触发器得到5HZ的校正脉冲;如图脉冲按键消抖动处理模块通过T触发器得到的5HZ校正脉冲第四章电路的组构与调试遇到的主要问题1在用74161做二十四进制计数器时,没有深入考虑,打算采用第一片六进制,第二片四进制级联而成,结果出现问题;2时、分调整按键没有安装消抖动装置;3在设置简易数字钟的分时,时计数器也会进;现象记录及原因分析1虽然也能够计数实现二十四进制,但是不能与七段显示译码器配合使用,不能显示直观的数值,这样给用户带来不便;2在下载调试的时候,我要进行时分调整,但是有时按一下子脉冲键会进两个数值,这样子给时分的设置带来了麻烦,原因是按键没有采用消抖动装置;3在调试的时候,打算通过按键调整分,但是发现时计数器也会进位,这就不符合要求了,原因是调整分时,各计数器都按正常状况在计数,所以会按正常情况产生进位;解决措施及效果1仍然采用两片74161,第一片可以从0~9,第二片只能从0~2,而且当第二片为2的时候,第一片到4的话就都清零复位,这样不仅实现了二十四进制计数器,而且能与七段显示译码器配合使用,直观的显示数字;2在脉冲控制按键上加上了D触发器,这样子可以达到消抖动的效果;3加上选择器,把两路信号分开,当调整分的时候,不对时计数器产生进位,这样子就不会产生十进位了,解决了这个问题;功能的测试方法、步骤,记录的数据1简易数字钟的测试,将电路图连好后,分析与综合,仿真,编译,下载到仪器上,表示秒的小数点按1Hz,占空比50%跳动,分从0~59计数,分过了59后,向时计数器进1;2整点点报时功能的测试,到了整点,即59分51s,53s,55s,57s时蜂鸣器低频率间断性鸣响,59分59秒时,蜂鸣器高频率鸣响一次;3时、分调整功能的测试,按分调整键,分按一定的频率逐次加一,但是时显示不变;按时调整键,时按一定的频率逐次加一,但是分显示不变;第五章结束语对设计题目的结论性意见及进一步改进的意向说明简易数字钟的设计中,主要运用了分频器,六十进制计数器,二十四进制计数器,动态扫描显示电路,选择器,按键消抖以及门电路等数字电路方面的知识;可以在简易数字钟的基础上加上24小时和12小时转换功能,秒表功能,闹钟功能,这样更能满足人们的使用需求;总结设计的收获与体会简易数字钟的设计及实验当中,我坚持了下来,上学期的数电我学的并不好,而且对软件应用的接受能力不强,刚开始的时候做的很慢,看到别人都做好了,心里比较着急,于是,我找出了数电课本,复习所涉及的知识点,并练习所学软件,终于有了进步,可以更上同学们的进度,但数字钟的设计一直困扰我,看到别人拓展功能都做好了,自己基本的都还没做好,心里很急;在设计的过程中,碰到了很多的困难,遇到了很多问题,不断地思考与尝试,以及向同学和老师请教,但还是没能完全设计好,以后有时间还得多去实验室尝试,争取做好一些拓展功能;通过这次设计,对上学期学习的数字电路的相关知识得到了复习和巩固,也查阅了一些相关的资料,也加深了我对数字电路应用的理解,总之这次的电子技术课程设计受益匪浅;参考文献:基于FPGA的数字电路系统设计西安电子科技大学出版社数字电子技术基础电子工业出版社数字电路与逻辑设计实验及应用人民邮电出版社附图1.分频模块分频器仿真波形下图为分频器线路图2.60进制计数器模块60进制计数器仿真波形3.24进制计数器模块24进制计数器仿真波形4. 4位显示译码模块七段显示译码器模块七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymqdata_in3..0 :input;a,b,c,d,e,f,g :output;begintabledata_in3..0 =>a,b,c,d,e,f,g;b"0000" =>1,1,1,1,1,1,0;b"0001" =>0,1,1,0,0,0,0;b"0010" =>1,1,0,1,1,0,1;b"0011" =>1,1,1,1,0,0,1;b"0100" =>0,1,1,0,0,1,1;b"0101" =>1,0,1,1,0,1,1;b"0110" =>0,0,1,1,1,1,1;b"0111" =>1,1,1,0,0,0,0;b"1000" =>1,1,1,1,1,1,1;b"1001" =>1,1,1,0,0,1,1;b"1010" =>1,1,1,0,1,1,1;b"1011" =>0,0,1,1,1,1,1;b"1100" =>1,0,0,0,1,1,0;b"1101" =>0,1,1,1,1,0,1;b"1110" =>1,0,0,1,1,1,1;b"1111" =>1,0,0,0,1,1,1;end table;end;整个4位显示译码模块四位显示译码模块。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉大学电子信息学院电子系统综合设计课程论文数字钟系统的设计与实现专业:年级:作者:指导教师:2012年6月20日目录1.选题背景与意义 (1)2.功能指标设计 (1)3.系统总体方案设计 (1)3.1核心器件的选择 (1)3.2系统整体框图 (2)3.3模块方案设计 (2)4.硬件设计 (3)5.软件设计 (4)5.1主程序流程图 (4)5.2显示模块流程图 (4)5.3中断服务流程图 (6)5.4校时子程序 (8)6.系统仿真测试 (8)6.1测试环境 (8)6.2测试步骤 (8)6.3测试结论 (8)参考文献 (8)附录1 系统参考代码 (9)附录2 系统器件清单 (11)1.选题背景及意义单片机应用系统因其优异的性能、高可靠性以及成本低廉被广泛应用于航空航天、工业测控、机器人感觉、数字信号处理、通信等各个技术领域。

在比较特殊的应用领域中,我们不仅希望单片机能够完成数据的采集处理,同时还想知道产生这些数据的时刻,以便于更详细地了解和掌握现场情况,这就需要为单片机系统增加数字时钟的功能。

数字钟是采用数字电路实现对时分秒的数字显示的计时装置,广泛应用于个人、家庭、车站、码头、办公室等情况和场所,已成为人们日常生活中的必需品。

数字钟能长期、连续、稳定、可靠地工作,同时还具有体积小、功耗低的优点,便于携带,使用方便。

由于数字集成电路的发展和石英晶体振荡器的发展,新型数字钟的精度已经远远超过老式的机械钟表,可见钟表的数字化给人们的生活带来了极大的方便。

而在实现数字钟的各种方法中,使用单片机实现的数字钟不仅设计方法灵活,计时准确,而且可以很方便地通过软件编程使数字钟拥有丰富可靠的功能,同时也便于新功能的扩展,因而是不错的选择。

目前数字钟的常见功能有:自动计时并显示时间、通过按键或者键盘进行时间校准(包括对闹铃的设置)、闹钟功能、整点报时功能,以及万年历等等众多扩展功能。

鉴于我们首次接触单片机的有关知识,对复杂功能的实现还有困难,本次设计中我们只选择实现前两个基本功能,并希望通过自主学习、小组讨论、动手实践、与老师交流等途径尽可能多的掌握单片机的基础知识。

2.功能指标设计根据要实现的功能,我们确定了以下的设计要求:1)设计一个精确的一秒定时器;2)根据一秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED 上;3)设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒。

3.系统总体方案的设计3.1核心器件的选择该数字钟系统的设计用MCS51单片机系统学习板即可。

根据数字钟系统的功能要求,可得到该系统的实现需要三个主要部分,即定时计数部分、显示部分和时间调整部分。

51单片机内部的脉冲振荡电路为单片机的工作提供时钟节拍,两个定时/计数器可由软件设置为定时工作方式或计数工作方式及其他灵活多样的可控功能方式,为数字钟系统的定时计数部分提供了硬件基础。

V1.1实验板上的总线扩展八位高亮数码管已由内部电路与单片机相连,通过单片机IO 口进行数据传输可以实现对数码管显示的控制,数字钟系统的时间显示部分由这部分完成,若显示时分秒则只需其中六位数码管。

在工作过程中对时分秒的校准需要通过外部按键与内部电路相联系,V1.1实验板上的4路独立按键和4*4矩阵键盘为设计提供了较完善的按键功能,保证了时间调整部分的硬件基础。

51单片机有5个中断源,256B的片内RAM和4KB的片内flash ROM,完成所需功能不需要外部硬件的扩展,使得整个设计方案较为简便。

作为整个系统核心的SST单片机不仅有丰富的硬件资源,另一个很大的优势是具有在线仿真功能。

在SoftICE监控程序的控制下,单片机通过PC的一个COM口与Keil uVision2debugger 通讯,从而实现对目标程序的实时调试。

SST的仿真功能可以极大地简化工作,这也是选择该器件的原因。

3.2系统整体框图图3-1 系统整体框图3.3模块方案的设计根据数字钟的功能,可以将整个系统划分为四个主模块,即定时器模块、时间计数器模块、校时按键模块和显示模块。

1)时间计数器模块又可以分为时分秒三个子模块。

秒计数器为60进制计数器,其进位输出是分计数器的进位输入;分计数器也是60进制计数器,其进位输出是时计数器的进位输出;时计数器是24进制计数器。

2)定时器模块主要用来产生精确的一秒定时,作为时钟的基准秒信号,在正常计时模式下,时间计数器在该秒信号的驱动下按照相应的进制进行计数。

而在时间调整模式下,时间计数器则根据按键传输的信息进行相应的部分的数字调整。

3)校时按键模块主要是产生校计时模式切换脉冲,提供计数器选择信号(移位),以及作为外部事件触发单片机内部计数器计数进而改变相应时间部分(上调/下调)。

4)显示模块则主要用来将时间计数器的内容以直观的方式表示出来,程序设计中应该反复调用该模块,使得时间可以实时显示。

这几个模块的选择与设计都是从数字钟整体功能的实现方面来考虑的,各个模块有其独立的功能,同时也要和其他模块紧密相连。

图3-2 模块图4.硬件设计1)计时方案:使用单片机内部定时器/计数器计时。

利用MSC51单片机内部的T1定时/计数器进行中断延时,配合软件延时可以实现时分秒的计时。

该方案可以很好地节省硬件资源。

2)显示方案:LED动态显示。

常用的显示方案有两种,即静态显示和动态显示。

其中静态显示的效果较好,数码管亮度高,但是由于本次实验要用到六位数码管,使用静态显示就意味着硬件开销会较大。

而动态显示虽然效果没有静态显示的好,但是可以在很大程度上节省硬件资源,简化实现过程,所以本次我们选用动态显示。

动态显示的原理:逐个循环点亮各位数码管,虽然在任意时刻只有一个数码管被点亮,但由于人眼的视觉暂留效应,只要循环的频率足够高,我们观察到的就是多位数码管同时被点亮。

为了实现LED动态扫描,需要为数码管提供位选和段选信号。

单片机输出控制引脚使用P0(P0.0~P0.7)作为控制端,分别通过74HC573连到LED的段选端a到h用来输出相应数码或连接到LED的位选端,控制每个时刻点亮的数码管,也即控制时分秒的显示。

3)校时方案:使用实验板上的四位独立按键分别作为四个校时按键K1、K2、K3、K4。

四位独立按键分别与P3.2~P3.5连接进行相应的信息交换。

每按下一次K4,数字钟就在计时与校时模式之间切换一次;若是在校时模式下,再按K3键可以改变当前的位选信号,使得时间调整位依次右移,当移到最右端(秒个位)时,再按K3则重新回到最左端;选定调整位后按K2和K1可分别实现相应位上数值的加减1。

此种实现方式使用的I/O口较多,但是实现相对简单。

5.软件设计5.1主程序流程图主程序:主要对中断源和定时器进行初始化,其中T1作为计时器,定时时间为50ms,则经过二十次中断的时间即为1s.等待定时中断图5-1 主程序流程图5.2显示模块流程图显示模块可分为两部分,要完成的功能叙述如下:转换为可显示码子程序:定时计数器单元的内容为十六进制,为适合LED的显示,须把其转换为压缩BCD码,也即把每个计数器的十位和个位拆分开,再通过查表将六个BCD码转换成对应的显示数码,并将转换后的内容放入时间缓存区40H-45H,以便后续程序使用。

图5-2 转码子程序流程图显示子程序:LED动态扫描显示时分秒。

首先R2设置初值07FH,通过位选信号选中时十位;R0指向40H,得到时十位的数码,通过P0送出段选信号到数码管使其显示。

然后R2循环右移,依次选中后面五位数码管,R0循环加1,依次得到相应数码。

这样扫描完全部六个数码管就可显示时分秒。

注意相邻两个数码管扫描时间间隔不能过长,否则会出现闪烁现象。

图5-3 显示子程序流程图5.3中断服务流程图中断服务程序:主要判断中断次数是否足够,并对时分秒计数器进行相应的加1操作。

图5-4 中断子程序流程图5.4校时模块主程序中包含对按键情况的判断,一旦监测到有按键被按下,则转到相应按键的功能处理程序。

独立按键从上到下分别是K4到K1。

K4的功能处理程序进行对用户标志位F0的修改,当F0=1时工作于计时模式,否则为校时模式;K3按下则改变寄存器R7的内容,R7初值为30H,即时计数器,每按下K3则R7内容加1,直到32H时再回到初值;K2和K1每按下一次则((R7))内容加1或减1,对于时计数器是满23变为0或者到0后变为23,分秒计数器则是满59变0或者到0变59。

6.系统仿真测试6.1测试环境由于数字钟系统设计重点是软件,其测试环境也主要是对软件仿真环境的要求。

我们选用Keil开发环境对汇编代码进行编译连接,利用SST单片机的在线仿真功能对系统进行测试。

6.2测试步骤为测试系统期望达到的要求是否满足,按照下列步骤进行测试仿真:1)实验板上电,单片机复位;2)打开Keil软件,新建工程CLOCK,对工程进行必要的设置;3)在编辑窗口中进行代码的编辑,编辑完成后对代码文件进行保存,文件名后缀为.asm;4)对程序进行编译连接,检查有无语法错误或连接错误,进行错误修正直到得到正确的目标文件;5)对程序进行调试:检查全速运行后六位数码管的显示情况,按下相应按键对时间进行调整。

6.3测试结论通过上述测试步骤,我们得到的测试结果如下:1)程序开始运行后,六位数码管从00:00:00开始显示时间,每过1秒则秒显示单元加一,到59秒时秒显示区清零,分个位加1;依次运行,发现分钟和小时分别符合60进制和24进制,时钟显示部分达到要求;2)在计时过程中按下四位独立按键第一位,则时钟进入校时模式;按下第二位选择要进行校时的数字位置,数字位置随着第二键的不断按下依次右移,到尽头后返回小时十位;按下第三键可对当前数字位置进行加1操作,按下第四键可进行减1操作,并且各显示单元符合相应进制,按键校时部分达到要求。

参考文献[1]邹显圣.基于AT89C51单片机数字时钟的研究2009.05[2]张静.基于单片机的数字钟设计2006.09附录1 系统参考代码LED_SEG EQU 0FAFFHLED_SEL EQU 0FBFFHORG 0000HLJMP MAINORG 001BH ;T1中断服务入口SERVE: PUSH PSW ;保护现场PUSH ACCMOV TH1,#3CH ;重新给计数器赋初值MOV TL1,#0B0HDJNZ 20H,EXIT ;判断是否够1秒MOV 20H,#14H ;重新给20H单元赋值INC 32H ;秒计数器加1MOV A,32HCJNE A,#60,EXIT ;判断秒计数器是否满60MOV 32H,#0 ;秒计数器归零INC 31H ;分计数器加1MOV A,31HCJNE A,#60,EXITMOV 31H,#0INC 30HMOV A,30HCJNE A,#24,EXITMOV 30H,#0EXIT:POP ACC ;返回现场POP PSWRETI ;中断返回STR_NUM:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;译码表TRANS:MOV DPTR,#STR_NUM ;将累加器中的内容变为相应数码MOVC A,@A+DPTRRETSHOW:MOV R0,#40H ;R0中存放数码缓存区地址MOV R1,#6 ;六位数码管MOV R2,#7FH ;R2中存放位选信息LOOP:MOV A,#0 ;熄灭八段LEDMOV DPTR,#LED_SEGMOVX @DPTR,A ;给出段选信号MOV A,R2MOV DPTR,#LED_SELMOVX @DPTR,A ;给出位选信号MOV A,@R0 ;显示数码缓存区的内容MOV DPTR,#LED_SEGMOVX @DPTR,ALCALL DELAY_MS ;调用延时子程序INC R0 ;数码缓存区地址加1MOV A,R2RR A ;循环移位MOV R2,ADJNZ R1,LOOPRETDELAY_MS:MOV R3,#100LP:DJNZ R3,LPRETMAIN:MOV TMOD,#10H ;定时器1工作于模式1 MOV TH1,#3CHMOV TL1,#0B0H ;设置计数器初值MOV 20H,#14H ;设置中断次数MOV 30H,#0 ;时计数器清零MOV 31H,#0 ;分计数器清零MOV 32H,#0 ;秒计数器清零SETB EA ;中断允许SETB ET1SETB TR1 ;T1开始计时BCD: MOV B,#10 ;BCD转换,数码转换子程序MOV A,30H ;时计数器内容的拆分DIV ABLCALL TRANSMOV 40H,A ;时十位的数码内容放在40H单元MOV A,B ;时个位内容的转换LCALL TRANSORL A,#80H ;显示小数点MOV 41H,A ;时个位内容存放41H单元MOV B,#10MOV A,31HDIV ABLCALL TRANSMOV 42H,A ;分十位存放42H单元MOV A,BLCALL TRANSORL A,#80HMOV 43H,A ;分个位存放43H单元MOV B,#10MOV A,32HDIV ABLCALL TRANSMOV 44H,A ;秒十位MOV A,BLCALL TRANSORL A,#80HMOV 45H,A ;秒个位LCALL SHOW ;调用显示子程序LJMP BCDEND附录2 器件清单MCS51单片机实验板V1-1一块。

相关文档
最新文档