数电课程设计基于AT89S51单片机的多功能数字钟的设计

上传人:re****.1 文档编号:460023589 上传时间:2023-09-29 格式:DOC 页数:19 大小:177KB
返回 下载 相关 举报
数电课程设计基于AT89S51单片机的多功能数字钟的设计_第1页
第1页 / 共19页
数电课程设计基于AT89S51单片机的多功能数字钟的设计_第2页
第2页 / 共19页
数电课程设计基于AT89S51单片机的多功能数字钟的设计_第3页
第3页 / 共19页
数电课程设计基于AT89S51单片机的多功能数字钟的设计_第4页
第4页 / 共19页
数电课程设计基于AT89S51单片机的多功能数字钟的设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数电课程设计基于AT89S51单片机的多功能数字钟的设计》由会员分享,可在线阅读,更多相关《数电课程设计基于AT89S51单片机的多功能数字钟的设计(19页珍藏版)》请在金锄头文库上搜索。

1、课程设计任务书学生姓名: * 专业班级:电子科学与技术0803班指导教师: * 工作单位: 信息工程学院 题 目: 多功能数字钟的设计 初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建多功能数字钟。用数码管显示时间计数值。要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求: 设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,

2、能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、 2010 年 6 月 28 日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、 2010 年 6 月 29 日,查阅相关资料,学习电路的工作原理。2、 2010 年 6 月 30 日 至 2010 年 7 月 1 日,方案选择和电路设计。2、 20

3、10 年 6 月 30 日 至 2010 年 7 月 1 日,电路调试和设计说明书撰写。3、 2010 年 7 月 2 日上交课程设计成果及报告,同时进行答辩。课设答疑地点:鉴主13楼电子科学与技术实验室。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本文基于单片机技术原理,以单片机AT89S51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个数字时钟系统。本文设计的系统要求可以对时、分、秒进行动态扫描

4、显示计时,还具有整点提醒和闹铃功能。该电路系统采用AT89S51单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。本文从硬件电路到单片机控制器再到微处理器程序进行了一系列的设计,最终将各模块整合到Proteus中进行仿真,最终在Proteus中仿真的结果令人满意。关键字:AT89S51,动态扫描AbstractDigital Clock is a digital circuit technology with the hours, minutes, seconds, timing devices, and mechanical clock higher than the a

5、ccuracy and intuitive, and no mechanical devices, with more longer life, so be widespread use. Based on principles of SCM technology to MCU AT89S51 as the core controller, through hardware design and software programming for the design to produce a digital clock system. System requirements for this

6、design can be hours, minutes, seconds, and dynamic scanning display timing, and also has alarm function to remind the whole point. The circuit system uses AT89S51 microcontroller as a core, low power, low-voltage work in 3V, the voltage can choose 3 5V supply voltage.This single chip controller from

7、 the hardware circuit to process and then to a series of microprocessor design, the module will eventually be integrated into the Proteus in the simulation, the final in the Proteus in the simulation results are satisfactory. Keywords: AT89S51, dynamic scanning设计目的设计一个数字电子钟,使它满足以下要求: 设计一个数字钟。要求用六位数码

8、管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。方案设计与论证.设计方向选择本数字钟的设计可以采用门电路结合其他芯片来组建数字钟,但考虑到在使用门电路的过程中使用的器件和芯片会很多,接法比较复杂,而且对于有些要求如整点报时和闹铃实现会有点困难。所以选择门电路来设计多功能时钟会比较复杂和繁琐。本次设计还可以使用单片机来设计电路,相对于门电路来说单片机的设计比较简单,而且功能比较全面

9、,但、编写程序会是单片机的一个难点。时钟芯片的选择方案和论证直接采用单片机定时计数器提供秒的信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然存在时间误差,但是可以减少芯片的使用,节约成本,所以采用此方案。电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89S52作为主控制系统;使用内部时钟电路外接晶振提供时钟震荡电路;显示方法采用 LED数码管动态扫描方法。图(1)为本次设计的总电路图: 图(1) 设计总电路图部分电路的设计.LED数码管电路设计本次设计中我们采用了8个共阳LED7段数码管构成了数码显示电路,其中位选接在单片机的P0口,而在实际之中我们会在

10、之间接一个锁存器,实现电流的放大,不然数码管会很暗,影响我们的观察。本设计中锁存器使用的是74HC573,其引脚图和功能表如图(2)所示。数码管的段选接在单片机的P口。电路图如图(3)所示: 图(2)74HC573引脚图和功能表 图(3)LED数码管显示电路.蜂鸣器报时系统设计本设计用报时和闹铃采用的是蜂鸣器组成的发声电路,蜂鸣器接在单片机的口,在之间接一个三极管实现电流的放大,这样才可以正常的发出声音。其部分电路图如图()所示:图()蜂鸣器电路图在这个电路中我们选择的三极管是PNP三极管8550,可以有效地完成我们所需要的功能。程序设计.程序流程图我们采用的是C语言编的,其流程图如图(5)所

11、示:开始初始化整点报时?蜂鸣器响闹铃?调用显示函数按键功能调节 图(5)程序流程图语言源程序#include unsigned char code displayCode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char hour,minute,second;unsigned char clockhour,clockminute;unsigned int num;unsigned char select,oneminute;bit bdata modeselect;void delay();void display(

12、unsigned char temp,unsigned char mode);void sound() while(num2000) P3_0=0; P3_0=1; void initial()P0=0;TMOD=0x22;IE=0xCF;IT0=1;IT1=1;T2CON=0;RCAP2L=0xf0;RCAP2H=0x1f;TH2=0x1c;TL2=0xf0;IP=0X06;TH0=0x48;TL0=0x48;TH1=0X48; TR0=1; PCON=0x01; hour=12;minute=0;second=0;num=0;select=0;clockhour=12;clockminut

13、e=0;modeselect=0; void interrupt0()interrupt 0 using 3 TR1=1; select+; if(select=7) select=0; if(select=1) ET2=1;oneminute=second-1;void timer0()interrupt 1 using 3num+;if(num=5000)num=0;second+; if(second=60) minute+;second=0; if(minute=60) hour+;minute=0; if(hour=24) hour=0;void interrupt1()interrupt 2 using 3 oneminute=second-1; modeselect=0; ET2=!ET2; switch(select) case 4:hour+;if(hour=24)hour=0;break;case 5:minute+;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号