欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:4149251       资源大小:148KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    课程设计任务书学生姓名: * 专业班级:电子科学与技术0803班指导教师: * 工作单位: 信息工程学院 题 目: 多功能数字钟的设计 初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建多功能数字钟。用数码管显示时间计数值。要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求: 设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、 2010 年 6 月 28 日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、 2010 年 6 月 29 日,查阅相关资料,学习电路的工作原理。2、 2010 年 6 月 30 日 至 2010 年 7 月 1 日,方案选择和电路设计。2、 2010 年 6 月 30 日 至 2010 年 7 月 1 日,电路调试和设计说明书撰写。3、 2010 年 7 月 2 日上交课程设计成果及报告,同时进行答辩。课设答疑地点:鉴主13楼电子科学与技术实验室。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本文基于单片机技术原理,以单片机AT89S51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个数字时钟系统。本文设计的系统要求可以对时、分、秒进行动态扫描显示计时,还具有整点提醒和闹铃功能。该电路系统采用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 accuracy 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 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 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设计目的设计一个数字电子钟,使它满足以下要求: 设计一个数字钟。要求用六位数码管显示时间,格式为00:00:00。具有60进制和24进制(或12进制)计数功能,秒、分为60进制计数,时为24进制(或12进制)计数。有译码、七段数码显示功能,能显示时、分、秒计时的结果。设计提供连续触发脉冲的脉冲信号发生器,具有校时单元、闹钟单元和整点报时单元。方案设计与论证.设计方向选择本数字钟的设计可以采用门电路结合其他芯片来组建数字钟,但考虑到在使用门电路的过程中使用的器件和芯片会很多,接法比较复杂,而且对于有些要求如整点报时和闹铃实现会有点困难。所以选择门电路来设计多功能时钟会比较复杂和繁琐。本次设计还可以使用单片机来设计电路,相对于门电路来说单片机的设计比较简单,而且功能比较全面,但、编写程序会是单片机的一个难点。时钟芯片的选择方案和论证直接采用单片机定时计数器提供秒的信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然存在时间误差,但是可以减少芯片的使用,节约成本,所以采用此方案。电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89S52作为主控制系统;使用内部时钟电路外接晶振提供时钟震荡电路;显示方法采用 LED数码管动态扫描方法。图(1)为本次设计的总电路图: 图(1) 设计总电路图部分电路的设计.LED数码管电路设计本次设计中我们采用了8个共阳LED7段数码管构成了数码显示电路,其中位选接在单片机的P0口,而在实际之中我们会在之间接一个锁存器,实现电流的放大,不然数码管会很暗,影响我们的观察。本设计中锁存器使用的是74HC573,其引脚图和功能表如图(2)所示。数码管的段选接在单片机的P口。电路图如图(3)所示: 图(2)74HC573引脚图和功能表 图(3)LED数码管显示电路.蜂鸣器报时系统设计本设计用报时和闹铃采用的是蜂鸣器组成的发声电路,蜂鸣器接在单片机的口,在之间接一个三极管实现电流的放大,这样才可以正常的发出声音。其部分电路图如图()所示:图()蜂鸣器电路图在这个电路中我们选择的三极管是PNP三极管8550,可以有效地完成我们所需要的功能。程序设计.程序流程图我们采用的是C语言编的,其流程图如图(5)所示:开始初始化整点报时?蜂鸣器响闹铃?调用显示函数按键功能调节 图(5)程序流程图语言源程序#include <AT89X52.H>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(unsigned char temp,unsigned char mode);void sound() while(num<2000) 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;clockminute=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+;if(minute=60)minute=0;break;case 6:second+;if(second=60)second=0;break;case 2:clockhour+;if(clockhour=24)clockhour=0;break;case 3:clockminute+;if(clockminute=60)clockminute=0;break; default:break;void timer1()interrupt 3 using 3if(select)if(second=oneminute)select=0;TR1=0;void timer2()interrupt 5 using 3sound();TF2=0;if(minute!=clockminute&&hour=clockhour)TR2=0;void delay()unsigned char i=255;while(-i);void display(unsigned char temp,unsigned char mode) if(temp=4|temp=2) P0=0; else P0=1; if(mode) P1=displayCodehour/10; else P1=displayCodeclockhour/10; delay(); if(temp=4|temp=2) P0=0; else P0=2; if(mode) P1=displayCodehour%10; else P1=displayCodeclockhour%10; delay(); if(temp=1|temp=2|temp=3) P0=0; else P0=4; P1=0xbf; delay(); if(temp=5|temp=3) P0=0; else P0=8; if(mode) P1=displayCodeminute/10; else P1=displayCodeclockminute/10; delay(); if(temp=5|temp=3) P0=0; else P0=16; if(mode) P1=displayCodeminute%10; else P1=displayCodeclockminute%10; delay(); if(temp=1|temp=2|temp=3) P0=0; else P0=32; P1=0xbf; delay(); if(temp=6) P0=0; else P0=64; if(mode) P1=displayCodesecond/10; else P1=displayCode0; delay(); if(temp=6) P0=0; else P0=128; if(mode) if(ET2) P1=displayCodesecond%10+128;elseP1=displayCodesecond%10; else P1=displayCode0; delay();void main()initial();sound();while(1)switch(select) case 0: display(0,1); break;case 1:if(num<=2500) display(1,0); else display(0,0); break; case 2:if(num<=2500) display(2,0); else display(0,0); break; case 3:if(num<=2500) display(3,0); else display(0,0); break; case 4:if(num<=2500) display(4,1); else display(0,1); break; case 5:if(num<=2500) display(5,1); else display(0,1); break; case 6:if(num<=2500) display(6,1); else display(0,1); break; default:break;if(second=0)if(minute=0|minute=30)sound(); if(minute=clockminute&&hour=clockhour) TR2=1; modeselect=1;if(modeselect=1&&hour=clockhour&&!(minute-clockminute)%5) TR2=1;电路的设计与仿真我们使用的仿真软件是,系统的仿真图如图()所示:图()系统仿真图心得与体会在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。每次课程设计是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有自己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析电路,设计电路的能力。我相信是对我的一个很好的提高。平时在学习理论知识的时候,我们应该更注重实践,应付考试有考试的方法。这次的课程设计让我懂得了它们在实际中的用途,还有我们身边的很多数字钟电路,这些都是我们自己可以实现的,以前那些神秘的东西在不断的学习过程中变得不再那么神秘,我相信,以后还有更多的谜底被揭开。通过这次课程设计,我还更加深了理论知识的学习。这次的设计电路我用到了单片机的不少功能,通过自己分析和设计更好地运用了它们,而且还学会了它们更多的功能,发现它们的功能远比书上说的多很多,可以利用不同的接法设计出各种各样不同的电路出来。模电课程设计学到得方法在这里可以继续使用,比如MULTISIM等学习软件,给设计提供了很大的便利。课程设计机会不多,这学期很好,有足够的时间,上学期因为模电课程设计临近期末才给出来,做得很匆忙,觉得不是敷衍老师,而是敷衍自己。虽然自己很努力的做了,但觉得做得不够好,难免有点遗憾。这学期本来课不多,课程设计又给得比较早,自己认真做了,觉得还是小有收获。碰到的问题越让人绝望,解决问题之后的喜悦程度就越高。作为工科类的学生,以后工作了难免要碰到许许多多的问题,不要绝望,坚持,直到看到胜利的曙光。参考文献1 伍时和,吴友宇,凌玲。数字电子技术基础,2 王法能. 单片机原理及应用M. 科学出版社,20043 陈 宁. 单片机技术应用基础M. 南京:南京信息职业技术学院, 20054 刘 勇. 数字电路 M. 电子工业出版社, 2005

    注意事项

    本文(数电课程设计基于AT89S51单片机的 多功能数字钟的设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开