单片机秒表课程设计报告_第1页
单片机秒表课程设计报告_第2页
单片机秒表课程设计报告_第3页
单片机秒表课程设计报告_第4页
单片机秒表课程设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

单片机秒表课程设计报告一:课程设题目秒表/时钟计时器二:课程设任务与要求:利用89C51单片机计秒表/时钟计时器通过LED显示器示秒十位和个位,在设计过程中一个存储单元作秒计数单元,当秒钟到来时,就让秒计数单元加1,当计数达到60时,自动返回到0,新开始秒计数。三:设计过:1.设计原:此次课程设题目是秒表/时钟时器,由课程设的要求和任务,我采用的C语言编,设计秒表要求秒定时,采用了时器和FOR循环来定时,其中一个软件个硬件,会在方论证中分析在1时采用的是硬件定时即用单片机内部的时器T0。先时钟初始化,赋初值50ms定时,循20次来进行1秒定时然后由定义的变second来进行加运算,然后将其通过P1,P2口在数管上进行显示。其中码管的显示时,在程序中首先定义了一个关于数码管示的字形码定义以便在显示时调即可。(1)方案论:方案1:在方案1,我们所选用的软件定时,即用for循环定时1秒进行显示的变化。方案2:在方案2,采用的是硬件时,即用单片机内部定时器T0。将时钟初始化,赋入值50ms定时,环20次来进行1定时。方案比较:我们从方面进行两种方的比较,第一,于此次课程设计要求是秒表,则在定时要求比较精确,以采用硬件的定器定时时比较准确的第二,由于秒表的时程序是很小的在利用软件定时用的CPU并不是很,不能显现出来,但正大程序时会很用资源的,所以用定时中断过程中是非常节省资源的。合上述两种比较我们选用了第二方案。(2)新点:a.在课程要求基础上,我们做的电路板上,用复位来控制秒表计时的重新开始,即清零。单片机秒表课程设计报告全文共12页,当前为第1页。b.在以上设计的基上,我们又重新计了一个程序,基本单片机秒表课程设计报告全文共12页,当前为第1页。将秒表在到达59零的瞬间向分的位数进1,程序将会在录3中给出。2.硬件系框图与明:首先,连接的是单机51的最小系统,中包括时钟电路复位电路,在此中包括的元器在附录3中。我所选用的数码管共阴极的,置1时导通,所以将单片的P1.0~P1.7连接码管的a~dp,P2同理。然后在数码管秒表个十位的示则由软件程序控制。3.软件主模块流图与说:单片机秒表课程设计报告全文共12页,当前为第2页。单片机秒表课程设计报告全文共12页,当前为第2页。初始化Count++Second++Second=0数码管显示当前值等待初始化Count++Second++Second=0数码管显示当前值等待判断是否中断Y

NNCount=20?YSecond=59?Y

