单片机课程设计(论文)-电子秒表秒表论文电子秒表设计课程论文单片机电子秒表单片机秒表设计论文课程设计_第1页
单片机课程设计(论文)-电子秒表秒表论文电子秒表设计课程论文单片机电子秒表单片机秒表设计论文课程设计_第2页
单片机课程设计(论文)-电子秒表秒表论文电子秒表设计课程论文单片机电子秒表单片机秒表设计论文课程设计_第3页
单片机课程设计(论文)-电子秒表秒表论文电子秒表设计课程论文单片机电子秒表单片机秒表设计论文课程设计_第4页
单片机课程设计(论文)-电子秒表秒表论文电子秒表设计课程论文单片机电子秒表单片机秒表设计论文课程设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

电子秒表摘要本设计的成品是在单片机最小系统的基础上增加显示电路和控制电路来完成电子秒表的硬件电路的。电子秒表电路主要由AT89S52单片机最小系统电路、七段数码管动态显示电路和控制电路组成,它能实现八位数码显示和多次计时,能通过控制电路能控制时间的暂停、开始和清零,能够多次存储时间,并查询显示计时时间的顺序。关键字AT89S52数码管最小系统1方案设计11系统分析设计的电路主要是能多次记时和查询时间,记时的多少通过显示电路显示出来,每一次计时可以通过控制电路查询出来。设计框图如图一所示12系统方案方案一利用AT89S52单片机设计数显定时器和定时器。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。利用74HC573锁存器和按键作为控制电路,通过位选和段选来实现数码管的显示。2硬件设计21控制芯片的介绍AT89S52(与AT89S51相同)单片机的外型如图四所示。单片机可分为通用型和专用型,种类繁多。这里我们主要介绍AT89S52单片机是属于典型代表的MCS51系列单片机,它是一种能处理8位数据的通用型单片机。以ATMEL公司生产的具有CMOS工艺、低功耗、高性能的AT89S52为例,介绍单片机的工作原理、控制程序的编写及开发应用。AT89S52是一个高性能CMOS8位单片机,芯片内集成了通用8位中央处理器,片内含8KBYTES的可反复擦写1000次的FLASH只读程序存储器ROM,支持ISPINSYSTEMPROGRAMMABLE功能。AT89S52内部有128BYTES的随机存取数据存储器(RAM),5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。兼容标准MCS51指令系统及80C51引脚结构。图五AT89S52引脚图图四AT89S52有40个引脚,32个外部双向输入/输出(I/O)口。该芯片还具有PDIP40、TQFP44和PLCC44三种封装形式,以适应不同产品的需求。外型和封装形式如图四所示。从外观上看单片机就是一块集成电路,它与在模拟电路和数字电路中学习过的集成电路电路最主要的区别是普通集成电路电路的引脚功能基本上固定的,而单片机的一些引脚的功能是可以通过编程进行控制,一些引脚既可作输入又可作输出。单片机广泛用于工业控制、智能仪器仪表、计算机设备及网络、通信领域、家用电器、医用设备、军用设备等各个方面。对于单片机这样的集成电路,要设计让它完成一个特定的工作任务,除完成设计相关的硬件电路外,还要设计相应的控制软件,才能使整个电路按照设计要求自动地进行工作。所以,电子电路学习到单片机这个知识层次时,除要学习相关硬件知识,还学习相关软件设计知识,才能对单片机进行控制和应用。单片机的开发和应用,是利用硬件和软件的结合来实现的。由于单片机的功能强大,充分理解各引脚功能,灵活编写控制程序去控制引脚功能,完成各种需要的设计。22单片机最小系统221振荡电路让单片机活起来的心脏AT89S52是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体(如图六中所示),给单片机加上工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,使单片机的内部电路,单片机的内部程序(若有)开始工作起来。振荡电路不工作,整个单片机电路都不能正常工作。AT89S52常外接6MHZ、12MHZ的石英晶体,图中接入的是12MHZ的石英晶体,最高可接24MHZ石英晶体。18脚和19脚分别对地接了一个20P的电容,目的是防止单片机自激。如果从18脚输入外部时钟脉冲,则19脚接地。222复位电路恢复初始状态值复位电路就是在RST端(9脚)外接的一个电路,目的是当单片机上电开始工作时,内部电路从初始状态开始工作,或者在工作中要想人为的让单片机重新从初始状态开始工作。在时钟工作的情况下,只要AT89S52的复位引脚高电平保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且从地址0000H处开始读入程序代码而执行程序。具体电路如图六所示,由C1和R2构成上电自动复位电路,S17实现手动开关复位。223程序下载接入电路图六中有一个下载线接口J13,J13的1脚接5伏电源,2、3、4脚接单片机的P1口的P15、P16、P17三个引脚,5脚接复位引脚,6脚接地。在计算机中编写好的程序通过数据下载线连接到单片机实验电路插接口(J13),实现从计算机将程序下载到单片机的程序存储器中,完成单片机的程序写入工作。图六单片机最小系统由于AT89S51不仅象89C51支持程序的并行写入,而且支持ISP在线可编程的串行写入,利用下载线将计算机将原程序编译后进行串行写入到AT89S51,速度快、稳定性好,同不时需要VPP烧写高压,只要45V供电即可完成写入。23电源电路设计电源电路如图110所示。通过J15电源插座接入大于69伏的直流电压,经7805稳压后给整个电路提供5伏直流电压。R11和D10为电源指示电路,通电后D10亮。为了有效消除干扰,接入了几只001F的电容器(电路图中没有)。图七123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE27JUL2006SHEETOFFILEG下下634561787120下200607221下下下下下下下1DDBDRAWNBYEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U1AT89S51下下110592MHZC620PC720PX1X2R210KC147US17RESETRESETP17P10P11P12P13P14P15P16ALE123456J13CON6D00D01D02D03D04D05D06D07P30P31P32P33P34P35P36P37P20P21P22P23P24P25P26P27P15P16P17VCCVCC下下下下下下下下下VCC123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE27JUL2006SHEETOFFILEG下634561787120下200607221下下下下下下下1DDBDRAWNBYEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U1AT89S51下下110592MHZC620PC720PX1X2R210KC147US17RESETRESETP17P10P11P12P13P14P15P16ALE123456J13CON6D00D01D02D03D04D05D06D07P30P31P32P33P34P35P36P37P20P21P22P23P24P25P26P27P15P16P17VCCVCC下下下下下下下下下VCC123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE27JUL2006SHEETOFFILEG下下634561787120下200607221下下下下下下下1DDBDRAWNBYR111KD10LEDC10104C12104C11104C13104C14104C15104D9C9100UFC8220UFVIN1GND2VOUT3U47805VCC12J15下下下下12J165V下下24显示电路设计实验电路设计了一组数码管显示电路,八只数码管可以单只驱动,也可动态驱动显示八位数码管。通过锁存器74HC573控制数码管的显示,电路如图八所示。25控制电路设计控制电路主要由三个独立的按键组成,我们可以用按键来控制计时的开始、暂停、清零、倒计时、锁存和查询。所有按键的一端接地,另一端与单片机的P1口的几个引脚相连。3软件设计31程序设计思路在硬件的基础上,可以通过软件完成电子秒表的设计。我先用了矩阵键盘上的四个独立按键作为控制键。用一个键去控制计数的开始、暂停和清零;用一个键作计时的保存按键;用一个按键作查询按键,最后一个键用作60秒倒计时,用按键扫描的方法判断按键是否按下。用动态显示的方法扫描秒表的计数,显示所计下的数。用定时中断作为计数的基础。保存所计数的方法是将所计数先放入数组内,再经过查询的方法将数组中的数一个一个显示出来。32源程序INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARDOT,SEC,MIN,NUM,KEY_T,I,J,T,BSBITDULAP22SBITWELAP23SBITKEY3P11SBITKEY4P12SBITKEY5P14SBITKP13UCHARTABLE13UCHARTABLE23UCHARTABLE33UCHARK3BITFLAGUCHARCODETABLE0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X40VOIDDISPLAYUCHAR,UCHAR,UCHARVOIDDELAYUINTZVOIDINITVOIDKEY_TOVOIDKEYCAN3VOIDKEYCAN4VOIDKEYCAN5VOIDMAININIT/初始化子程序WHILE1IFK1/有键按下DELAY10/延时10MS去抖IFK1/确定是有键按下WHILEK1/等待键松开KEY_TO/按键处理KEYCAN3KEYCAN4KEYCAN5VOIDDELAYUINTZUINTX,YFORXZX0XFORY110Y0YVOIDDISPLAYUCHARDOT,UCHARSEC,UCHARMIN/显示函数P0TABLEDOT10DULA1DULA0P00XFFP00X7FWELA1WELA0DELAY1P0TABLEDOT/10DULA1DULA0P00XFFP00XBFWELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XDFWELA1WELA0DELAY1P0TABLESEC10DULA1DULA0P00XFFP00XEFWELA1WELA0DELAY1P0TABLESEC/10DULA1DULA0P00XFFP00XF7WELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XFBWELA1WELA0DELAY1P0TABLETDULA1DULA0P00XFFP00XFDWELA1WELA0DELAY1P0TABLE0DULA1DULA0P00XFFP00XFEWELA1WELA0DELAY1VOIDINIT/初始化WELA0DULA0TMOD0X11TH065536300/256TL065536300256TH1655361000/256TL1655361000256EA1ET01ET11TR11TR00VOIDTIMER0INTERRUPT1IFFLAG0TH065536300/256TL065536300256NUMIFNUM5NUM0DOTIFDOT100DOT0SECIFSEC60SEC0MINIFMIN60MIN0IFFLAG1TH065536300/256TL065536300256NUMIFNUM5NUM0DOTIFDOT100DOT0SECIFSEC0TR00VOIDTIME1VOIDINTERRUPT3DISPLAYDOT,SEC,MINTH1655361000/256TL1655361000256VOIDKEY_TO/按键处理子程序KEY_T/按键次数加1IFKEY_T1/第一次按下TR01/启动定时器0ELSEIFKEY_T2/第二次按下TR00/关闭定时器0ELSEIFKEY_T3/第三次按下DOT0/三个计数器清零SEC0MIN0KEY_T0/按键次数清零VOIDKEYCAN3/保持三组数据IFKEY30DELAY10IFKEY30WHILEKEY31IFTR00TABLE1IDOTTABLE2ISECTABLE3IMINKBI1BIFB3B0IIFI3I0VOIDKEYCAN4/提取保存的三组数据IFKEY40DELAY10IFKEY40WHILEKEY41IFTR00DOTTABLE1JSECTABLE2JMINTABLE3JTKBBIFB3B0JIFJ3J0VOIDKEYCAN5IFKEY50DELAY10IFKEY50WHILEKEY51KEY_T/按键次数加1IFKEY_T1/第一次按下SEC59IFKEY_T2/第二次按下FLAG1TR01IFKEY_T3KEY_T0TR00FLAG0INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARDOT,SEC,MIN,NUM,KEY_T,I,J,T,BSBITDULAP22SBITWELAP23SBITKEY3P11SBITKEY4P12SBITKEY5P14SBITKP13UCHARTABLE13UCHARTABLE23UCHARTABLE33UCHARK3BITFLAGUCHARCODETABLE0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X40VOIDDISPLAYUCHAR,UCHAR,UCHARVOIDDELAYUINTZVOIDINITVOIDKEY_TOVOIDKEYCAN3VOIDKEYCAN4VOIDKEYCAN5VOIDMAININIT/初始化子程序WHILE1IFK1/有键按下DELAY10/延时10MS去抖IFK1/确定是有键按下WHILEK1/等待键松开KEY_TO/按键处理KEYCAN3KEYCAN4KEYCAN5VOIDDELAYUINTZUINTX,YFORXZX0XFORY110Y0YVOIDDISPLAYUCHARDOT,UCHARSEC,UCHARMIN/显示函数P0TABLEDOT10DULA1DULA0P00XFFP00X7FWELA1WELA0DELAY1P0TABLEDOT/10DULA1DULA0P00XFFP00XBFWELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XDFWELA1WELA0DELAY1P0TABLESEC10DULA1DULA0P00XFFP00XEFWELA1WELA0DELAY1P0TABLESEC/10DULA1DULA0P00XFFP00XF7WELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XFBWELA1WELA0DELAY1P0TABLETDULA1DULA0P00XFFP00XFDWELA1WELA0DELAY1P0TABLE0DULA1DULA0P00XFFP00XFEWELA1WELA0DELAY1VOIDINIT/初始化WELA0DULA0TMOD0X11TH065536300/256TL065536300256TH1655361000/256TL1655361000256EA1ET01ET11TR11TR00VOIDTIMER0INTERRUPT1IFFLAG0TH065536300/256TL065536300256NUMIFNUM5NUM0DOTIFDOT100DOT0SECIFSEC60SEC0MINIFMIN60MIN0IFFLAG1TH065536300/256TL065536300256NUMIFNUM5NUM0DOTIFDOT100DOT0SECIFSEC0TR00VOIDTIME1VOIDINTERRUPT3DISPLAYDOT,SEC,MINTH1655361000/256TL1655361000256VOIDKEY_TO/按键处理子程序KEY_T/按键次数加1IFKEY_T1/第一次按下TR01/启动定时器0ELSEIFKEY_T2/第二次按下TR00/关闭定时器0ELSEIFKEY_T3/第三次按下DOT0/三个计数器清零SEC0MIN0KEY_T0/按键次数清零VOIDKEYCAN3/保持三组数据IFKEY30DELAY10IFKEY30WHILEKEY31IFTR00TABLE1IDOTTABLE2ISECTABLE3IMINKBI1BIFB3B0IIFI3I0VOIDKEYCAN4/提取保存的三组数据IFKEY40DELAY10IFKEY40WHILEKEY41IFTR00DOTTABLE1JSECTABLE2JMINTABLE3JTKBBIFB3B0JIFJ3J0VOIDKEYCAN5IFKEY50DELAY10IFKEY50WHILEKEY51KEY_T/按键次数加1IFKEY_T1/第一次按下SEC59IFKEY_T2/第二次按下FLAG1TR01IFKEY_T3KEY_T0TR00FLAG0INCLUDEDEFINEUINTUNSIGNEDINTDEFINEUCHARUNSIGNEDCHARUCHARDOT,SEC,MIN,NUM,KEY_T,I,J,T,BSBITDULAP22SBITWELAP23SBITKEY3P11SBITKEY4P12SBITKP13UCHARTABLE13UCHARTABLE23UCHARTABLE33UCHARK3UCHARCODETABLE0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X40VOIDDISPLAYUCHAR,UCHAR,UCHARVOIDDELAYUINTZVOIDINITVOIDKEY_TOVOIDKEYCAN3VOIDKEYCAN4VOIDMAININIT/初始化子程序WHILE1IFK1/有键按下DELAY10/延时10MS去抖IFK1/确定是有键按下WHILEK1/等待键松开KEY_TO/按键处理KEYCAN3KEYCAN4VOIDDELAYUINTZUINTX,YFORXZX0XFORY110Y0YVOIDDISPLAYUCHARDOT,UCHARSEC,UCHARMIN/显示函数P0TABLEDOT10DULA1DULA0P00XFFP00X7FWELA1WELA0DELAY1P0TABLEDOT/10DULA1DULA0P00XFFP00XBFWELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XDFWELA1WELA0DELAY1P0TABLESEC10DULA1DULA0P00XFFP00XEFWELA1WELA0DELAY1P0TABLESEC/10DULA1DULA0P00XFFP00XF7WELA1WELA0DELAY1P0TABLE10DULA1DULA0P00XFFP00XFBWELA1WELA0DELAY1P0TABLETDULA1DULA0P00XFFP00XFDWELA1WELA0DELAY1P0TABLE0DULA1DULA0P00XFFP00XFEWELA1WELA0DELAY1VOIDINIT/初始化WELA0DULA0TMOD0X11TH065536300/256TL065536300256TH1655361000/256TL1655361000256EA1ET01ET11TR11TR00VOIDTIMER0INTERRUPT1TH065536300/2

温馨提示

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

评论

0/150

提交评论