通信技术专业毕业设计(共36页)_第1页
通信技术专业毕业设计(共36页)_第2页
通信技术专业毕业设计(共36页)_第3页
通信技术专业毕业设计(共36页)_第4页
通信技术专业毕业设计(共36页)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上通信技术专业毕业设计诚信声明本人郑重声明:所呈交的毕业设计文本和成果,是本人在指导老师的指导下,独立进行研究所取得的成果。成果不存在知识产权争议,本毕业设计不含任何其他个人或集体已经发表过的作品和成果。本人完全意识到本声明的法律结果由本人承担。毕业设计者签名:年月日摘要:本文介绍了基于AT89S51单片机设计的电子数字秒表的调试和使用方法。本设计通过AT89S51单片机以及单片机最小系统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,数码管前两位显示分钟,后两位显示秒。通过按键能对秒进行设置,并利用单片机

2、内部存储器EEPRom,可以存储十组数据,可进行正计时、倒计时的切换。当倒计时结束蜂鸣器报警,倒计时时间可设置,可以查看记录的数据,暂停,清零等功能。电子数字秒表计时器是能够精确的记录时间,广泛用于各种继电器、电磁开关、延时器、定时器等的时间测试;在体育竞技计时方面也得到广泛应用,拥有较强的实用性。关键字:AT89S51单片机;驱动芯片;四位一体数码管前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具

3、大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时间被认为是最宝贵的资源,为了对时间有更深刻的了解,同时也在电子方面有更深刻的认识,通过学习,本次设计主要介绍用单片机内部的定时/计数器来实现电子数字秒表的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子数字秒表。相信它会越来越深入地

4、浸透到人们的生活中,并且将在一定程度上影响人们对生活的理解和诠释。用单片机制作电子产品也会越来越多,也是众多领域实施编程开发不可缺少的一部分,这将必然成为一种趋势。为更多的了解单片机的原理和应用,故做此设计来进行巩固。下面就是计时器设计的具体过程。绪论.1课题研究的背景随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。从奥运会的计时技术的进步就可以看到计时科技的进步,一百多年过去了,首届现代奥运会上的计时所用的跑表到如今的一系列高科技计时装置,如高速数码摄像机、电子触摸垫、红外光束、无线应答器等等。随之当今计时技术的快速发展,即便千分之一秒的差距也决定着冠

5、军的归属。在现在体育竞技比赛中,运动员的水平不断提高,差距也在不断缩小,这就要求对时间精度要求越来越高,有时冠军之间的差距只有几毫秒,因此就要高精度的秒表来记录成绩。在机械控制和家电计时运作与暂停都需要秒表来控制,这也是秒表的一个较为广泛的应用。秒表携带方便,成本低,应用广泛,具有广泛的市场前景。.2课题的研究目的与意义电子数字秒表计时器是能够精确的记录时间,广泛用于各种继电器、电磁开关、延时器、定时器等的时间测试;在体育竞技计时方面也得到广泛应用,拥有较强的实用性。制作电子数字秒表计时器能够对我们学习的知识进行一个系统的实践,进一步巩固和加深我们对基础理论知识、基本技能掌握,将知识进行系统化