N单片机秒表课程设计报告全文共12页,当前为第3页。单片机秒表课程设计报告全文共12页,当前为第3页。在真正应用时,我的一秒定时是用时中断的,但单机的T0最长也不能1秒定时,所我们采用50ms定时环20次,用count来制。当秒的时间达到59时,软件来清零时循环从00重新开始。四:课程设总结:1:本次的课程设,使关于51系列片机的,正是我刚刚学到的51单机,在平时课程的学习,我们仅限于理知识的讲解,即知识是很扎实的,实际应用并不是这样。开始时我也觉自己的理论知识经够了,但当我拿到课题时,在脑海里的是非常好的,真正编成和控制,理论和实际结合不到一起,甚至于51芯的使用我都感觉迷茫,还是经过集大量资料才将理论与实际结合到一了。本次课程设我主要负责编程这次不仅锻炼了我C语言的知识,更加们正在学习的51的时与中断结合在起,进行了实际的操作,让我的知识握得更加牢固。次的实际经验之,让我对单片机定时赋初值有了更新的识,对程序的循顺序、结构类型有了非常深刻的认识对真正硬件的连接有了认识,不再自己的知识局限自己狭隘的空间中。2:通过这次程设计——秒表/时钟计器,使我又重新开始习C语言,因为C语言是大一学的至从学完就再也没用,所以开始很陌,我又找了有关资料来了解,才了一点眉目。刚始以为可以用汇很容易就写出来,因为我们正在学习汇语言,以为学的明白了,但是用编时才发现原来都不怎么熟练,编了一程序发现只有一感觉——举步维啊!还是放弃汇编选择C语言吧!对于单机,我们课本学习的80C51,但是这做课程设计用的是89C51,样不仅使我们掌了80C51,而且89C51也有了一定的了解了,在课堂上学习都理论的,跟实永远有一定的差,不实践就不会发现问题。通过这次课设计使我把课堂学习的东西都用了实践中,例如:定时/计数器的应用中断。学习的时不怎么理解,但是实践中应用了以就自然了解了。这次程设计使我受益浅,而且都是实的东西。:这次课程设,我们做的是秒/时钟计时器最终我们选择的用C语言编程,但原来学的只是能看懂别人好的程序而已,过这次课程设计,更加熟练了C语言的程设计思路。这次课程计我主要负责焊电路板,焊接单片机秒表课程设计报告全文共单片机秒表课程设计报告全文共12页,当前为第4页。过程中最困难的地就是数码管的焊,因为数码管的脚和89C51的管是不对应的,而且要免接线的交叉,以最后确定了布最合理的方案,如硬件电路图所示。我这次设计的出现最大问题是电路中的复位电路,开始电路在Proteus上真时都是可以正常复的,但实际的电中复位按键后的电阻的参数不合理,致了RST上有电,复位电路无效所以最后我们去了那个电阻,此时复电路才有效,所理论和实际永远差距,不实践永远发现不了问题。在焊前我们没有想到数码管用插槽固,而是直接焊在了电路板上,这造成了面的很多麻烦,们方案中用的是阴极的数码管,焊接第一个数码管时没注意型号,等焊到一半时才发现上的是共阳极的,所以不得不解焊重新接,这也是一个训,以后焊接器时能用上插槽的尽量用插槽,这在器件了问题时很方便换。最后焊接完后在试验的过程中,刚一接通电源后的电电压烧坏了LED显器显示秒十位的脚,这也是这次课程设计的遗憾,后在硬件的实验还要多小心,避造成不必要的损失。4:通过本次秒表/时钟计时器的设计实,使我对这学期所学51系列的单片机从理论知识到实硬件的应用以及语言知识的回顾更加熟悉了89C51单片机的每一个拐角输出和各项功能而且对硬件电路布线以及焊接能力有了很大的进步。在次试验中,我主负责的是硬件电的布线和焊接以及硬件测试。由于本次验电路比较简单所以我们按照电图布线后就马上开始焊接。焊好一个数管检测后才发现们把共阴极的数管焊接成共阳级的了很不容易才解焊下,有了这次教训,我们在焊接其元器件的时候都提前检测好才开始焊接第一次焊接完成我们上电后发现现了基本功能,可是不能复位,经过我的讨论和反复试,我们发现软件真和硬件实现并不是完全一致的,我们照课本上焊接后于完全实现了秒/时钟计时器功能。快要验收时我们发数码管的一个二管坏了,这才让们意识到没有焊接插针的缺陷,以后一验时一定要尽可让原件可以取下以便出现问题是更好的更换。这次课程计终于圆满的完了,我从理论和件以及实践上懂得了很多,也明白了一团队的合作精神以让我们战胜所的困难。单片机秒表课程设计报告全文共12页,当前为第5页。单片机秒表课程设计报告全文共12页,当前为第5页。五:附录附录1:电路原理图:附录2:实图:单片机秒表课程设计报告全文共12页,当前为第6页。单片机秒表课程设计报告全文共12页,当前为第6页。附录3:源序及程解释:#include<REG51.H>//包含文件REG51。#defineuintunsignedint#defineucharunsignedcharunsignedcharcodeSEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数管0~9的字型码ucharcount,second;//定义变/*===================================*/voidinit()//定义定时器T0初化程序{TMOD=0x01;TH0=(65536-50000)/256;//赋初值定1秒TL0=(65536-50000)%256;ET0=1;单片机秒表课程设计报告全文共12页,当前为第7页。单片机秒表课程设计报告全文共12页,当前为第7页。TR0=1;EA=1;P2=SEG7[0];P1=SEG7[0];}voiddelay(unsignedintk)//定义时程序{unsignedinti,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;}}}//-----------------------------------------------------------voidmain(void){init();//定时器始化while(1)//无限循环{;}}//----------------------------------------------------voidtimer0()interrupt1//定时器T0中断{单片机秒表课程设计报告全文共12单片机秒表课程设计报告全文共12页,当前为第8页。TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;second++;if(second>59)second=0;P1=SEG7[second/10];//显示秒的十delay(10);//延时P2=SEG7[second%10];//显示秒的个位delay(10);}附录4:循环程#include<REG51.H>unsignedcharcodeSEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*===================================*/voiddelay(unsignedintk);//-----------------------------------------------------------voidmain(void){unsignedcharval1=0;longi;while(1){for(i=0;i<380;i++){单片机秒表课程设计报告全文共12页,当前为第9页。单片机秒表课程设计报告全文共12页,当前为第9页。/*P2=0xfd;*/P2=SEG7[val1%10];delay(1);/*P2=0xfe;*/P1=SEG7[val1/10];delay(1);}val1=val1+1;if(val1>59)val1=0;}}//----------------------------------------------------voiddelay(unsignedintk){unsignedinti,j;for(i=0;i<k;i++){for(j=0;j<121;j++);}}附录5:汇程序ORG0000HSTART:MOVR1,#20MOVR2,#10MOVR3,#6MOVR4,#00HLOOP1:MOVR2,#10LOOP:MOVA,R4单片机秒表课程设计报告全文共12页,当前为第10页。单片机秒表课程设计报告全文共12页,当前为第10页。MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP1,AMOVA,BMOVCA,@A+DPTRMOVP2,ALCALLDELINCR4DJNZR2,LOOPDJNZR3,LOOP1MOVP1,#00MOVP2,#00LJMPSTARTDEL:MOVR7,#12DEL1:MOVR6,#123NOPDEL2:DJNZR6,DEL2DJNZR7,DEL1DJNZR1,DELRETTAB:DB3FH,0

温馨提示

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

评论

0/150

提交评论