《基于单片机的电子秒表的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子秒表的设计.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、前言毕业设计是在修完所有课程之后,我们走向社会之前的一次综合性设计。本次设计的课题是基于单片机的电子秒表设计,是对以前所学课程的一个总结。21世纪是一个电子技术和电子元件有更大发展的世纪。目前数字电子技术已经广泛地应用于计算机,自动控制,电子测量仪表,电视,雷达,通信等各个领域。例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高,功能强,而且容易实现测量的自动化和智能化。随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题
2、设计的进行使我们有了这个非常好的机会,通过这种综合性训练,我的动手能力、实际操作能力、综合知识应用能力得到了更好的提升。近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。本次毕业设计得到了广大老师和同学的帮助,在此一一表示感谢!由于实践
3、经验的缺乏,且水平有限,时间仓促。设计过程中难免有错误和欠妥之处,恳请各位老师和同学批评指正。目 录摘要. 3Abstract. 3第一章 绪论. 4第二章 任务分析与方案确定. 62.1 设计任务要求及分析. 62.1.1 任务要求. 62.1.2 任务分析. 62.2 方案确定. 62.3 单片机的概述. 72.3.1 单片机的特点. 72.3.2 单片机的应用. 82.3.3 AT89C52单片机简介. 8第三章 控制系统的硬件电路设计.143.1 电路原理分析.143.2 复位电路.143.3 按键电路.153.4 时钟电路.163.5 驱动显示电路.16第四章 控制系统的软件设计.
4、194.1 程序设计思想.194.2 初始化参数设置.194.3 按键设置程序.204.4 显示子程序.204.5 中断定时子程序.22第五章 调试.255.1 硬件调试.265.2 软件调试.265.3 系统联调.275.4 现场调试.27结束语.29致谢.30附录.31参考文献.38摘要本次设计主要完成具备基本功能的电子秒表的理论和实践设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领
5、域中。其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。关键字电子秒表,单片机,定时中断AbstractThe completion of the design with the basic functions of the major electronic stopwatch and theoretical design,electronic stopwatch is important tool of remember the
6、 time,widely used in all walks of lifeAs a measurement tool,relative to other general tool,electronic stopwatch has convenient,accurate,comparable advantages and so onNot only improve accuracy,and can greatly reduce the burden on operators to reduce the error rateSo electronic stopwatch is often use
7、d for sports competitions and various other requirements have more accurate time in various fieldsOne start and stop button to use traditional mechanical timers and the same,that is,click start button,start timer start running,and then click stop button to terminate a timeThe reset button can be use
8、d under any circumstances,even in the course of time,simply click the reset button,time shall be terminated immediately,and cleared the timerKeywordSingle-chip,Electronic stopwatch,Timing interruption第一章 绪论近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此
9、也广泛应用于卫星定位、汽车火花控制、交通自动管理和微波炉等专用控制上。近几年来,单片机的发展更为迅速,它已渗透到诸多学科的领域,以及人们生活的各个方面。单片机不求规模大,只求小而全。厂家在一个芯片上制成了CPU和一定容量的程序存储器和数据存储器以及一定数量的输入/输出接口(Intel)。在一个大规模集成电路芯片上构造了完整的计算机结构,故称之为单片机。MCS-51系列中的一片89C52芯片,内部构造了完整的计算机硬件系统。从CPU、存储器到输入输出端口,一应俱全。只要写入程序,就可完成中央控制或数据采集、处理及通信传输的信息处理,MCS-51单片机指令系统中为适应控制的需要设有极强的位处理功能
10、,具有加、减、乘、除指令;CPU时钟高达12MHz,完成单字节乘法或除法运算仅需要4Ns;具有多机通信功能,可作为多机系统中的一个子系统。近年来,在国际上出现了Mechanics和Electronics复合成Mechtronics这个新词,我国译为“机电一体化”。这种机械和电子技术、信息技术紧密结合的新的学科领域是先进制造技术研究和普及的结果。机电一体化产品要实现电器控制的实时性、高可靠性、可编程和一定的人工智能。同时追求体积小、价格低,甚至低功耗等。正是针对上述种种要求而设计的单片机自然成为机电一体化控制器的最佳选择。单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步,也
11、经历了四个阶段:第一阶段:19711974年,4位微处理器Intel 4004及8位微处理器Intel 8008,这些计算机价格便宜、功能有限,只用于消耗类电子产品。 第二阶段:19741978年,初级单片机阶段,以Intel公司的MCS-48为代表,8位单片机。 第三阶段:19781983年,高性能单片机阶段。以Intel公司的MCS-51, Motorola公司的6801和Zilog公司的Z8等为代表。这一阶段推出的单片机普遍带有串行口,有多级中断处理系统、16位定时器/计数器,有的片内还带有A/D转换器接口,片内RAM, ROM容量加大,寻址范围可达64K字节。广泛应用于工业控制、外部设
12、备控制、宏观控制、局部网络及家用计算机中。第四阶段:1983年至今,8位单片机巩固发展及16位单片机推出阶段。例如Mostek公司的MK6800、Intel公司的MCS-96等。MCS-96集成度为12万只品体管/片,寻址范围64K字节、5个8位并行口、一个全双工串行口、4个16位定时器、8通道10位A/D转换器等,另外MCS-96指令能处理位、字节、字,有16位乘16位乘法、32位除16位除法指令,一块单片计算机的功能可以和一台多片系统机相媲美。单片机己经进入一个崭新的阶段。同时随着微电子技术的不断发展,数控系统也在不断地更新换代,先后经历了电子管(1952年)、晶体管(1959年)、小规模
13、集成电路(1965年)、大规模集成电路及小型计算机(1970年)和微处理机或微型计算机(1974年)等五代数控系统。前三代数控系统是属于采用专用控制计算机的硬接线(硬线)数控系统,一般称为普通数控系统,简称NC。70年代初,随着计算机技术的发展,使小型计算机的价格急剧下降,采用小型计算机代替专用控制计算机的第四代数控系统,不仅在经济上更为合算,而且许多功能可用编制的专用程序来实现,将它存储在小型计算机的存储器中,构成所谓控制软件,提高了系统的可靠性和功能特色。这种数控系统又称为软接线(软线)数控,即计算机数控系统,简称CNC。1974年制成以微处理机为核心的数控系统,称为第五代微型机数控系统,
14、简称MNC。单片机控制系统的电子秒表,自动化程度高、成本低、体积小、控制精确等优点,有很好的经济效益和广阔的发展前景。单片机控制系统的研制成功,是电子秒表发展中的一次较大的进步,它表明了目前正在使用的许多控制系统完全可以由单片机控制系统所代替。第二章 任务分析与方案确定2.1设计任务要求及分析2.1.1 任务要求:1、设计数码管显示的电子秒表。2、能够准确的计时并显示。3、开机显示00.00.00。4、用户可以随时清零、暂停、计时。5、最大记时99分钟,最大精确到0.01秒。2.1.2 任务分析:要验证所设计的电子秒表是否合理正确,单单靠理论说明还不够充分,我就相应地制作了硬件实物,这对理论就
15、有了个更好的说明验证。首先要显示00.00.00,那么就要六位的数码管。要达到0.01的精确度,可以用定时器定时10ms作为基数,计时就可以在这个基础上累加起来。并把分、秒和小数后两位的数据用三个单元暂存,然后通过处理程序来处理三个单元,并送到I/O口来显示,这样就能够显示到0.01秒。在实现清零、暂停、计时功能,可以考虑用三个按钮来实现,一个按钮是复位来清零;一个按钮是暂停和停止;一个按钮是计时开始。2.2方案确定根据专业对应所学知识,而且对基本理论知识进行相应的巩固、扩展,我选择了电子秒表作为设计内容,其特点是融合了多方面的基本理论知识,无论是硬件或软件上都属于比较典型的设计。本电路直接采
16、用单片机配合数码管和按键,直接实现功能,主要决定于软件程序的设计。利用单片机的定时中断产生10ms定时来更新数据,再利用数制转换更新显示。主要的难度在于控制部分的程序编写。在此利用了3个按键分别对各个功能进行控制,显示部分用数码管,用的是两个3位数码管,而摒弃了用一个6位数码管做显示的方案,主要是为了节约成本。在此要考虑硬件的设计以及整体电路的可靠性,因此选用了这个方案,使得本电路的硬件设计难度不高,便于检查排错。在软件程序上利用空闲及参数变化时对显示进行及时更新,从而保证了显示的连续性与实时性。理论上可以利用定时中断和循环扫描这两种方式实现显示功能,前者效率较高,在整体上也使程序大大简化,但
17、是这种方案是以牺牲一个内部定时中断作为代价的,在稍复杂的程序设计中是不划算的,因此我选择了第2种方案,即循环扫描的方式,虽然这种方式使程序的编写增加了一定的难度,但可以节约了单片机宝贵的中断资源。2.3单片机概述电子计算机是20世界纪40年代发展起来的新技术之一,它的出现是科学技术产生了一场深刻的革命。特别是自1971年以来,随着大规模集成电路的发展,又出现了微型计算机。它对发展现代化的工业、农业、国防和科学技术具有极其巨大的推动作用。作为微型机控制系统的组成,主要分为两大部分,硬件和软件。硬件是指微型计算机本身及其外围设备;软件是指管理计算机的程序以及过程控制应用程序。2.3.1单片机的特点
18、1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产品。5.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)
19、等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。2.3.2单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用2.单片机在机电一体化中的应用3.单片机在实时控制中的应用4.单片机在分布式多机系统中的应用5.单片机在人类生活中的应用单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单
20、片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型,性能和结构各不相同,Intel、Motorola、Zilcg等公司都有系列单片微型计算机。国内普及的几乎都是Intel公司的产品。2.3.3AT89C52单片机简介AT89C5
21、2是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。AT89C52的引脚图如图2-1所示。图2-1 AT89C52引脚图1.主要性能参数:与MCS-51产品指令和引脚完全兼容8k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24Hz
22、三级加密程序存储器2568字节内部RAM32个可编程I/O口线3个16位定时/计数器8个中断可编程串行UART通道低功耗空闲和掉电模式2.AT89C52功能特性概述:AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,1个6向量两级中断结构,1个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一
23、个硬件复位。3.AT89C52引脚功能说明:VCC:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。可作为输出口用时,每位可吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上
24、拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表2-1。Flash编程和程序校验期间,P1口接收低8位地址。表2-1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑
25、门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
26、此时,被外部拉低的P3口将用上拉电阻输出电流(I)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-2所示。表2-2 P3口第二功能端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2 (外中断0)P3.3 (外中断1)P3.4T0 (定时/计数器0)P3.5T1 (定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)此外,P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平使单片机复位。 ALE/:当访问外部程序存储器或数据存
27、储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,此引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。:程序储存允许()输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)
28、时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),端必须保持低电平(接地)。要注意的是:如果加密位LB1被编程,复位时内部会锁存端状态。如端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。时钟振荡器:AT89C52中有一个构成内部振荡器的高增益反相放大器,引脚
29、XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷谐振器一起构成自激振荡器,振荡电路如图2-2所示。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振动器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,推荐电容使用30pF10pF,而如果使用陶瓷谐振器建议选择40pF10pF。用户还可以采用外部时钟,采用外部时钟的电路如图10所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
30、图2-2 振荡电路图由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。第三章 控制系统的硬件电路设计3.1电路原理分析1.显示原理整个硬件电路是配合程序来使用的,两者缺一不可,P0口输出字段信息,经限流后控制数码管的ADP,而P2口接三极管,限流后驱动数码管的各个公共端,以达到显示目的。P3口接按键电路,实现控制功能,整体电路简单明了,性能可靠。2.键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时
31、候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来去除抖动,延时时间10ms。3.2复位电路复位即回到初始状态,是单片机经常进入的工作状态。单片机的复位是靠外部电路实现的。在振荡器正在运行的情况下,RST引脚保持二个机器周期以上时间的高电平,系统复位。在RST端出现高电平的等候周期,执行内部复位,以后每个周期重复一次,直至RST端变低。复位电路图如图3-1所示。图3-1 复位电路图对于AT89C52单片机来说,它是高电平复位,也就是说只要将单片机的RST脚接高电平并保持一定的时间就可以实现单片机的复位。上图实现的是上电复位
32、和按键复位两个复位功能。上电的一瞬间,单片机的RST脚接到高电平,同时电容C9开始充电,经过一定的时间后电容充电饱和,10K的下拉电阻把RST脚拉回到低电平状态,实现了单片机的复位,同样道理,在单片机工作的时候按下复位按钮,单片机的RST脚接到高电平,电容C9马上放电完毕;松开该按键后电容C9开始充电,经过一定的时间后电容充电饱和,10K的下拉电阻把RST脚拉回到低电平状态,实现了单片机的复位。3.3 按键电路按键是常开的按键开关,每个按键都被赋予一个代码,称为键码。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程
33、才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,一般在510ms之间。本设计中是用软件程序来去除抖动。由于系统使用到的按键数并不多,所以不选用矩阵键盘而选用独立式按键电路。直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。P3.0接停止按键,P3.1接开始按键,然后按键都与地相接。相应的按键电路图如图3-2所示。图3-2 按键电路图3.4 时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量
34、也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。时钟电路图3-3如下:图3-3 时钟电路图MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和陶瓷电容,就构成一个稳定的自激振荡器。3.5 驱动显示电路LED显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画发光,控制某几段发光二极管导通,就能显示出某个数码或字符。在单片机应用系统中,显示器显示有静态显示和动
35、态扫描显示两种方法。1.静态显示所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路就可以了,直到要显示新的数据时,再发送新的字形码。使用这种方法CPU的开销小,控制程序简单,但占用较多的硬件资源。2.动态扫描显示动态扫描显示是单片机中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔划段ADP同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,因此就可以自行
36、决定何时显示哪一位了。所谓动态扫描就是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。所以,就采用动态扫描显示。这样用到了单片机的两个I/O接口P0和P2。又因P2接口不能承受六位的数码管的电流,那就需要在P2接口上加上六个三极管来驱动。要显示出六位数字,采用的是两个三位数码管,而不是用一个六位或六个一位数码管。六位数码管虽然硬件接线会简单一些,但是成本相对较高;而一
37、位数码管相对于三位数码管来说,硬件接线就复杂了许多。又因为是采用动态扫描显示,所以,采用两个三位数码管是比较合理的。三位共阳数码管总共有11个引脚,ADP为段选,vcc1、vcc2和vcc3为位选,ADP段选通过470电阻与P0.0P0.7相应对接,而六个位选与P2.0P2.5相应对接,三位共阳数码管的引脚图如图3-4所示。图3-4 三位共阳数码管引脚图在P0口与数码管段选之间的470电阻,起到限流的作用。显示电路由6位共阳数码管显示,由P2.0到P2.5控制数码管的工作,其中A为百分秒的显示,B为十分秒的显示;C、D为秒的显示;E、F为分的显示。显示电路图如图3-5所示。图3-5 驱动显示电
38、路图第四章 控制系统的软件设计4.1程序设计思想时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0 打开后,进入计时,满10ms后,重装定时。中断一次,满一秒后秒进位,满60 秒后即为1 分钟,分钟单元进位,最终达到最大值99分钟。通过扫描程序送LED 中显示出来,实现时钟计时功能。累加是用指令INC 来实现的。进入中断服务程序以后,执行PUSH PSW 和PUSH ACC 将程序状态寄存器PSW 的内容和累加器ACC 中的数据保存起来,这便是所谓的“保护现场”,以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM 中的任一区间设定,而堆
39、栈的数据存取与一般的RAM 存取又有区别,对它的操作,要遵循“后进先出”的原则。4.2初始化参数设置包括数据堆栈区、定时/计数器的初始化及时间、显示数据的初始化设置。定时/计数器的初始化:包括对TMOD、TCON以及根据定时时间对时间初值的设置。该电子秒表采用中断定时10ms,fosc=12MHz,采用T0方式1,N=10*10-3/1*10-6=10000,X=216-N=65536-10000=55536=D8F0H,则TH0=D8H,TL0=F0H。那么初始化的程序如下:4.3按键设置程序按键是用查询方式来的,这些程序是嵌入主程序中的。其中还用了10ms延时子程序来处理按键的去抖。 4.
40、5中断定时子程序是电子秒表的核心,在这里主要介绍一下定时中断过程。首先定时是10ms的时间。中断到后,会在XIAOSHU单元中加1,然后就判断这单元是否够100,即是否够1秒。其流程图如图4-2所示保护现场重新赋值给定时器定时到,XIAOSHU加1判断是否够1秒清零XIAOSHU1秒到,MIAOSHU加1判断是否够1分清零MIAOSHU1分到,FENSHU加1判断是否到达秒表的最大定时值99恢复现场NoYesNoYesNoYes中断返回 图4-2 中断定时子程序流程图DS0:PUSH ACC ;定时中断程序 PUSH PSW MOV TH0,#0D8H ;重新赋值给定时器 MOV TL0,#0
41、F0H INC XIAOSHU ;定时到后XIAOSHU加1 MOV A,XIAOSHU CJNE A,#100,ZHONGDUAN ;判断是否够1秒 MOV XIAOSHU,#00H ;到1秒后,把XIAOSHU单元清零 INC MIAOSHU ;1秒到时,秒暂存单元MIAOSHU加1 MOV A,MIAOSHU CJNE A,#60,ZHONGDUAN ;判断是否够1分钟 MOV MIAOSHU,#00H ;到1分后,把MIAOSHU单元清零 INC FENSHU ;1分到时,分暂存单元FENSHU加1 MOV A,FENSHU CJNE A,#99,ZHONGDUAN ;判断是否到达秒表的最大定时值99 CLR TR0 ;停止秒表计时ZHONGDUAN: POP PSW POP ACC RETI第五章 调试在制作实物前,元件要摆好,不仅焊接线容易,也容易操作,而且美观。在制作的时候,焊接线要非常小心,不然会有很多的断线,还有就是焊接的时候也要小心,不然容易短路。对电路板进行焊接结束后,就要进行相应的调试了。相应的硬件实物运行图如图5-1所
限制150内