毕业设计-基于at89s52单片机的口语pk系统的设计与实现_第1页
毕业设计-基于at89s52单片机的口语pk系统的设计与实现_第2页
毕业设计-基于at89s52单片机的口语pk系统的设计与实现_第3页
毕业设计-基于at89s52单片机的口语pk系统的设计与实现_第4页
毕业设计-基于at89s52单片机的口语pk系统的设计与实现_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

论文分类号TN学校代码13681题目基于单片机的口语PK系统的设计与实现学生姓名王士虎学号2605115系部信工一系专业班级电信051指导教师杨建桥二九年六月DESIGNANDIMPLEMENTATIONOFORALPKBASEDONSINGLECHIPMICROCOMPUTERABSTRACTTHISDESIGNTAKESAT89S52ASITSCOREACCORDINGTOFUNCTIONALREQUIREMENTS,WEPUTFORWARDAVARIETYOFPROGRAMSTHEDESIGNULTIMATELYADOPTSAPROGRAMOFTHEMOSTECONOMIC,MOSTRELIABLEANDHIGHESTSUCCESSRATETHROUGHCOMPARISONOFTHESEPROGRAMSASARESULTOFTHISWEPRODUCEAHAOJINGCOLLEGEEXAMINATIONSYSTEMOFPKOFHIGHPRACTICALVALUEAFTERTHECOMPLETIONOFTHISDESIGN,ITCANACHIEVETHEFOLLOWINGFUNCTIONSSTUDENTSCANGETATOPICTHATRANDOMLYGENERATEDBYTHESYSTEMBYPRESSINGTHETITLEKEY,ANDTHENITISDISPLAYEDONTHELCDJURYTEACHERSGIVETHESCORESTHROUGHTHEKEYINACCORDANCEWITHTHEPERFORMANCEOFSTUDENTS,RESPECTIVELY,THESCORINGDATAISAUTOMATICALLYDELIVEREDTOTHEMCUI/OPORT,ANDAT89S52READI/OPORTANDPUTTHEDATAINTOREGISTERRESPECTIVELYINADDITION,JUDGESCANALSOMODIFYTHESCORESTHROUGHTHEMODIFYINGKEYSONTHEKEYBOARDWHENTHECONFIRMINGBUTTONISPRESSEDTHELASTTIME,THESYSTEMWILLIMMEDIATELYANALYSISANDCOMPUTETHEFINALDATASTORIEDAFTERTHERANKINGOFSTUDENTS,THERESULTWILLBEDISPLAYEDONTHEDIGITALTUBESINADDITION,THESYSTEMISALSOEQUIPPEDWITHATIMEREMINDERASITSADDITIONALFEATURESTHEDESIGNCANIMPROVETHECURRENTSITUATIONOFEXAMINATIONOFHAOJINGCOLLEGESOTHATTHEEXAMINATIONFORMSINTHENEWENVIRONMENTAREMORECONVENIENT,TIMESAVINGANDMOREEFFICIENT,THEREBYREDUCINGTHERELATIVETIMEOFSTUDENTTEACHERTHESYSTEMHASAFUNCTIONOFAUTOMATICALLYSELECTINGTOPICSBYSTUDENTS,SOBETTERREFLECTSTHEFAIRNESS,JUSTNESSANDOPENNESSOFTHEEXAMINATIONWEBELIEVETHATWITHTHECOMPLETIONOFTHEDESIGN,THEQUALITYOFORALPKOFHAOJINGCOLLEGEWILLRISETOANEWLEVEL,THEGRANDGOALOFCREATIONOFWELLKNOWNBRANDOFMASSHIGHEREDUCATIONOFHAOJINGCOLLEGEWILLBEACHIEVEDEARLY,THEFULLIMPLEMENTATIONOFTHEGREATSTRATEGYOF“GOINGOUT”WILLBEAGREATSUCCESSKEYWORDSORALPK,AT89S52,LEC,LCD,DISPLAY基于单片机的口语PK系统的设计与实现摘要本设计以AT89S52单片机为核心,根据功能需求,提出了多种可行性方案,并通过对这些方案的比较,最终确定了一种最经济、最可靠、成功率最高的方案。从而制作出了具有很高实用价值的镐京学院口语PK考试系统。本设计完成后,能够实现以下功能学生通过抽题键,由系统随机产生一个题目,并将其显示在LCD上。评委老师根据各位同学的表现情况通过键盘对学生进行分别打分,打分数据自动送到单片机的I/O口,AT89S52读取I/O口的数据并将其送入寄存器中,程序对各位评委送来的数据分别存储。另外,评委还可以通过键盘上的修改键对所打的分数名次进行修改。当最后一次确认键按下之后,系统会立即对最终存储数据进行分析、计算,之后学生的排名将在四位数码管上显示。在此基础之上,本系统还附加了一个时间提醒功能。该设计能够改善目前镐京学院口语考试的现状,使考试形式在新的模式下更方便,更节省时间,工作效率更高,从而减少学生与老师的考试相对时间。该系统具有自动选择题目功能,所以更能体现考试的公平公正公开性。我们相信随着本设计的完成,镐京学院的口语PK质量会再上一个新的台阶,镐京学院创造大众化高等教育知名品牌的宏伟目标能够早日实现,镐京学院的全面实施“走出去”伟大发展战略也会蒸蒸日上。关键词口语PK,AT89S52,LED,LCD,目录1绪论12系统方案论证221LED部分设计方案222LCD部分设计方案43系统的硬件介绍及设计LED部分531单片机介绍5311单片机的发展过程5312常用单片机及兼容机632AT89S52芯片概述6321AT89S52的引脚及功能7322AT89S52的中央处理器9323AT89S52的时钟及复位电路103374HC573概述1134显示模块介绍及设计12341LED发光原理12342数码管介绍13343显示部分设计1435键盘电路设计15351按键的分类15352按键结构与特点15353独立式按键16354矩阵式按键16355本设计的键盘方案184系统的软件设计LED部分1941程序设计的方法1942程序调试方法2043LED部分软件设计21431系统的完整流程图21432键盘扫描程序设计22433排名程序设计235系统的硬件介绍及设计LCD部分245112864点阵液晶显示模块的原理2452模块主要硬件构成说明2453模块的外部接口2654指令说明276系统的软件设计LCD部分2961C语言介绍2962程序流程图2963程序编写说明317硬件仿真、实物制作及性能测试3271PROTUES仿真3272实物制作过程简介3373系统性能测试33731性能测试所需条件34732测试说明34733测试结果358结论36致谢37参考文献38附录I硬件电路图40附录II系统程序42毕业设计说明书论文缩写稿49THEABBREVIATIONVERSIONOFTHETHESISOFUNDERGRADUATES531绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。20世纪末,电子技术获得了飞速的发展,在其推动下,基于单片机的现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于单片机的发展趋势,本设计以单片机为核心制作了一个适应镐京学院的口语PK系统。本次设计运用AT89S52单片机作为主控芯片,设计了一种考试打分智能系统,在工作时能实现学生抽题,对学生在口语PK考试评分实时检测,并能由监考老师通过键盘输入学生成绩,系统调用程序,对数据进行处理,然后计算分析快速排名并存储相应信息并将其显示。系统具有时间提醒和故障自处理功能,良好的稳定性和抗干扰性能。在设计时,根据设计要求,根据可靠性、经济性、安全性三个基本要求进行设计,本次设计通过方案比较,确定出来一套即经济又可行的方案。本次设计是对所学知识的综合运用,把理论知识和实践相结合,在本次设计与检验过程中遇到了许多实际问题,比如单片机及其电子元器件的市场选择,不熟悉KEIL和PROTEUS软件的使用方法,不熟悉焊接技巧,可能会发生漏焊、虚焊现象,如何系统的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。本文通过方案确认,介绍了设计中所用到的芯片,以及主控芯片的辅助模块的讲解,通过清晰的程序流程图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计的实物制作做了一个概述。2系统方案论证根据设计要求,本系统设计需要主控芯片来控制其他子电路部分,通过键盘来实现监考老师打分、修改和学生抽题的要求,再将考生的成绩排名结果通过显示模块来显示,供监考老师记录成绩,本设计还有一个辅助功能模块时间提醒。本系统的总体设计框图如图21所示。AT89S52ABC图21总体设计框图21LED部分设计方案通过分析本设计系统的需求和功能要求,结合总体设计框图,现介绍二种设计方案。方案一两片AT89S52实现通信控制本方案通过两片AT89S52来实现通信如图22所示,通过功能的描述本系统所用的按键交多,采用独立式键盘设计,每个按键需要一个I/O口,通过两个单片机可以满足系统需要,目的是为了使用更多的I/O口。把主模块的输入部分由单片机A送入,再通过TXD发送到单片机B的TXD,显示部分由单片机B实现。同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低因为开始位和停止位的开销所占比例较大。通过比较,本设计选择同步通信模式。串口通信时钟是由单片机的晶振输入后,内部产生的,每个单片机都有自己的串口控制寄存器,在编程的时候只要对其进行正确的控制就可以设置串口通信的各种工作模式,每个模式会有自己的波特率,即时钟频率。波特率一般用9600B,串口通信有自己的协议。两机通信的时候A的RXD接B的TXD,A的TXD接B的RXD。AT89S52AT89S52BCATXDRXDRXDTXDP0P1P0P1B图22两片AT89S52通信方案二单个AT89S52控制的设计AT89S524P0P174HC5734P2图23单片AT89S52方案框图本设计方案所选用一片AT89S52,最终的框图如图23所示。与方案一比较该方案把独立式键盘改为矩阵键盘,使单片机的I/O口的负载减少,节省输入输出接口资源,使系统的响应速度更快,从程序编写考虑,方案一实现通信是一个难点,难以实现同步通信模式,而且两个单片机之间的响应速度不如本方案;从布局来说显得更加简洁,元器件少,电子元器件之间的干扰减少,提高了系统的抗干扰性能,可靠性提高了;从经济角度来考虑,方案一种的成本高出本方案一倍。纵观方案一、方案二及其比较,从芯片的响应速度,可靠性、经济性、抗干扰性等方面的综合考虑,本设计选择方案二。22LCD部分设计方案LCD部分是本设计中的一个很重要的部分,此部分是用来显示学生所抽题的汉语,学生根据显示器上的汉字内容,并结合所学过的课文将其口译成英文。这部分的设计在当今社会已经有一个相当成熟和固定的模式,所以方案也就很容易确定了。标志位数据/命令AT89S5212864显示器件选题键停止键图24LCD方案框图确定方案后,我们要做的下一步工作就是去通过各方论证,怎样把硬件搭接起来,以实现预期的功能,这就是要在下一章完成的任务。3系统的硬件介绍及设计LED部分通过上一章的论证,我们已经确定了本设计的整体系统方案,那么本章的重点就是完成上述的功能。在本章中,我们首先研究各芯片的功能以及使用方法,对比以前与现在的设计方法,然后确定我们系统各模块的设计方案。31单片机介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器MICROCONTROLLER,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的比如家用PC的主要区别。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。311单片机的发展过程1第一阶段19761978单片机的摸索阶段。以INTEL公司的MCS48为代表。MCS48的推出是在工控领域的控索,参与这一控索的公司还有MOTOROLA、ZILOG等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。2第二阶段19781982单片机的完善阶段。INTEL公司在MCS48基础上推出了完善的、典型的单片机系列MCS51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。1完善的外部总线。MCS51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。2CPU外围功能单元的集中管理模式。3体现工控特性的位地址空间及位操作方式。3指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。3第三阶段198219908位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。INTEL公司推出的MCS96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。4第四阶段1990至今微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。312常用单片机及兼容机MCS51系列单片机及其兼容机在国内拥有广泛的用户,这与INTEL8位单片机是最早引入我国的有关。MCS51的硬件结构也决定了其指令系统不会发生变化,所以设计人员可以较容易地对不同公司的单片机产品进行选型,他们只需将重点放在芯片内部资源的比较上。目前,在国内市场上,INTEL公司生产的MCS51系列单片机已少见,代之以其他公司生产的MCS51系列兼容单片机。这些公司主要有PHILLIPS、DALLAS、SIEMENS、AMD、ATMEL、NEC、HARRIS、WINBOND、YHUNDAI、ADI等,其中又以PHILIPS、DALLAS、ATMEL、WINBOND、YHUNDAI、ADI等公司占有市场份额最大。以上各公司开发的MCS51系列兼容单片机各具特色,它们的内部资源差异很大,在对原来MCS51内核的改进上也不尽相同,每个公司都在其中加入了本公司的特有技术。例如拥有很大用户群的ATMEL公司生产的MCS51系列兼容单片机AT89系列单片机,就在原有MCS51内核中加入了该公司的FLASH存储器技术。长期以来,MCS51系列单片机一直统治着国内单片机市场,但近年来,国际上许多著名半导体厂家竞相推出的各具特色的MCS51兼容单片机,也深受国内广大用户的青睐。经过市场的调查,基于本课题的设计要求,考虑其可靠性、经济性,本设计选择ATMEL公司的AT89S52芯片。32AT89S52芯片概述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。321AT89S52的引脚及功能AT89S5212345678910111213141516171819204039383736353433323130292827262524232221T2/P10T2EX/P11P12P13P14P15P16P17RSTRXD/P30TXD/P31INTO/P32INT1/P33T0/P34T1/P35WR/P36RD/P37XTAL2XTAL1GNDVCCP00/AD0P01/AD1P02/AD2P03/AD3P04/AD4P05/AD5P06/AD6P07/AD7EA/VPPALE/PROGPESNP27/A15P26/A14P25/A13P24/A12P23/A11P22/A10P21/A9P20/A8图31AT89S52引脚1电源及时钟引脚VCC电源GND地XTAL1振荡器反相放大器和内部时钟发生电路的输入端XTAL2振荡器反相放大器的输出端2控制引脚RST复位输入晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR地址8EH上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG地址锁存控制信号ALE是访问外部程序存储器时,锁存低8位地址的输出脉冲。在FLASH编程时,此引脚PROG也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位地址为8EH的SFR的第0位的设置对微控制器处于外部执行模式下无效。PSEN外部程序存储器选通信号PSEN是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在FLASH编程期间,EA也接收12伏VPP电压。3I/O口P0口P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL此外,P10和P12分别作定时器/计数器2的外部计数输入P10/T2和时器/计数器2的触发输入P11/T2EX,具体如下表所示。在FLASH编程和校验时,P1口接收低8位地址字节。表31P1口第二功能引脚号第二功能P10T2定时器/计数器T2的外部计数输入,时钟输出P11T2EX定时器/计数器T2的捕捉/重载触发信号和方向控制P15MOSI在系统编程使用P16MISO在系统编程使用P17SCK在系统编程使用P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址如MOVXRI访问外部数据存储器时,P2口输出P2锁存器的内容。在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IILP3口亦作为AT89S52特殊功能第二功能使用,如下表所示。在FLASH编程和校验时,P3口也接收一些控制信号。表32P3口第二功能引脚号第二功能P30RXD串行输入P31TXD串行输出P32INT0外部中断0P33INT0外部中断1P34T0定时器0外部输入P35T1定时器1外部输入P36WR外部数据存储器写选通P37RD外部数据存储器读选通322AT89S52的中央处理器单片机的中央处理器CPU是其内部的核心部件,它决定了单片机的主要功能特性。由运算器、定时控制部件和专用寄存器三大部分组成。1运算器运算器包括算术逻辑单元ALU、布尔处理器、累加器A、寄存器B、暂存器和程序状态字PSW等许多部件。它以算术逻辑单元ALU为核心,功能是实现数据的算术逻辑运算、位变量处理和数据传输操作。单片机的ALU功能十分强,它不仅可对8位变量进行逻辑“与”、“或”、“异或”、循环、求补、清零等基本操作,还可以进行加、减、乘、除等基本运算。为了乘除运算的需要,设置了B寄存器。在执行乘法运算指令时,用来存放其中一个乘数和乘积的高8位数;在执行除法运算指令时,B中存入除数及余数。单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位BIT变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在程序实现对位的操作时,它借用了程序状态标志位PSW中的一个进位标志CY来作为位操作的“累加器”。运算部件中的累加器ACC是一个8位的累加器ACC也可简写为A。从功能上看,它与一般微机的累加器相比较没有什么特别之处,但需要说明的是ACC的进位标志CY就是布尔处理器进行位操作的一个累加器。单片机的程序状态PSW,是一个8位寄存器,它包含了程序的状态信息。2控制部件控制部件是单片机的神经中枢,它包括时钟电路、复位电路、指令寄存器、译码以及信息传送控制部件。它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN。3专用寄存器专用寄存器组也称为特殊功能寄存器,主要用与表示当前要执行的指令的内存地址、存放操作数和知识指令执行后的状态等。它是任何一台计算机的CPU不可缺少的组成部件。323AT89S52的时钟及复位电路时钟电路用于产生单片机工作时所需的时钟信号。单片机本身就时一个复杂的同步时序电路,为保证同步工作放肆的实现,单片机应在唯一的时钟信号控制下,严格地按时序执行指令进行功能工作,而时序所研究的时指令执行中各个信号的关系。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,并由时序电路产生一系列控制信号去完成指令所规定的操作。XTAL2XTAL1GNDC1C2AT89S52GNDXTAL1XTAL2AT89S52图32内部振荡电路图33外部振荡电路单片机除了内部时钟方式图32外,还可以采用引入外部时钟的振荡方式图33。单片机复位电路有多种,根据应用的要求,复位操作通常由两种基本形式上电自动复位、手动开关复位。影响单片机系统运行稳定性的因素可大体分为外因和内因两部分。外因是射频干扰,它是以空间电磁场的形式传递在机器内部的导体引线或零件引脚感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。内因是振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。1上电自动复位上电自动复位要求接通电源后,自动实现复位操作。对于NMOS型单片机,在RST复位端接一个电容至VCC和一个电阻接地,就能实现上电自动复位,如图34所示。对于CMOS型单片机,只要接一个电容至VCC即可。在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平持续时间足够长,就可使单片机有效复位。RST端在加电时应保持的高电平时间包括VCC的上升时间和振荡器的起振时间,振荡器的起振时间于频率有关。10MHZ晶振时约位1MS,1MHZ晶振时约为10MS,所以一般为了可靠复位,RST在上电时应保持20MS以上的高电平。RC时间常熟越大,上电视RST端的高电平时间越长。2手动开关复位本设计选择手动开关复位,要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。VCRSTVCRRST图34上电自动复位图35手动开关复位常用的手动开关复位电路如图35所示。上电后,由于电容充电,使得RST持续一段高电平时间。当单片机已在运行之中时;按下复位键也能是RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C1030F,R101K。3374HC573概述在单片机应用系统中,由于标准TTL或CMOS数字集成电路的逻辑电平与MCS51系列完全兼容,故也常采用TTL电路、CMOS电路锁存器或三态门电路构成各种类型的简单输入/输出口。通常这种I/O口都是通过P0口扩展。由于P0口只能分时使用,故构成输出口时,接口芯片应具有锁存功能;构成输入口时,根据输入数据是常态还是暂态,要求接口芯片应能三态缓冲或锁存选通。数据的输入、输出由单片机的读/写信号控制。本设计选择74HC573芯片,通过P0口扩展输出口时,锁存器被视为一个外部RAM单元,输出控制信号为WR。74HC573是带锁存允许端的8D锁存器,引脚1D8D为8个D输入端,引脚1Q8Q为8个输出端,当OE端为低电平时锁存器允许数据输出,LE为高电平允许锁存数据到芯片。74HC573器件的输入是和标准CMOS输出相兼容的,加上拉电阻之后,他们能和LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的也就是说输出同步。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。D0D7与P0口连接传送数据,Q0Q7为输出口可与数码管连接,驱动数码管发光。34显示模块介绍及设计LEDLIGHTEMITTINGDIODE,发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。74HC57320VCC19Q018Q117Q216Q315Q414Q513Q612Q711LEOE1D02D13D24D35D46D57D68D79GND10图3674HC573引脚图341LED发光原理LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“PN结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。光的波长也就是光的颜色,是由形成PN结的材料决定的。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。由于具有容易控制、低压直流驱动、组合后色彩表现丰富、使用寿命长等优点,广泛应用于城市各工程中、大屏幕显示系统。LED可以作为显示屏,在计算机控制下,显示色彩变化万千的视频和图片。故LED是一种能够将电能转化为可见光的半导体。此外,LED可分为共阴极和共阳极两种,如图37所示。ABCDEFGDPGABCDEFGDP5VA共阴极B共阳极图37LED显示结构342数码管介绍由LED组成的数码管其发光原理也一样。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元多一个小数点显示。按能显示多少个“8”可分为1位、2位、4位等数码管。本次设计中为了外观整齐,提高焊接的可靠性,选择4位数码管。表337段LED数码管显示字型表显示字符共阴极字符码共阳极字符码显示字符共阴极字符码共阳极字符码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HH76H89H96FH90HL38HC7HA77H88H不显示00HFFHB7CH83H按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极COM的数码管。共阳数码管在应用时应将公共极COM接到5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极COM的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。常用数码显示字形段码如上表33所示,通常显示字符段码顺序排列,存放在存储器中的固定区域,构成段码表,当要显示某字符时,可根据地址查表。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。1静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二、十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“A,B,C,D,E,F,G,DP”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12MS,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。343显示部分设计在微型计算机控制系统中,常用的显示方法有两种一种为动态显示;一种为静态显示。动态显示,就是微型计算机定时地对显示器件扫描。在这种方法中,显示器件分时工作,每次只能有一个器件显示。但由于人的视觉有暂留现象,所以,只要扫描频率足够快,仍会感觉到所有的器件都在显示,如许多单片机的开发系统及仿真器上的6位显示器件都采用这类显示方法。目前国内生产的许多单板机,包括一些开发系统及仿真器均采用的是动态显示。这种显示方法的最大的优点就是线路简单,价格便宜,适合大批量生产。动态显示的方法按单片机输出数据的方式有并行和串行两种接口方式。为了节约资源,降低设计的复杂程度,本设计的显示部分采用的是动态显示,用P1口的低四位来控制位选,P2口用来做数据口,控制数码管的段选。35键盘电路设计键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说键盘是一组规则排列的开关。351按键的分类按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。下面将重点介绍非编码键盘接口。352按键结构与特点闭合稳定后沿抖动前沿抖动键按下图38键盘抖动微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它可以提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图38所示,抖动时间的长短与开关的机械特性有关,一般为510MS。在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。本设计中由于用到的键盘数量较多,所以采用的是延时消抖。353独立式按键单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图39所示。1K1K1K1KVCCP00P01P02P03ABCDR1R2R3R4图39独立式按键结构独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。图39中按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。354矩阵式按键单片机系统中,若使按键较多时,通常采用矩阵式也称行列式键盘。1矩阵式键盘的结构及原理矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如下图所示。由图310可知,一个44的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。5VP10P11P12P13P14P15P16P1710K4K1K2K3K4K5K6K7K9K8K12K11K10K13K14K15K16图310矩阵式按键结构矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。2矩阵式键盘按键的识别识别按键的方法很多,其中,最常见的方法是扫描法。按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢回答是否定的,因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。3键盘的编码对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图310中的8号键,它位于第2行,第0列,因此,其键盘编码应为20H。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对安排进行编码。4键盘的工作方式在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。本设计采用的是编程扫描法。5按键的识别1判断有无键按下。其方法为A口输出全为0,读C口状态,若PC0PC3全为1,则说明无键按下;若不全为1,则说明有键按下。2消除按键抖动的影响。其方法为在判断有键按下后,用软件延时的方法延时10MS后,再判断键盘状态,如果仍为有键按下状态,则认为有一个按键按下,否则当作按键抖动来处理。355本设计的键盘方案通过以上的陈述,通过各种方案的对比,根据本设计的实际,本设计采用的是44的矩阵键盘,方案如下图所示。123456ABCD654321DCBAD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U174HC5731EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10A1AT89S522C330PF3CR112MHZ4C212ABFCGDEDPY1234567ABCDEFG8DPDPDS1DPY_7SEG_DP3ABFCGDEDPY1234567ABCDEFG8DPDPDS2DPY_7SEG_DP4ABFCGDEDPY1234567ABCDEFG8DPDPDS3DPY_7SEG_DP1ABFCGDEDPY1234567ABCDEFG8DPDPDS4DPY_7SEG_DP2位位34位位位位30PF位位U3BUZZER位位位位10UF10KVCCC1R112UA74LS0412UA74LS0412UA74LS0412UA74LS04P00P02P03P01R451KR551KR251KR351KVCCP04P05P06P10P11P07P12P13P10P11P12P13P17P17P07VCCP05P06P04P02P03P01P00P00P02P03P01P00P02P03P01P00P02P03P01图311本设计中矩阵式按键结构如果说到此为止我们已经完成了本设计LED部分的硬件设计,那么这还仅仅是一个硬件设计,还不能实现系统的功能,因为该系统还缺少了它的血液软件。4系统的软件设计LED部分如果说系统硬件就像人的躯体,那么软件犹如支撑人体完成各项活动的血液。本章就是来补充和完善本系统的设计,使系统能够正常的运作。本部分LED部分的软件是用汇编语言编写的。汇编语言ASSEMBLYLANGUAGE一门重要的基础课程,是一种面向机器的低级语言。它依赖于硬件,能通过巧妙的程序设计充分发挥硬件的潜力。汇编语言程序产生的代码运行效率高,因此,到目前为止,许多软件系统例如操作系统等的核心部分仍然是用汇编语言来编写。这里我们首先介绍一些程序设计的基本方法,然后再进行系统的软件设计。41程序设计的方法本设计中运用了循环程序设计,分支程序设计,查表程序设计等。下面来介绍本设计所用到的程序设计结构。以及在单片机中的应用。所谓循环结构是指重复执行某个公共程序段若干次,直到满足某个条件才结束操作。在一个实用的程序中,循环结构

温馨提示

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

评论

0/150

提交评论