6、和技能操作的实践知识综合化。通过完成电子数字秒表计时器的设计、制作、调试,让我们对电子产品的整个制作过程有一个完整的认识,考验我们对电路的设计能力,程序的编译能力,以及产品的焊接组装能力,在实践中提高技能水平。.3课题解决的主要内容本课题所研究的电子数字秒表是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:(1)选用电子数字秒表芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。(2)根据选用的电子数字秒表历芯片设计外围电路和单片机的接口电路。(3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。(4)根据硬件电路图,在开发板上完成器件的焊接。(5

7、)根据设计的硬件电路,编写控制AT89S51芯片的单片机程序。(6)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。(7)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。设计任务:掌握单片机程序设计、调试和应用电路设计、分析及调试检测。基本要求:设计一按键控制数码管显示的电子数字秒表,能实现存储十组数据,数码管前两位显示分钟,后两位显示秒,可完成正计时、倒计时可以切换。在倒计时结束时蜂鸣器报警,同时倒计时时间可自行设置。还可以查看记录的数据,具备暂停,清零等功能。.4系统硬件设计.4.1电路设计框图本设计通过AT89S51单片机以及单片机最小系

8、统和三极管驱动以及外围的按键和数码管显示等部件,设计一个基于单片机的简易计时器。设计通过四位一体共阳极数码管显示,并能通过按键对秒进行设置,对数据进行存储和查看。图1电路设计框图.4.2功能实现系统在正常工作时,LED液晶上分和秒都显示为零,当按下k1键时,电子数字秒表开始计时,如果想要对时间进行调整,可以通过调整设置模块来实现。当按下k2键时,可以存储数据,每按一次存储一组数据,能存储最近十组数据。如想要倒计时可以按下k5键来调节倒计时的秒数,倒计时结束时蜂鸣器响五声后停止。如想要切换到正计时可以按下k4键,同时k5键还可以调闹钟,闹钟时间到时,蜂鸣器响五声数码管闪五下停止。如果想要退出重新

9、计时就再按一下k6即可复位。系统原理图如图2:图2原理图2软件设计时间被认为是最宝贵的资源,为了对时间有更深刻的了解,同时也在电子方面有更深刻的认识,通过学习,选择做一个通过按键控制数码管的电子数字秒表设计,电子数字秒表的核心部件单片机AT89S51,它在整个人类史上的地位已经不容置疑地确立了,相信它会越来越深入地浸透到人们的生活中,并且将在一定程度上影响人们对生活的理解和诠释。用单片机制作电子产品也会越来越多,也是众多领域实施编程开发不可缺少的一部分,这将必然成为一种趋势。为更多的了解单片机的原理和应用,故做此设计来进行巩固。本电路以AT89S51单片机最小系统为控制核心,数码管显示由三极管

10、8550驱动,输入部分采用五个独立式按键k1、k2、k3、k4、k5。显示部分的型与单片机P0口相连,数码管的的位由单片机的P2口控制。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值。2.1软件系统框图系统设计图如图2所示。图3软件设计图2.2程序流程图图4程序流程图2.3程序编写#include<reg52.h>#defineucunsignedchar#defineuiunsignedintvoiddisplay;charcodetab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0

11、xf8,0x80,0x90,0xff;/数字对应显示码表charcodetab1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/小数点charcodeindex=0xf7,0xfb,0xfd,0xfe;/每位数字对应数码管显示位置ucnum8;/每位数字存放数组ucval104;/存储的记录10为记录序列,8为每组记录中的数字charval_index;/记录序列标志位ucset_index,ok_flag,timing;bitmode=1;/运行模式,1为正向计数,0为反向计数。bitfin_flag=0;/完成标志位,当反向计数结束时

12、,此位为高电平,触发蜂鸣器bitset_shan;sbitbeep=P36;sbitkey1=P10;sbitkey2=P11;sbitkey3=P12;sbitkey4=P13;sbitkey5=P14;voiddelayuii,j;forfor;voidinit/初始化设计TmoD=0x11;TH0=0x4b;TL0=0xff;TH1=0x4b;TR0=0;TL1=0xff;ET1=1;TR1=1;ET0=1;EA=1;val_index=0;voidclruci;fornumi=0;voidsetupok_flag=0xff;set_index=0;whiledisplay;if/按动k

13、Ey1设置值加1delay;ifif|)numset_index+;ifnumset_index=0;elseif|)numset_index+;ifnumset_index=0;whiledisplay;if/按动kEy2设置位置加1delay;ifset_index+;ifset_index=0;if|)num0=0;num1=0;num2=0;num3=0;mode=1;elseif&&&&&&)if&&&&&&a

14、mp;amp;)mode=1;elseif|)mode=0;whiledisplay;if/按动kEy5设置结束delay;ifok_flag=0x00;if|)num0=0;num1=0;num2=0;num3=0;mode=1;elseif&&&&&&)if&&&&&&)mode=1;elseif|)mode=0;/mode=0;whiledisplay;voiddisplayuci;ififforP

