




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安建筑科技大学大作业(论文)PAGE第13页共17页大作业(论文)课程名称:单片机原理及应用题目:百米赛跑计时器院(系):信控学院专业班级:计算机姓名:学号:指导教师:年7月5日摘要本文阐述了单片机计时器的设计。本设计是许多体育竞赛的必备设备之一。本设计的数字电子秒表是采用8051单片机为中心器件,利用定时/计数器的定时和计数原理,结合显示电路和LED数码管设计计时器。其中软件系统采用汇编语言,硬件系统利用PROTEUS的功能来实现,简单且易于观察,在仿真中观察其实际运行的工作状态。关键字:单片机,仿真,软件,硬件目录2、大作业(论文)任务书………………4大作业(论文)题目……………4本次大作业(论文)应达到的目的……………4本次大作业(论文)任务的主要内容和要求…5应收集的资料及主要参考文献…………………5审核批准意见……………………53、线路图…………………6原理图………………6实验图………………74、程序功能说明…………85、程序流程图……………86、结束语…………………107、致谢……………………108、参考文献………………109、附录(程序清单)……………………109.1C语言………………109.2汇编语言……………132.大作业(论文)任务书西安建筑科技大学大作业(论文)任务书专业班级:计算机1001学生姓名:指导教师(签名):2.1、大作业(论文)题目百米赛跑计时器:利用51系列单片机设计百米赛跑计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1。当跑完百米时,按暂停就得到所需计数,不需要计数时清零即可。2.2、本次大作业(论文)应达到的目的大作业的基本教学目的是培养学生综合运用所学的基础理论、专业知识和基本技能,提高分析与解决实际问题的能力以及科技写作或设计能力。要求学生在做大作业的过程中要有意识地培养自己的实际能力。通过本次大作业的实践,了解单片机工作的原理及应用技术,掌握根据硬件电路设计软件的方法,了解设计过程中的各个基本环节,也为今后的实际应用奠定基础。2.3、本次大作业(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)操作对象:MCS-51单片机显示板。操作要求:完成电路板焊接,软件编制及实验报告。操作步骤:1)选定题目2)完成设计方案。3)设计电路图,用proteus绘制图纸。4)编制程序。5)仿真调试6)撰写工作报告。7)提交报告并演示作品。2.4、应收集的资料及主要参考文献:1)教材2)杨光友,朱宏辉,《单片微型计算机原理及接口技术》,水利水电出版社,2002.9,第一版第一次印刷3)杨文龙,《单片机原理及应用》,西安电子科技大学出版社,1993.6,第一版(4)李华,《MCS-51系列单片机实用接口技术》,北京航空航天大学出版社,1993.5(5)何立民,《单片机应用系统设计》,北京航空航天大学出版社,20022.5、审核批准意见教研室主任(签字)3、线路图(1)原理图(2)实验图首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路。我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1.0~P1.7连接数码管的a~dp,P2口同理。然后在数码管秒表个十位的显示则由软件程序来控制。 4、程序功能说明此次课程设计题目是百米赛跑计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。5、程序流程图在真正应用时,一秒定时是用定时中断的,但单片机的T0最长也不能1秒定时,所以采用50ms定时循环20次,用count来控制。当秒的时间达到59时,用软件来清零时循环从00重新开始。判断是否中断判断是否中断初始化Count++Count=20?NYSecond++Second=59?Second=0数码管显示当前值NY等待NY6、结束语本次课程设计是关于51系列单片机的应用。在平时我们的知识仅限于课堂所了解的,这次课程设计给我们实践的机会。在开始时,编程和控制、理论和实际总是不能联系到一起,让我一度感到迷茫,最后还是翻阅了大量的有关资料,才基本将课程做完。通过这个课程设计,让我发现原来一个小小的单片机有这么多的功能,能在多种领域应用。这也让我明白,在以后的学习中,不仅要努力学习,还要有钻研和创新的精神,对自己所学的知识一定要用心去学。7、致谢感谢老师给我这次实践的机会,让我对理论知识进一步的理解,对51系列单片机功能及应用进一步掌握,使我受益匪浅。8、参考文献(1)教材(2)杨光友,朱宏辉,《单片微型计算机原理及接口技术》,水利水电出版社,2002.9,第一版第一次印刷(3)杨文龙,《单片机原理及应用》,西安电子科技大学出版社,1993.6,第一版(4)李华,《MCS-51系列单片机实用接口技术》,北京航空航天大学出版社,1993.5(5)何立民,《单片机应用系统设计》,北京航空航天大学出版社,20029、附录(程序清单)C语言程序:#include<REG51.H> //包含头文件REG51。H#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; 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中断{ 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); }汇编程序:ORG0000HSTART:MOVR1,#20MOVR2,#10MOVR3,#6MOVR4,#00HLOOP1:MOVR2,#10LOOP:MOVA,R4MOVB,#0AHDIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP1,AMOVA,BMOVCA,@A+DPTRMOVP2,ALCALLDELINCR4DJNZR2,LOOPDJNZR3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论