ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:178.31KB ,
资源ID:27025158      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27025158.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机电子时钟设计2.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机电子时钟设计2.docx

1、单片机电子时钟设计2 单片机电子时钟学 生 姓 名: 学 号: 专 业 班 级: 指 导 教 师: 摘 要单片机 即单片微型计算机。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要求也越来越高。怎样让时钟更好的为人民服务,怎样让我们的老朋友再次焕发青春呢?这就要求我们不断设计出新型的时钟,来不断满足人们的日常生活需要。然

2、而市场上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么,有没有一款既简单实用价格又便宜的时钟呢?我们课程设计小组设想:可不可以利用单片机功能集成化高,价格又便宜的特点设计一款结构既简单,价格又便宜的单片机电子时钟呢? 基于这种情况,我们课程设计小组成员多方查阅资料,反复论证设计出了这款既简单实用,又价格便宜的单片机电子时钟。关键词:单片机 、 时钟 、 计时目 录摘要 1第一章 系统设计要求 21.1 基本功能 21.2 扩展功能 2第二章 硬件总体设计方案 32.1系统功能实现总体设计思路 32.2各部分功能实现 42.3系统工作原理 52.4时钟各功能分析及图解 62.4.1电路各功能图

3、解分析 62.4.2电路功能使用说明 10第三章软件总体设计方案 113.1 主程序流程图 113.2 总中断程序流程 123.3控制电路的C语言源程序 16第四章 课程设计结果分析 23第五章 总结 24致谢 25参考文献 26引 言 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常

4、调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时

5、钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。第一章 系统设计要求1.1 基本功能(1)能够显示时分秒(2)能够任意设置定时时间第二章 硬件总体设计方案本次设计时钟电路,使用了AT89C2051单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分,使用C语言程序来控制整个时钟显示,

6、使得编程变得更容易,这样通过3个模块:键盘、芯片、显示屏即可满足设计要求。2.1系统功能实现总体设计思路此设计原理框图如图2-1所示,此电路包括以下3个部分:单片机,键盘,及显示电路。图2-1 设计原理框图经多方论证硬件我们小组采用AT89C51单片机和7SED八位共阳极数码管等来实现单片机电子时钟的功能。详细元器件列表如表2.1所示:表2.1 详细元器件列表AT89c20511片7SED4位共阴极数码管1片NPN三极管4个10uf电容1个27电容2个560欧姆电阻8个4.7k欧姆电阻6个10k欧姆电阻1个4脚按键2个11.0592M晶振1个2.2各部分功能实现(1) 单片机发送的信号通过程序

7、控制最终在数码管上显示出来。(2) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3) 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。2.3系统工作原理设计的电路主要由3个模块构成:单片机控制电路,显示电路、以及校正电路。详细电路功能图如图2-2: 图2-2 详细电路功能图本设计采用C语言程序设计,使单片机控制数码管显示时、分,分计数器计满60后向时计数器进位,小时计数器按“12翻0”规律计数。时、分的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分显示,单片机对数据进行处理同时在数码管上显示。

8、2.4时钟各功能分析及图解2.4.1电路各功能图解分析 (1) 时钟运行图仿真开始运行时,或按下key4键时,时钟从12:00:00开始运行,其中key2键对分进行调整,key3对小时进行调整,key6可以让时钟暂停。时钟运行图如图 2-3 所示: 图2-3 时钟运行图(2)秒表计时图当按下key1键进入秒表计时状态,key6是秒表暂停键,可按key4键跳出秒表计时状态。如图2-4: 图2-4 秒表计时图 该数字钟是用一片AT89C51单片机通过编程去驱动4个数码管实现的。通过2个开关控制,分别为:KEY1调节时钟;KEY2调节分钟。A通过P2口和P3口去控制数码管的显示如图所示P2口接数码管

9、的ag端,是控制输出编码,P3口接数码管的18端,是控制动态扫描输出AT89C51单片机,通过编写程序对数码显示进行控制。4个7段数码管显示时钟和秒表信号。第三章软件总体设计方案3.1 主程序流程图:软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。如图3-1: 图3-1 主程序流程图. 3.2 总中断程序流程 图3-2 中断流程图时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断是否让闹铃工作。程序中包含时间的设定,如设定tcount来使秒等工作,进而来控制分和时。如上图图3-2。A秒表中断程序流程秒表功能通过

