广东工业大学华立学院课程设计(论文)课程名称:MCS-51系列单片微型计算机及其应用题目名称:秒表设计学生学部(系):机械电气学部电气工程系专业班级:09电气工程及其自动化(3)班学号:12030903044学生姓名:黄志勇指导教师:王赟2012年06月11日广东工业大学华立学院课程设计(论文)任务书一、课程设计(论文)的内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。二、课程设计(论文)的要求了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零功能。三、课程设计(论文)应完成的工作1:认真审题,清楚题目内容要求及了解其目的和意义。2:查找和搜集资料,设计秒表工作流程图及工作线路图。题目名称秒表设计学生学部(系)机械电气学部电气工程系专业班级09电气工程及其自动化(3)班姓名黄志勇学号120309030443:设计工件的电路原理图。4:焊接硬件。5:设计秒表源程序。6:设计的心得及体会。7:总结四、课程设计(论文)进程安排序号设计(论文)各阶段内容地点起止日期1选择课题,明确设计要求,查阅资料图书馆6.42方案论证、系统总体设计宿舍6.53硬件电路原理图设计宿舍6.6-6.94程序流程图设计、源程序的编制及调试宿舍6.9-6.10系统调试及分析宿舍6.11课程设计报告的撰写图书馆6.12-6.13五、应收集的资料及主要参考文献[1]吴金戎,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2002[2]楼然苗,李光飞.51系列单片机设计实例[M].北京:航空航天大学出版社,2003:发出任务书日期:年月日指导教师签名:计划完成日期:年月日教学单位责任人签章:目录1:课题研究目的和意义及介绍...……………….............................51.1目的意义…………………………………………………………………..5.1.2设计所需的仪器及材料……………………………………………….62:设计思路及描述………………………………………………………62.1数字秒表工作流程图………………………………………………...72.2工作线路图…………………………………………………………….73:设计的心得及体会………………………………………………………..74:总结……………………………………………………………………………..75:参考文献………………………………………………………………………8附录1材料清单……………………………………………………………...9附录2电路原理图…………………………………………………………10附录3主要程序清单………………………………………………………111:课题研究目的和意义及介绍1.1、目的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。2)掌握定时器、外部中断的设置和编程原理。3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义.1.2设计所需的仪器及材料集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE6000),电路铜板,数码管,铜线。2:设计思路及描述该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。方框图如下图:图1数字秒表设计导向图2.1数字秒表工作流程图图2数字秒表工作整体流程图..2.2工作线路图利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。如图:图3。1秒表系统连线图P0.0—P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。P3.6、P3.7分别接按键。3:设计的心得及体会通过这一周的课程设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。本次电子课程设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。经过几天的奋战,我感受很深.,在设计过程中深感自己在培养动手能力这方面还需很大的努力。同时,通过这次积极的通过网络,书籍等资源,在同学的帮助下,把这个课程设计作为一次锻炼,为以后生活学习中培养善于动手,乐于动手的习惯。单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。在设计的过程中也不可避免的遇到了很多的问题。尤其是在调试过程中,会因为某些原因出不来结果,通过这次的课程设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,有学会了很多上课时没掌握的东西,最后在调试结果出来后,我更是无比的兴奋,无比的自豪。总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,在以后的学习和生活中受用终身4:总结.本文主要从硬件方面说明设计的总体思路和设计的实现过程,预期的设计目的是:能够实现时钟的基本功能,正常显示时分秒.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题,需要修改原理图;比如硬件的布局,要作到使连接的线路最短,并不没有想象中的那么容易;再焊接过程中稍不注意就会出现管脚的错位,有些在硬件测试过程中才检查出来。在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使作者明白要把所学到的理论转化为实践需要一段努力学习的过程;在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。.参考文献[1]李鸿.单片机原理及应用[M].湖南:湖南大学出版社,2004[2]何立民.单片机高级教程[M].第1版.北京:北京航空航天大学出版社,2001[3]徐惠民、安德宁.单片微型计算机原理接口与应用[M].第1版.北京:北京邮电大学出版社,1996[4]肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8[5]李广第.单片机基础[M].第1版.北京:北京航空航天大学出版社,1999[6]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.3[7]何立民.从Cygnal80C51F看8位单片机发展之路[M].单片机与嵌入式系统应用,2002年,第5期:P5~8[8]夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2001.附录1材料清单名称型号数量单片机AT89C20511数字集成芯片743743数码管6按钮小(尺寸6×6mm×5.5)23晶振12M(小体积)1底座16脚3底座40脚1磁片电容30P2电阻10k4电解电容10微法1非门开关6电源线150cm1固定脚铜3套PCB线路板直径11.51附录2电路原理图图4数字秒表程序硬件电路连线图附录3主要程序清单OUTBITEQU08002H;位控制口OUTSEGEQU08004H;段控制口LSECEQU31H;SECEQU32H;MINEQU33H;FLAGBIT20H.0;位定义KEY1BITP3.6;KEY2BITP3.7;ORG0000H;LJMPSTART;初始程序入口地址ORG000BH;LJMPTIMER0;加一子程序入口地址ORG0060HSTART:LCALLINITIAL;调用启动LCM子程序进行初始化LOOP:LCALLDISPLAY;退出时钟调整时键释放等待JNBKEY1,WAIT;判断KEY1.等待JNBKEY2,RESET;LJMPLOOP;CONTROL:CLRTR0;关定时器LCALLDISPLAY;JNBKEY1,CONTROL;CPLFLAG;JBFLAG,BEGIN;SETBTR0;重置定时器LJMPLOOP;WAIT:LCALLDISPLAY;JNBKEY1,CONTROL;LJMPLOOP;BEGIN:CLRTR0;LJMPLOOP;RESET:JNBTR0,CLE;LCALLLOOP;CLE:LCALLCLEAR;LJMPLOOP;INITIAL:LCALLCLEAR;SETBFLAG;MOVDPTR,#TAB;MOVTMOD,#01H;定时器0,方式一MOVTL0,#0F0H;MOVTH0,#0D8H;SETBEA;开中断SETBET0;开T0中断RET;TIMER0:CLRTR0;MOVTL0,#0F0H;MOVTH0,#0D8H;重新赋值SETBTR0;INCLSEC;MOVA,LSEC;CJNEA,#100,EXIT;MOVSEC,#00H;INCSEC;MOVA,SEC;CJNEA,#60,EXIT;MOVSEC,#00H;INCMIN;MOVA,MIN;CJNEA,#60,EXIT;MOVMIN,#00H;EXIT:SETBTR0;RETI;CLEAR:MOVA,#00H;MOVLSEC,A;MOVSEC,A;MOVMIN,A;RET;DISPLAY:MOVR3,#01H;MOVR0,#31H;MOVR4,#3;选择3组工作寄存器DISPLAY1:MOVA,@R0;MOVB,#0AH;DIVAB;MOVR5,A;MOVA,B;MOVDPTR,#TAB;MOVCA,@A+DPTR;查字形码表MOVDPTR,#OUTSEG;设置显示起始位置MOVX@DPTR,A;设定显示位置MOVDPTR,#OUTBIT;MOVA,R3;MOVX@DPTR,A;显示数据LCALLDELAY100US;MOVA,#00H;MOVX@DPTR,A;MOVA,R3;RLA;MOVR3,A;MOVA,R5;MOVDPTR,#TAB;MOVCA,@A+DPTR;MOVDPTR,#OUTSEG;MOVX@DPTR,A;MOVDPTR,#OUTBIT;MOVA,R3;MOVX@DPTR,A;LCALLDELAY100US;MOVA,#00H;MOVX@DPTR,A;MOVA,R3;RLA;MOVR3,A;INCR0;DJNZR4,DISPLAY1;RET;DELAY100US:MOVR7,#50;循环50次DJNZR7,$;r7-1不为0,执行本指令RET;;//////////查表指令TAB:DB3FH,06H,5BH,4FH,66H,6DHDB7