《基于单片机多功能秒表课程设计任务书.doc》由会员分享,可在线阅读,更多相关《基于单片机多功能秒表课程设计任务书.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机课程设计课题: 多功能秒表系别:电气与电子工程专业:电子信息工程姓名:吴 腾 飞学号: 093411143城建学院2013年 1月 1日成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况与其平时表现综合评定)。二、评分评分项目设计报告评分答辩评分平时表现评分合 计 (100分)任务完成情 况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情 况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定班级 0934111 XX 吴腾飞 学号 093411143成绩: 分(折合等级 )指导教师签字 年 月 日目录第一章 设计目的第二章 设计任务要求第三
2、章 总体设计3.1 任务分析3.2 方案确定3.3 单片机概述3.3.1 单片机的特点3.3.2 STC89C51单片机简介3.3.3 STC89C51功能特性概述:第四章 各部分电路设计4.1 显示原理4.2 键盘与读数原理.4.3 复位电路4.4 按键电路4.5 时钟电路4.6 驱动显示电路第五章 整体电路图5.1相应程序.5.2 硬件实物调试5.3 硬件调试.5.4软件调试5.5系统联调5.6现场调试第六章 设计总结6.1设计过程中遇到的问题与解决方法6.2设计体会6.3 对设计的建议.参考文献一、 设计目的随着微电子技术的不断发展,数控系统也在不断地更新换代,先后经历了电子管(1952
3、年)、晶体管(1959年)、小规模集成电路(1965年)、大规模集成电路与小型计算机(1970年)和微处理机或微型计算机(1974年)等五代数控系统。前三代数控系统是属于采用专用控制计算机的硬接线(硬线)数控系统,一般称为普通数控系统,简称NC。70年代初,随着计算机技术的发展,使小型计算机的价格急剧下降,采用小型计算机代替专用控制计算机的第四代数控系统,不仅在经济上更为合算,而且许多功能可用编制的专用程序来实现,将它存储在小型计算机的存储器中,构成所谓控制软件,提高了系统的可靠性和功能特色。这种数控系统又称为软接线(软线)数控,即计算机数控系统,简称CNC。1974年制成以微处理机为核心的数
4、控系统,称为第五代微型机数控系统,简称MNC。单片机控制系统的电子秒表,自动化程度高、成本低、体积小、控制精确等优点,有很好的经济效益和广阔的发展前景。单片机控制系统的研制成功,是电子秒表发展中的一次较大的进步,它表明了目前正在使用的许多控制系统完全可以由单片机控制系统所代替。二、 设计要求1、在暂停的情况下也能实现复位。;2、两位LED显示,显示时间为0099秒;3、每秒自动加一;4、一个开始按键、一个复位按键、一个暂停按钮;5、开机显示00.00;三、总体设计3.1 任务分析:要了个更好的说明验证。首先要显示00.00,那么就要4位的数码管。要达到0.01的验证所设计的电子秒表是否合理正确
5、,单单靠理论说明还不够充分,我就相应地制作了硬件实物,这对理论就有精确度,可以用定时器定时10ms作为基数,计时就可以在这个基础上累加起来。并把秒和小数后两位的数据用两个单元暂存,然后通过处理程序来处理两个单元,并送到I/O口来显示,这样就能够显示到0.01秒。在实现清零、暂停、计时等功能,可以考虑用两个按钮来实现,一个按钮是复位来清零;一个按钮是暂停和停止。3.2方案确定根据专业对应所学知识,而且对基本理论知识进行相应的巩固、扩展,我选择了电子秒表作为设计容,其特点是融合了多方面的基本理论知识,无论是硬件或软件上都属于比较典型的设计。本电路直接采用单片机配合数码管和按键,直接实现功能,主要决
6、定于软件程序的设计。利用单片机的定时中断产生10ms定时来更新数据,再利用数制转换更新显示。主要的难度在于控制部分的程序编写。在此利用了2个按键分别对各个功能进行控制,显示部分用数码管,用的是1个4位数码管,主要是为了节约成本。在此要考虑硬件的设计以与整体电路的可靠性,因此选用了这个方案,使得本电路的硬件设计难度不高,便于检查排错。在软件程序上利用空闲与参数变化时对显示进行与时更新,从而保证了显示的连续性与实时性。理论上可以利用定时中断和循环扫描这两种方式实现显示功能,前者效率较高,在整体上也使程序大大简化,但是这种方案是以牺牲一个部定时中断作为代价的,在稍复杂的程序设计中是不划算的,因此我选
7、择了第2种方案,即循环扫描的方式,虽然这种方式使程序的编写增加了一定的难度,但可以节约了单片机宝贵的中断资源。3.3单片机概述电子计算机是20世界纪40年代发展起来的新技术之一,它的出现是科学技术产生了一场深刻的革命。特别是自1971年以来,随着大规模集成电路的发展,又出现了微型计算机。它对发展现代化的工业、农业、国防和科学技术具有极其巨大的推动作用。作为微型机控制系统的组成,主要分为两大部分,硬件和软件。硬件是指微型计算机本身与其外围设备;软件是指管理计算机的程序以与过程控制应用程序。3.3.1单片机的特点1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在
8、一块芯片上,部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以与位处理功能。单片机的逻辑控制功能与运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产品。5.外部总线增加了I2C(Inter-Integrated Circuit)与SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规,
9、容易构成各种规模的应用系统。3.3.2 STC89C51单片机简介5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,部由CPU,4kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的工O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电与特殊信息保存的仪器和系统中更为有用。STC89C51的引脚图如图1所示。图1STC89C513.3.3 STC89C51功能特性概述:4 kB存储器;256 BRAM;32条
10、工O线;2个16b定时计数器;5个2级中断源;1个全双向的串行口以与时钟电路。空闲方式:CPU停止工作,而让RAM、定时计数器、串行口和中断系统继续工作。掉电方式:保存RAM的容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。3.3.4 STC89C51引脚功能说明: 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片振荡电路的输入端XTAL2(Pin20):片振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin3
11、0):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平则从部程序存储器读指令。可编程输入/输出引脚(32根)STC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向
12、I/O口线,名称为P3.0P3.7XTAL1与XTAL2XTAL1:振荡器反相放大器与部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。四、各部分电路设计4.1显示原理整个硬件电路是配合程序来使用的,两者缺一不可,P0口输出字段信息,经限流后控制数码管的ADP,而P2口接三极管,限流后驱动数码管的各个公共端,以达到显示目的。P3口接按键电路,实现控制功能,整体电路简单明了,性能可靠,数码管如下所示:图2数码管4.2键盘与读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如
13、不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来去除抖动,延时时间10ms。4.3复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3所示:图3
14、复位信号电路逻辑图() (B)图4复位电路图上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图4(A)上电复位方式。 4.4 按键电路按键是常开的按键开关,每个按键都被赋予一个代码,称为键码。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,一般在510ms之间。本设计中是用软件程序来去除抖动。由于系统使用到的按键数并不多,所以不选用矩阵键盘而
15、选用独立式按键电路。直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。相应的按键电路图如图5所示。图5按键电路4.5 时钟电路STC89C51部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由部方式产生或外部方式产生。部时钟电路如图6所示,在RXD和TXD引脚上外接定时元件,部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图6所示,RXD接地,T
16、XD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。图6时钟电路图4.6 驱动显示电路LED显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画发光,控制某几段发光二极管导通,就能显示出某个数码或字符。在单片机应用系统中,显示器显示有静态显示和动态扫描显示两种方法。1.静态显示所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路就可以了,直
17、到要显示新的数据时,再发送新的字形码。使用这种方法CPU的开销小,控制程序简单,但占用较多的硬件资源。2.动态扫描显示动态扫描显示是单片机中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔划段ADP同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到一样的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,因此就可以自行决定何时显示哪一位了。所谓动态扫描就是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。共阳数码管的引脚图如图7所示。图7数码管引脚图8驱动显示电路五、整体电
18、路图图9整体电路图5.1相应的程序如下:#include#define uchar unsigned char#define uint unsigned intuchar miao=0,fen=0;uchar count=0;uchar qian ,bai,shi,ge;uchar code duanma=0xA0,0xBE,0x62,0x2A,0x3C,0x29,0x21,0xBA,0x20,0x28,0x30,0x25,0xE1,0x26,0x61,0x71;/字符1,2,3,0sbit start=P10;sbit clear=P11;sbit w1=P20;sbit w2=P21;sb
19、it w3=P22;sbit w4=P23;bit KT=0;sbit point=P05;/*1毫秒延时子函数*/delay1ms(uint t)uint i,j;for(i=0;it;i+) for(j=0;j50) point=0;w1=0;delay1ms(2); w1=1;P0 = duanmashi;if(count50)point=0;w2=0;delay1ms(2);w2=1;P0 = duanmabai;w3=0;delay1ms(2);w3=1;P0 = duanmaqian;w4=0;delay1ms(2);w4=1; /*键盘程序*/ keyscan() if(clea
20、r=0&KT=0) delay1ms(20); if(clear=0) while(clear=0); miao=0; count=0; if(start=0) delay1ms(20); if(start=0) while(start=0); TR0=TR0; KT=KT; /*主函数*/void main() TMOD=0x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; ET0=1; TR0=0; EA=1; while(1) qian=miao/10%10;bai=miao%10; shi =count/10%10; /十位赋值ge =
21、count%10; /个位赋值 display(); keyscan(); 5.2硬件实物调试在制作实物前,元件要摆好,在制作的时候,焊接线要非常小心,不然会有很多的断线,还有就是焊接的时候也要小心,不然容易短路。图10硬件实物图5.3 硬件调试硬件调试一般分为四步骤:第一个是目测法。这个方法是我们最常用的方法之一,只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损。通过目测查出一些明显的器件、设备故障并与时排除。第二个是万用表测
22、试。目测检查后,可进行万用表测试。先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。第三个是上电检查。首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;并且用万用表测各芯片的引脚电平是否合理。再有就是,在加电期间,通过给合逻辑功能简单的芯片加载固定输入电平,用万用表测其输出
23、电平的方法来判定该芯片的好坏。第四个是复位检查。在上电检查后,按一下复位按钮,看实验板上的LED灯是否闪烁。如果不闪烁,那么说明复位有问题。就要仔细检查复位的电容是否接错了电极,线是否连错。刚开始时,我就把复位按键给接错了,把它和开始、停止键同时接地了,应该是并联电容接的。5.4软件调试软件调试是通过对用户程序的汇编、连接、接行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。本设计的软件调试是在伟褔6000编程软件中调试,只要是对中断程序和显示程序的调试。首先对中断程序进行调试,看每分FENSHU、秒MIAOSHU、小数XIAOSHU的单元里面的容是否正确;再对显示程序进行调试,这里
24、的显示程序里面含有数据处理程序:如把分FENSHU单元分成两个数字,再一个一个数字进行显示,对照一下是否正确。如果不正确就要用“跟踪”或“单步”执行,一步一步检查中间进行过程的错误并加以纠正。对显示程序的调试时,应调出“端口窗口”来看I/O端口的输出情况,是否符合所要显示的数据。5.5系统联调系统联调就是把程序加载到单片机上去进行调试。首先是把显示程序加载上去,进行调试时,看数码管的显示是否正确,还要看显示的亮度是否太暗或太亮,是否出现了闪烁现象,如果显示不正确,就检查一下数码管的引脚和单片机的连线是否接错了。如果有太暗或太亮的问题,说明限流的电阻的电阻值不合理,应适当调整。如果出现闪烁现象,
25、就要改变一下延时时间,直到合理为止。然后把整个的设计程序都加载到单片机上去调试。把单片机放到电路板上,进行整个系统程序的调试。接上电源,按一下开始按钮。看一下显示是否正确,时间运行是否符合运行轨迹。也对照一下数码管显示的次序是否正确。运行一段时间后,按一下停止按钮,让秒表停止。5.6现场调试一般情况下,通过系统联调后,就可以按照设计目标正常工作了。但在某些情况下,在实际现场工作之前,环境对系统的影响无法预料,只能通过现场运行调试来发现问题,找出相应的解决方法;或者虽然在系统设计时考虑到抗干扰的对策,但是否行之有效,还必须通过在实际现场的运行来加以验证。首先,上电后,让系统一直运行一天。看看是否
26、都能正常运行,并触摸芯片等器件是否有过度的发热或其他不正常的现象,并进行检查与相应的处理。我的系统通电一天后都没有什么不正常的现象,看来设计得还合理。其次,在通电运行中,对系统进行相应的干扰,比如在来电或者在通过程中对系统是否有一定影响,是否有停顿、闪烁现象。如果有受干扰现象,证明抗干扰电路的抗干扰性不够强。经过验证,系统都正常运行,抗干扰较强。最后,检验误差性。拿来一个真正的秒表与系统同时开始计时,并随时观看系统的稳定性。然后,设定不同的时间段进行检验,这样正确性才会更加准确。经过验证,系统的稳定很好,误差较小,精确度高。六、 设计总结6.1设计过程中遇到的问题与解决方法刚开始调试时,由于对
27、编程不太熟悉,程序是东拼西凑出来的,编译总是有错误,无法仿真,然后就不得不看单片机书重新写程序,写了好多遍,改了好多遍仿真终于出来了,但是在烧程序过程中还是有错误,不过好在人多,最后在同学的帮助下终于把程序烧进去了。6.2设计体会本次课程设计,我实现了基于单片机的秒表系统的设计和模拟仿真,完成了此课程设计的要求,即硬软件设计,口接线、设计报告等。在课程设计过程中,我遇到了好多问题,例如,虽然说上学期认真地学习了单片机课程,但由于没有实际操作过,运用起来变得有些生疏,通过跟老师和同学请教自己不懂的技巧,我深刻地认识到师生间的交流与同学之间的相互协作也是很重要的,有时候很多问题自己解决不了,但在老
28、师与周围同学的帮助下很快就解决了。再加上这次做课程设计对Proteus和keil的使用,更是让我学到了两个新的软件,使我对上述两种软件更加熟悉,用起来更得心应手,在做实物过程中更是体会到了分工合作的重要性,我们查资料,然后我们一起仿真学习软件。刚开焊板子不能很好用电烙铁,电烙铁头很快黑了也无法焊了,后来在同学的知道下和自己的探索下终于能很好的运用电烙铁了,但是芯片太小操作起来也总是出错,总是把引脚弄弯,最后,终于焊好了。焊板子虽然比较复杂,但是我们分工合作还是比大部分人先完成设计,达到了事半功倍的效果,然后我们又一起写了论文,虽然有点复杂,但是还是很快完成了本次课程设计。通过课程设计让我体会到
29、了合作的重要性,工作效率高而且很愉快。在此,感老师和同学们的帮助。另外,此课程设计用到了好多单片机的知识,遇到一些不懂的问题,通过查资料和跟老师和同学讨论,都一一解决了。通过这次课程设计,我明白了在学习专业课程的过程中,自己动手真的很重要。有些东西在课堂上一时半会儿也接受不了,更谈不上消化,但是通过课程设计,便能很快理解书本上的重点知识怎样应用在实际当中,这使我对区间知识有了更进一步的深入理解,使我更加坚信“千里之行,始于足下”这句话,刚开始拿到题目,觉得很难,只要你勇于思考,勇于探索,最终顺利地完成了此题课程设计,使我的动手实践能力也得到很大的提高。除此之外,通过本次课程设计的完成,我深刻地
30、认识到师生间的交流与同学之间的相互协作也是很重要的,有时候很多问题自己解决不了,但在老师与周围同学的帮助下很快就解决好了。这次课程设计真的让我受益颇丰!我将以此为鉴,在今后的学习中严格要求自己,以期全面提升学习与实际应用所学知识的能力。6.3对设计的建议由于时间和精力的原因,本次设计我只完成了大部分设计的要求,但经过这一次的课程设计,从搜索资料到硬件、软件的调试成功,每一步、每一个细节自己都经过思考,共同讨论各方案的比较选择和画图、做板和硬、软件的调试。在做的过程中不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践
31、的结合更加丰富了自己的知识,扩展自己的知识面。在设计中,参考了多方面的书籍资料和网络资料,对不同类型的题目都有了大概的认识,最后,经过认真思考,我选择了单片机控制的电子秒表。本次设计容较多,关系到电路的设计与制作,以与程序的设计和两者的匹配组合,每一部分都要注意,每一部分都要严格要求,否则,就会出现错误,影响最后的结果。这一个学期来,尽管本人尽了最大努力去完成本毕业设计任务的研究,但是所做的工作仍有许多不足,还要许多容需要完善,恳请各位老师对不足或疏漏之处给予指出。参考文献1华.MCS-51系列单片机实用接口技术.:航空航天大学出版,20022全利,迟荣强.单片机原理与接口技术.:高等教育,20043西明,朱骐.单片机编程与应用入门.:机械工业,2004 4薛晓书.单片微机原理与接口技术.:石油大学,2002.35自美.电子线路设计、实验、测试.:华中理工大学,20006何书森,何华斌.实用数字电路原理与设计速成.:科学技术,2000.67广弟.单片机基础(第三版).:航空航天大学,2007.68毅钢.MCS-51单片机应用设计.:工业大学,2007.89罗耀华.单片机原理与应用设计M.:工程大学, 200521 / 21