10、另一个程序来实现。通过保护主程序的数据来进行秒表功能。程序中需要设置秒表的具体显示方法。如图3-3: N Y N Y图3-3秒表中断程序流程图B.按键程序流程图3-4为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间和闹钟的调节。图3-4按键程序流程图3.3控制电路的C语言源程序根据流程图,经过认真分析得出控制电路的源程序如下:#include#define uchar unsigned char#define uint unsigned int#define delay_time 3/*宏定义*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u

11、;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;unsigned char code SEG711=0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/ ;/*数字显示数组*/sbit

12、 miaobiao1=P10;sbit tminute=P11;sbit thour=P12;sbit miaobiao2=P13;sbit alarm=P14;sbit P0_0=P00;sbit P1_5=P15;sbit P1_6=P16;sbit P1_7=P17;/*端口定义*/uchar ms=0;uchar flag=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar minute;uchar hour;time1; uchar n,i;void delay(n) while(n-) for(i=120;i0;i-)

13、; /*延时子程序*/ void modify(void) EA=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+; else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; if(alarms72) alarms7=0; dat6=alarms6; dat7=alarms7; if(tminute=0) if(flag=0) dat13+;del

14、ay(280); if(dat3=9) dat14+;dat13=0; if(dat145) dat14=0; if(flag=1) alarms3+; delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0; dat3=alarms3;dat4=alarms4; if(miaobiao1=0)TR0=0;ET0=0;TR1=1;ET1=1; if(miaobiao2=0) TR0=1;ET0=1;TR1=0;ET1=0; dat20=0; dat21=0; dat23=0; dat24=0; dat26=0; d

15、at27=0; ms=0; sec=0; minit=0; if(P1_5=0) TR0=0;ET0=0;TR1=0;ET1=0; if(alarm=0) TR0=0;ET0=0;TR1=0;ET1=0;flag=1; dat0=0; dat1=0; dat2=10; dat3=0; dat4=0; dat5=10; dat6=0; dat7=0; EA=1;/*按键扫描*/void init(void)TMOD = 0x11; TH0 = 0xDB; TL0 =0xFF; TH1=0xDB; TL1=0xFF; ET0 = 1; /10ms ET1=1;/ TR1=1; TR0=1; tco

16、unt=0; ms=0; sec=0; minit=0; EA = 1;/*初始化*/void test(void)for(k=0;k23) time1.hour=0; dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16; dat7=dat17; flag=0; P0=0x01;if(alarms7=dat17)&(alarms6=dat16)&(alarms4=dat14)&(alarms3=dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; dat24

17、=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27; EA=1; 第四章 课程设计结果分析此时钟设计是利用protues仿真软件进行仿真,基本上实现了课程设计要求实现的功能。硬件部分设置了的六个按键。当按键一按下时,进入秒表显示状态,秒表开始计时,当按键六按下时,秒表暂停;当按键四按下时恢复到时间显示功能;当按键二按下时,进入调分状态,按

18、一次,分加一,60一循环;按键三按下时,进入调时状态,按一次,时加一,60一循环;按键五按下时,进入闹铃设置功能,紧接着按下按键二和按键三进行时和分的设置,再按下按键4恢复显示时间,当显示的时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂鸣时间我们设置为10秒。另外,闹铃电路有音乐闹钟的扩展的功能(可以将蜂鸣器换成扬声器再加一段音乐程序即可实现)。调试阶段,出现一些问题。比如,实际小时显示到29才归零,分钟显示到60才进一经过软件调试,以上问题均一一排除,结果达到预期目标。但时间有限,部分扩展功能不能及时实现,比如音乐闹铃。 第五章 总结 经过一周的单片机课程设计,我组成员已基本完成课题要求。

19、功能上基本达标:时钟的显示,秒表显示,定时功能,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;秒表功能,可以满足比赛计时的需要;调时功能,方便快捷;定时功能准确可靠,还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求功能。但是由于时间比较短,出现部分不足:使用定时和秒表功能时时间显示功能停止运行。经讨论只是软件部分还不完善。不过,我们相信,如果时间充足,将软件改进,我们完全可以很好实现所有功能。 另外,在本次设计的过程中,我们发现很多的问题,虽然以前没有做过这样的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的

20、程序算法,虽然以前写过几次程序,但我们觉的写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高,我想这就是我在这次课程设计中的最大收获。致谢本课题在选题及进行过程中得到了吕馨老师的悉心指导。在硬件电路设计当中吕老师帮助分析思路,开拓视角;在软件设计中吕老师帮助调试及修改程序。吕老师严谨求实的治学态度,踏实坚韧的工作精神将使我们终身受益。再多华丽的言语也显得苍白。在此,谨向吕馨老师致以诚挚的谢意和崇高的敬意!图3-5 中断和清零程序流程图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1