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

    电子信息工程毕业论文基于单片机的数字时钟设计.doc

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

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

    电子信息工程毕业论文基于单片机的数字时钟设计.doc

    郑州航空工业管理学院单片机课程设计论文 09 届 电子信息工程 专业 0913081 班级题 目 基于单片机的数字时钟设计 学 号 091308133 姓 名 张 笑 笑 指导教师 程 琤 二一 二 年 一 月 三 日一、 电子时钟的基本原理 我们的这次单片机数字式电子钟集成电路基本上都是由振荡器、分频器、计数器、译码器、LED显示器组成。译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差。并且我们还添加了蜂鸣器来增加它的闹钟功能。 本设计就是研究用数字电路实现的数字电子钟,整体的电路设计就是由振荡器、分频器、计数器、译码器、LED显示器、校时电路组成。这种用数字电路实现的电子钟与机械式时钟相比具有更高的准确性和直观性,且使用寿命更长。(1)计数、显示电路 该部分是由两个60进制计数器,一个24进制计数器、译码器、显示器组成。按设计原理连接电路并进行仿真。给60进制计数器一个1 Hz的脉冲。观察数码管的显示,看计数器是否正常计时,并且当秒计数器计满60后向分计数器进位。分计数器计满60后向小时计数器进位。(2)校时电路 当时间不准确时,按下暂停键,然后按选择键来选择时分秒,选定后,按加一减一键来调整时间,并且可以设置闹钟功能。二、电子时钟的硬件设计电路原理图如下图1所示:图1 电子时钟原理图元器件清单如下表1所示:表1 电子时钟元件清单表 序号器件名称参数数量1USB座12USB线13双排针(2)14跳帽25104电容0.1uF66LED灯17电阻2K18STC89C5219晶振12MHz110电容20pF211复位键112电阻10K113蜂鸣器114三极管9015915电阻33011616针座117MAX232118单排针(5)119按键420单排针(3)121跳帽1224位LED数码管223电阻4.7K824电阻3308 三、 电子时钟的软件设计源程序见附录 按键S4按下?调表程序开始初始化程序复位键按下?按键S2按下?加时程序按键S1按下?移动程序按键S3按下减时程序电子时钟程序流程图 : 四、课程设计总结通过着手制作自己和同学调制和焊接的数字时钟,我体会到了学习电子的乐趣,体验到了设计和焊接过程的冥思苦想与设计成功后的成就感。在学习的过程中我们也遇到诸多问题,比如在下载程序的时候,计算机总是提示没有为其上电,经过我组成员的冥思苦想还有老师的相关指导,发现原来我们板子上的两路线焊接有误,经过一番调整,终于下载成功了,让人欣喜万分。从这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高。五、指导教师评语 成绩 指导教师签名附录:#include<reg52.h> #include<intrins.h> /*定义*/ Unsigned char code Tab14=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0,0xf9,0xbf,0xff; unsigned long second; unsigned long clock,temp; unsigned char int_time=0; unsigned char flag=0; sbit k1=P33; sbit k2=P32; sbit k3=P31; sbit k4=P30; sbit bibi=P16; bit k,o=0; sbit x=P27; unsigned char m; void delay(unsigned int j) unsigned char i;while(j-) for(i=0;i<60;i+); void key_set() /set按键检测 if(k4=0)/按下K5,调时标志转换delay(40);if(k4=0) while(k4=0);/判断是否按键松开,松开之后才执行下面的程序;flag+=1;if(flag=2)flag=0; /*扫描函数*/ void Display() if(flag=0) temp=second;else temp=clock; P2=0x7f; if(k=0&&flag=0)|(o=0&&flag=1) P0=Tabtemp/3600/10; else if(k=1&&flag=0)|(o=1&&flag=1) if(temp/3600%10>=8) P0=Tabtemp/3600/10+2; else P0=Tabtemp/3600/10+1; delay(2); P0=Tab13; P2=0xbf; if(k=0&&flag=0)|(o=0&&flag=1) P0=Tabtemp/3600%10; else if(k=1&&flag=0)|(o=1&&flag=1) P0=Tabtemp/3600%10+2; delay(2); P0=Tab13; P2=0xdf; P0=Tab12; delay(2); P0=Tab13; P2=0xef; P0=Tabtemp%3600/60/10; delay(2); P0=Tab13; P2=0xf7; P0=Tabtemp%3600/60%10; delay(2); P0=Tab13; P2=0xfb; P0=Tab12; delay(2); P0=Tab13; P2=0xfd; P0=Tabtemp%60/10; delay(2); P0=Tab13; P2=0xfe; P0=Tabtemp%60%10; delay(2); P0=Tab13; P0=0xff; delay(2); /*Beep函数*void beep()/参数a控制响的次数,1只响一声unsigned char beep_i,i;P2=0x7f;/x=0;P0=0xf7;while(1) beep_i=5;while(beep_i-)for(i=0;i<50;i+) bibi=0;delay(1);bibi=1;delay(1);P2=_cror_(P2,1); if(P2=0x7f) if(P0=0xf7) P0=0xfe;else P0=0xf7;if(k4=0)delay(5); if(k4=0)while(!k4);return ; delay(250);delay(400); /*数函数*/ void main(void) TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; k=1; second=0; clock=0; while(1) if(second=clock&&k=o)beep(); if(flag=0) if(k1=0) delay(5); if(k1=0) dosecond=second+3600;for(m=0;m<15;m+) Display();while(k1=0); else if(k2=0) delay(5); if(k2=0) dosecond=second+60;for(m=0;m<15;m+) Display();while(k2=0); else if(k3=0) delay(5); if(k3=0) dosecond=second+1;for(m=0;m<15;m+) Display();while(k3=0); else if(flag=1) if(k1=0) delay(5); if(k1=0) doclock=clock+3600; if(clock>=43200) clock=0;o=o; for(m=0;m<15;m+) Display();while(k1=0); else if(k2=0) delay(5); if(k2=0) doclock=clock+60;for(m=0;m<15;m+) Display();while(k2=0); Display(); key_set(); void interserve(void) interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256;int_time+;if(second>=43200) second=0;k=k; if(int_time=20) int_time=0; second+;

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开