15、0=0xff;P2=indexi;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率elseifforP0=0xff;P2=indexi;P0=tab10;delay;/修改此参数可修改刷新频率elseifforP0=0xff;P2=indexi;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率elseififforifP2=index0;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi;ifP0=tab1numi;elseP0=tabnumi;del

16、ay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index1;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi;P0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index2;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index3;P0=tab10;delay;/修改此

17、参数可修改刷新频率P0=0xff;elseP2=indexi;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index0;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index1;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;ifP0=tab1nu

18、mi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index2;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseifforifP2=index3;P0=tab10;delay;/修改此参数可修改刷新频率P0=0xff;elseP2=indexi-4;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0x

19、ff;elseifforP2=indexi;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;elseforP2=indexi-4;ifP0=tab1numi;elseP0=tabnumi;delay;/修改此参数可修改刷新频率P0=0xff;voidalarmif&&&&&&)timing=0;elseif&&&&&&)timing=1;TR

20、0=0;voidmain/主函数uch,g,k;init;clr;whiledisplay;/刷屏显示数码管alarm;if/开始/暂停按钮delay;ifTR0=TR0;whiledisplay;if/记录按钮delay;ifif/当在运行中按下记录键则存储记录forforvalg-1k=valgk;forval9h=numh;/将当前时间存储else/在停止状态下按下记录键查看记录,按动一次序列递减一次,即查看上一次记录fornumh=valval_indexh;/将当前时间存储val_index-;ifval_index=9;whiledisplay;if/复位按钮delay;ifclr

21、;whiledisplay;if&&)/模式选择按钮,仅在停止状态下有效delay;ifmode=mode;whiledisplay;if&&)/时间设置,仅在停止状态下有效delay;ifwhiledisplay;setup;voidT0_timeinterrupt1ucm;TH0=0x4b;/定时器定时时间为50msTL0=0xff;m+;ifm=0;if/正向计数num0+;ifnum0=0;num1+;ifnum1=0;num2+;ifnum2=0;num3+;ifnum3=0;elsenum0-;ifnum0=9;num

22、1-;ifnum1=5;num2-;ifnum2=9;num3-;ifnum3=0;TR0=0;fin_flag=1;clr;voidT1_timeinterrupt3ucshan,beep_stop;TH1=0x4b;TL1=0xff;shan+;ifshan=0;set_shan=set_shan;if|)/当反向计数完成时或计时时间到时beep_stop+;beep=beep;iffin_flag=0;timing=0;num4=0;num5=0;num6=0;num7=0;beep_stop=0;beep=1;2.4软件仿真为了使电子数字秒表能实现单片机内部存储器EEPRom,可以存储

23、十组数据。数码管前两位显示分钟,后两位显示秒。正计时、倒计时可以切换。倒计时结束蜂鸣器报警,倒计时时间可设置。可以设置闹钟,查看记录的数据,暂停,清零等功能。用keilc51软件编辑c语言程序并且编译调试,在编写程序和编译调试的过程中出现了很多问题。在编写程序的时候将数码管显示的子程序和中断漏写了,导致程序不能编译成功。在编写程序是将特殊符号弄错或漏写,在编程时最容易出现的就是将“;”漏写和将“,”和“、”弄错,以至程序不能正常编译。2.5软硬件仿真用keilc51软件编辑c语言程序,将编写好的c语言程序编译成功后生成HEX代码,供下载器使用。使用ProteusISIS绘制原理图,将keilc51和ProteusISIS连接起来调试,进行仿真。当按下k1键时,电子数字秒表开始计时,如果想要对时间进行调整,可以通过调整设置模块来实现。当按下k2键时,可以存储数据,每按一次存储一组数据,能存储最近十组数据。如想要倒计时可以按下k5键来调节倒计时的秒数,倒计时结束时蜂鸣器响五声后停止。如想要切换到正计时可以按下k4键,同时k5键还可以调闹钟,闹钟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论