

免费预览已结束,剩余39页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆邮电大学移通学院毕业论文前言毕业设计是在修完所有课程之后,我们走向社会之前的一次综合性设计。本次设计的课题是基于单片机的电子秒表设计,是对以前所学课程的一个总结。21世纪是一个电子技术和电子元件有更大发展的世纪。目前数字电子技术已经广泛地应用于计算机,自动控制,电子测量仪表,电视,雷达,通信等各个领域。例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高,功能强,而且容易实现测量的自动化和智能化。随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题设计的进行使我们有了这个非常好的机会,通过这种综合性训练,我的动手能力、实际操作能力、综合知识应用能力得到了更好的提升。近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。本次毕业设计得到了广大老师和同学的帮助,在此一一表示感谢!由于实践经验的缺乏,且水平有限,时间仓促。设计过程中难免有错误和欠妥之处,恳请各位老师和同学批评指正。 目录摘要3abstract3第一章 绪论4第二章 任务分析与方案确定82.1设计任务要求及分析82.2方案确定92.3单片机概述9第三章 控制系统的硬件电路设计133.1电路原理分析133.1.1显示原理133.2复位电路143.2.1复位操作143.3 按键电路193.4 时钟电路203.5 驱动显示电路21第四章 控制系统的软件设计234.1程序设计思想234.2初始化参数设置234.3按键设置程序23第五章 调试265.1 硬件调试275.2软件调试285.3系统联调285.4现场调试28结束语30附录31附录一 单片机总控制电路31附录三 系统程序32参考文献39摘要本次设计主要完成具备基本功能的电子秒表的理论和实践设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领域中。其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。关键字电子秒表,单片机,定时中断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 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 used 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 used 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第一章 绪论近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此也广泛应用于卫星定位、汽车火花控制、交通自动管理和微波炉等专用控制上。近几年来,单片机的发展更为迅速,它已渗透到诸多学科的领域,以及人们生活的各个方面。单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有cpu的专用处理器发展而来。最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。intel的z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是intel的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了mcs51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着intel i960系列特别是后来的arm系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300mhz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的windows和linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过pc机和其他计算的综合,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如cpu,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、vcd等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用pc)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的cd4000系列这些纯硬件来搞定的话,电路一定是一块大pcb板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的cpu,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十k的尺寸!对于家用pc的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用pc上来运行,家用pc的也是承受不了的。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称pc机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步,也经历了四个阶段:第一阶段: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字节。广泛应用于工业控制、外部设备控制、宏观控制、局部网络及家用计算机中。第四阶段: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年)、小规模集成电路(1965年)、大规模集成电路及小型计算机(1970年)和微处理机或微型计算机(1974年)等五代数控系统。前三代数控系统是属于采用专用控制计算机的硬接线(硬线)数控系统,一般称为普通数控系统,简称nc。70年代初,随着计算机技术的发展,使小型计算机的价格急剧下降,采用小型计算机代替专用控制计算机的第四代数控系统,不仅在经济上更为合算,而且许多功能可用编制的专用程序来实现,将它存储在小型计算机的存储器中,构成所谓控制软件,提高了系统的可靠性和功能特色。这种数控系统又称为软接线(软线)数控,即计算机数控系统,简称cnc。1974年制成以微处理机为核心的数控系统,称为第五代微型机数控系统,简称mnc。单片机控制系统的电子秒表,自动化程度高、成本低、体积小、控制精确等优点,有很好的经济效益和广阔的发展前景。单片机控制系统的研制成功,是电子秒表发展中的一次较大的进步,它表明了目前正在使用的许多控制系统完全可以由单片机控制系统所代替。第二章 任务分析与方案确定2.1设计任务要求及分析2.1.1 任务要求:1、设计数码管显示的电子秒表。2、能够准确的计时并显示。3、开机显示00.00。4、设计一个开始or暂停键和一个复位键。5、并且只有在暂停的情况下才能实现复位。6、最大记时59秒,最大精确到0.01秒。2.1.2 任务分析:要了个更好的说明验证。首先要显示00.00,那么就要4位的数码管。要达到0.01的验证所设计的电子秒表是否合理正确,单单靠理论说明还不够充分,我就相应地制作了硬件实物,这对理论就有精确度,可以用定时器定时10ms作为基数,计时就可以在这个基础上累加起来。并把秒和小数后两位的数据用两个单元暂存,然后通过处理程序来处理两个单元,并送到i/o口来显示,这样就能够显示到0.01秒。在实现清零、暂停、计时功能,可以考虑用两个按钮来实现,一个按钮是复位来清零;一个按钮是暂停和停止。2.2方案确定根据专业对应所学知识,而且对基本理论知识进行相应的巩固、扩展,我选择了电子秒表作为设计内容,其特点是融合了多方面的基本理论知识,无论是硬件或软件上都属于比较典型的设计。本电路直接采用单片机配合数码管和按键,直接实现功能,主要决定于软件程序的设计。利用单片机的定时中断产生10ms定时来更新数据,再利用数制转换更新显示。主要的难度在于控制部分的程序编写。在此利用了2个按键分别对各个功能进行控制,显示部分用数码管,用的是1个4位数码管,主要是为了节约成本。在此要考虑硬件的设计以及整体电路的可靠性,因此选用了这个方案,使得本电路的硬件设计难度不高,便于检查排错。在软件程序上利用空闲及参数变化时对显示进行及时更新,从而保证了显示的连续性与实时性。理论上可以利用定时中断和循环扫描这两种方式实现显示功能,前者效率较高,在整体上也使程序大大简化,但是这种方案是以牺牲一个内部定时中断作为代价的,在稍复杂的程序设计中是不划算的,因此我选择了第2种方案,即循环扫描的方式,虽然这种方式使程序的编写增加了一定的难度,但可以节约了单片机宝贵的中断资源。2.3单片机概述电子计算机是20世界纪40年代发展起来的新技术之一,它的出现是科学技术产生了一场深刻的革命。特别是自1971年以来,随着大规模集成电路的发展,又出现了微型计算机。它对发展现代化的工业、农业、国防和科学技术具有极其巨大的推动作用。作为微型机控制系统的组成,主要分为两大部分,硬件和软件。硬件是指微型计算机本身及其外围设备;软件是指管理计算机的程序以及过程控制应用程序。2.3.1单片机的特点1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、i/o口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产品。5.外部总线增加了i2c(inter-integrated circuit)及spi(serial peripheral interface)等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。2.3.2单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用2.单片机在机电一体化中的应用3.单片机在实时控制中的应用4.单片机在分布式多机系统中的应用5.单片机在人类生活中的应用单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型,性能和结构各不相同,intel、motorola、zilcg等公司都有系列单片微型计算机。国内普及的几乎都是intel公司的产品。2.3.3stc89c52单片机简介stc89c52是一种带8k字节闪烁可编程可檫除只读存储器(fperom-flash programable and erasable read only memory )的低电压,高性能comos8的微处理器,俗称单片机。该器件采用atmel搞密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。 stc89c52的引脚图如图2-1所示。图2-1 stc89c52引脚图和atmel的对比 stc89c52rc单片机: 8k字节程序存储空间; 512字节数据存储空间; 内带4k字节eeprom存储空间; 可直接使用串口下载; at89s52单片机: 8k字节程序存储空间; 256字节数据存储空间; 没有内带eeprom存储空间;2.stc89c52功能特性概述:stc89c52是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 stc89x52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35mhz,6t/12t可选。3.stc89c52引脚功能说明: 主电源引脚(2根)vcc(pin40):电源输入,接5v电源gnd(pin20):接地线外接晶振引脚(2根)xtal1(pin19):片内振荡电路的输入端xtal2(pin20):片内振荡电路的输出端控制引脚(4根)rst/vpp(pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ale/prog(pin30):地址锁存允许信号psen(pin29):外部存储器读选通信号ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)stc89c52单片机有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位准双向i/o口线,名称为p3.0p3.7xtal1与xtal2xtal1:振荡器反相放大器及内部时钟发生器的输入端。xtal2:振荡器反相放大器的输出端第三章 控制系统的硬件电路设计3.1电路原理分析3.1.1显示原理整个硬件电路是配合程序来使用的,两者缺一不可,p0口输出字段信息,经限流后控制数码管的adp,而p2口接三极管,限流后驱动数码管的各个公共端,以达到显示目的。p3口接按键电路,实现控制功能,整体电路简单明了,性能可靠。2.键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来去除抖动,延时时间10ms。3.2复位电路3.2.1复位操作复位是单片机的初始化操作。其主要功能是把pc初始化为0000h,使单片机从0000h单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除pc之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。表一 一些寄存器的复位状态寄存器复位状态寄存器复位状态pc0000htcon00hacc00htl000hpsw00hth000hsp07htl100hdptr0000hth100hp0-p3ffhscon00hipxx000000bsbuf不定ie0x000000bpcon0xxx0000btmod00h3.2.2复位信号及其产生rst引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6mhz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图43所示:图43复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(rst)送至施密特触发器,再由片内复位电路在每个机器周期的s5p2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图44(a)所示。这佯,只要电源vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与vcc电源接通而实现的,其电路如图44(b)所示;而按键脉冲复位则是利用rc微分电路产生的正脉冲来实现的,其电路如图44(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图44复位电路上述电路图中的电阻、电容参数适用于6mhz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图44(b)上电复位方式。3.3 按键电路按键是常开的按键开关,每个按键都被赋予一个代码,称为键码。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的i/o端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,一般在510ms之间。本设计中是用软件程序来去除抖动。由于系统使用到的按键数并不多,所以不选用矩阵键盘而选用独立式按键电路。直接用i/o口线构成单个按键电路,每个按键占用一条i/o口线,每个按键的工作状态不会产生互相影响。p3.0接停止按键,p3.1接开始按键,然后按键都与地相接。相应的按键电路图如图3-2所示。图3-2 按键电路图3.4 时钟电路stc89c52内部有一个用于构成振荡器的高增益反相放大器,引脚rxd和txd分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图42(a) 所示,在rxd和txd引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212mhz之间选择,电容值在530pf之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图42(b)所示,rxd接地,txd接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12mhz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟p1和p2,供单片机使用。示,rxd接地,txd接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12mhz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟p1和p2,供单片机使用。rxd接地,txd接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12mhz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟p1和p2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图42时钟电路3.5 驱动显示电路led显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画发光,控制某几段发光二极管导通,就能显示出某个数码或字符。在单片机应用系统中,显示器显示有静态显示和动态扫描显示两种方法。1.静态显示所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的i/o接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路就可以了,直到要显示新的数据时,再发送新的字形码。使用这种方法cpu的开销小,控制程序简单,但占用较多的硬件资源。2.动态扫描显示动态扫描显示是单片机中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔划段adp同名端连在一起,而每一个显示器的公共极com各自独立地受i/o线控制。cpu向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于com端,而这一端是由i/o控制的,因此就可以自行决定何时显示哪一位了。所谓动态扫描就是指采用分时的方法,轮流控制各个显示器的com端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。所以,就采用动态扫描显示。这样用到了单片机的两个i/o接口p0和p2。又因p2接口不能承受六位的数码管的电流,那就需要在p2接口上加上六个三极管来驱动。要显示出六位数字,采用的是两个三位数码管,而不是用一个六位或六个一位数码管。六位数码管虽然硬件接线会简单一些,但是成本相对较高;而一位数码管相对于三位数码管来说,硬件接线就复杂了许多。又因为是采用动态扫描显示,所以,采用两个三位数码管是比较合理的。三位共阳数码管总共有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 驱动显示电路图第四章 控制系统的软件设计4.1程序设计思想时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器t0 打开后,进入计时,满10ms后,重装定时。中断一次,满一秒后秒进位,秒钟单元进位,最终达到最大值1分钟。通过扫描程序送led 中显示出来,实现时钟计时功能。累加是用指令inc 来实现的。进入中断服务程序以后,执行push psw 和push acc 将程序状态寄存器psw 的内容和累加器acc 中的数据保存起来,这便是所谓的“保护现场”,以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内ram 中的任一区间设定,而堆栈的数据存取与一般的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.4中断定时子程序是电子秒表的核心,在这里主要介绍一下定时中断过程。首先定时是10ms的时间。中断到后,会在xiaoshu单元中加1,然后就判断这单元是否够100,即是否够1秒。其流程图如图4-2所示保护现场重新赋值给定时器定时到,xiaoshu加1判断是否够1秒清零xiaoshu1秒到,miaoshu加1noyes判断是否到达秒表的最大定时值99noyes恢复现场中断返回 图4-2 中断定时子程序流程图ds0:push acc ;定时中断程序 push psw mov th0,#0d8h ;重新赋值给定时器 mov tl0,#0f0h 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,#59,zhongduan ;判断是否到达秒表的最大定时值59 clr tr0 ;停止秒表计时zhongduan: pop psw pop acc reti第五章 调试在制作实物前,元件要摆好,不仅焊接线容易,也容易操作,而且美观。在制作的时候,焊接线要非常小心,不然会有很多的断线,还有就是焊接的时候也要小心,不然容易短路。对电路板进行焊接结束后,就要进行相应的调试了。相应的硬件实物运行图如图5-1所示。图5-1 硬件实物运行图5.1 硬件调试硬件调试一般分为四步骤:第一个是目测法。这个方法是我们最常用的方法之一,只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损。通过目测查出一些明显的器件、设备故障并及时排除。第二个是万用表测试。目测检查后,可进行万用表测试。先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。第三个是上电检查。首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;并且用万用表测各芯片的引脚电平是否合理。再有就是,在加电期间,通过给合逻辑功能简单的芯片加载固定输入电平,用万用表测其输出电平的方法来判定该芯片的好坏。在调试过程中,没有注意stc89c52与之对应的连接以及要注意的地方,最后结果功能不可以实现,经过查找电路,发现应该是读取片内的内容,31引脚/vpp要接高电平,结果在设计的时候没有注意,功能就实现不了。第四个是复位检查。在上电检查后,按一下复位按钮,看实验板上的led灯是否闪烁。如果不闪烁,那么说明复位有问题。就要仔细检查复位的电容是否接错了电极,线是否连错。刚开始时,我就把复位按键给接错了,把它和开始、停止键同时接地了,应该是并联电容接的。5.2软件调试软件调试是通过对用户程序的汇编、连接、接行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。本设计的软件调试是在伟褔6000编程软件中调试,只要是对中断程序和显示程序的调试。首先对中断程序进行调试,看每分fenshu、秒miaoshu、小数xiaoshu的单元里面的内容是否正确;再对显示程序进行调试,这里的显示程序里面含有数据处理程序:如把分fenshu单元分成两个数字,再一个一个数字进行显示,对照一下是否正确。如果不正确就要用“跟踪”或“单步”执行,一步一步检查中间进行过程的错误并加以纠正。对显示程序的调试时,应调出“端口窗口”来看i/o端口的输出情况,是否符合所要显示的数据。5.3系统联调系统联调就是把程序加载到单片机上去进行调试。首先是把显示程序加载上去,进行调试时,看数码管的显示是否正确,还要看显示的亮度是否太暗或太亮,是否出现了闪烁现象,如果显示不正确,就检查一下数码管的引脚和单片机的连线是否接错了。如果有太暗或太亮的问题,说明限流的电阻的电阻值不合理,应适当调整。如果出现闪烁现象,就要改变一下延时时间,直到合理为止。然后把整个的设计程序都加载到单片机上去调试。把单片机放到电路板上,进行整个系统程序的调试。接上电源,按一下开始按钮。看一下显示是否正确,时间运行是否符合运行轨迹。也对照一下数码管显示的次序是否正确。运行一段时间后,按一下停止按钮,让秒表停止。5.4现场调试一般情况下,通过系统联调后,就可以按照设计目标正常工作了。但在某些情况下,在实际现场工作之前,环境对系统的影响无法预料,只能通过现场运行调试来发现问题,找出相应的解决方法;或者虽然在系统设计时考虑到抗干扰的对策,但是否行之有效,还必须通过在实际现场的运行来加以验证。首先,上电后,让系统一直运行一天。看看是否都能正常运行,并触摸芯片等器件是否有过度的发热或其他不正常的现象,并进行检查与相应的处理。我的系统通电一天后都没有什么不正常的现象,看来设计得还合理。其次,在通电运行中,对系统进行相应的干扰,比如在电话来电或者在通电话过程中对系统是否有一定影响,是否有停顿、闪烁现象。如果有受干扰现象,证明抗干扰电路的抗干扰性不够强。经过验证,系统都正常运行,抗干扰较强。最后,检验误差性。拿来一个真正的秒表与系统同时开始计时,并随时观看系统的稳定性。然后,设定不同的时间段进行检验,这样正确性才会更加准确。经过验证,系统的稳定很好,误差较小,精确度高。结束语经过这一次的毕业设计,从搜索资料到硬件、软件的调试成功,每一步、每一个细节自己都经过思考,共同讨论各方案的比较选择和画图、做板和硬、软件的调试。在做的过程中不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电池厂废料处理流程管理规定
- 松原事业单位笔试真题2025
- 2025年度产品购销合同(设备与信息技术)
- 油墨厂原料库防静电接地制度
- 2025民事诉讼授权合同
- 第18课《天下第一楼(节选)》说课稿2023-2024学年统编版语文九年级下册
- 探索手工空竹的制作 教案-2023-2024学年高一上学期劳动技术
- 中医师考he试题及答案
- 2025秋季云南普洱市景东彝族自治县教育体育局学期基础教育银龄教师招募7人笔试备考试题及答案解析
- 代理公司注销及后续事务处理协议
- 民警培训安全驾驶简报课件
- 十年(2016-2025)高考生物真题分类汇编(全国通.用)专题10 基因的自由组合定律(解析版)
- 2025年大数据应用工程师认证考试预测题详解与实战指南手册
- 2025年山东省潍坊市中考数学试卷附答案
- 俄罗斯礼俗课件
- (2025秋新版)人教版九年级物理上册全册教案
- 2024统编版八年级历史上册全册知识点复习提纲
- T-CES 153-2022 电力巡检无人机边缘智能终端技术规范
- 《中国金融学》课件 第4章 信用形式与信用体系-课件
- 新版2026统编版小学道德与法治三年级上册 第6课《争做未来科学家》第2课时 做个小小科学家 教学课件
- 康复医生进修汇报课件
评论
0/150
提交评论