毕业论文---单片机编程仿真实验系统的设计与实现.doc_第1页
毕业论文---单片机编程仿真实验系统的设计与实现.doc_第2页
毕业论文---单片机编程仿真实验系统的设计与实现.doc_第3页
毕业论文---单片机编程仿真实验系统的设计与实现.doc_第4页
毕业论文---单片机编程仿真实验系统的设计与实现.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

单片机编程仿真实验系统的设计与实现摘要单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已经广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。该课程是一门理论性和实践性都很强的课程,在实际教学中,应将理论教学和实验教学紧密结合。学生在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。本论文结合目前教学中对单片机编程仿真实验系统的实际需求,采用模块化结构设计思想,精心设计和开发了单片机编程仿真实验系统。该单片机编程仿真实验系统由PC机端单片机编程控制软件和单片机编程仿真实验板两部分组成。PC机端的单片机编程控制软件可以自动检测到连接到单片机编程仿真实验板上的单片机,控制单片机编程器擦除、写入、读出、校验目标单片机ROM中的程序,以十六进制文件(.HEX文件)格式显示在控制界面内;单片机仿真实验系统能够把写入单片机的程序实时地运行,并呈现实际运行效果。单片机编程控制软件和单片机仿真实验板组成一个完整的单片机编程仿真实验系统。该单片机编程仿真实验系统的编程控制软件是在VisualC+IDE环境下开发的,单片机编程仿真实验板上的MCU采用了美国Atmel公司推出的应用广泛、兼容性强、功能强大、价格低廉的AT89S系列单片机,该系列单片机内部除了集成了传统单片机的基本功能部件外,还集成了在系统可编程(ISP)功能,ISP功能为单片机的应用和产品的升级换代带来了极大方便。选择该MCU有效降低了系统的技术度和成本,同时提高了系统的可靠性。该单片机编程仿真实验系统性能稳定,综合功能极强,它集编程、仿真、实验于一体,可以进行系统全面的单片机实验项目的学习。模块化的设计思想,使单片机编程仿真实验系统各功能单独实现,利用该编程仿真实验系统,可以从原理上学习单片机编程的过程,实时查询单片机子程序库,进行本系统提供实例的仿真。能胜任学生的课程实验、毕业设计、电子设计竞赛等各个不同的实验与实践阶段,有利于实验者自主开发实验,有利于培养学第一章绪论1.1研究背景和意义单片机也叫嵌入式微控制器,它的出现是计算机发展史上重要的里程碑,使计算机的用途从海量数据计算发展到智能化控制,它具有体积小、功能强、可靠性高、价格低、使用方便、性能稳定等优点。单片机应用系统是单片机嵌入到对象环境、结构、体系中作为其中的一个智能化控制单元,构成各种嵌入式应用的电路系统。单片机应用系统中包括了满足对象要求的全部硬件电路和应用软件。单片机应用系统结构通常分为3个层次,即单片机、单片机系统和单片机应用系统1,如图1-1所示。单片机系统广泛应用于工业自动化、仪器仪表、家用电器、信息和通信产品和军事装备等方面。在工业自动化技术中,无论是过程控制技术、数据采集和测控技术,还是生产线上的机器人技术,都需要单片机的参与;单片机的使用又将使仪器仪表向数字化、智能化、多功能化和柔性化方向发展;汽车的安全保障系统,计算机的网络通讯与数据传输,飞机上的各种仪表控制,导弹的导航装置等,都有单片机在其中发挥着作用。学习、开发与应用单片机并掌握其应用技术具有重要意义。在全国高等院校电子信息类专业中,已普遍开设单片机及其相关课程。单片机原理、单片机原理及接口技术等课程是大中专院校电子类专业实践性、应用性和工程性很强的专业基础课或选修课。从加强学生能力培养的要求来看,这类课程仅在课堂上讲授基本原理是不够的,必须在教学中加强实践环节,开设一定数量的高质量配套实验课或独立的实验课程,让学生有足够的实践机会。那么对于单片机实验教学环境建设就相应提出了较高要求。2目前,在单片机教学中普遍存在着一些问题,如:1单片机课程往往多以理论为主,实验为辅的教学形式。实验也多是进行验证性实验。实验现在普遍采用“实验箱”,学生在做实验时都是按指导书上现成的资料,编译现成的程序,很少有同学去分析编程的原理和实验程序的流程,更谈不上去修改和完善。对于单片机电路也只是按实验指导书在实验箱上做简单的连线,没有一个整体的电气原理图概念,最终还是不会设计电路,甚至连基本的电气原理图都读不懂。但单片机是一门实践性很强的学科,只学习理论不做实验练习,很难真正地把单片机方面的知识理解掌握,很难真正成为单片机应用领域的高级人才。2学生实验时也存在着诸多限制,单片机实验室由于存在着场地和时间有限等问题,学生除了上课外,平时很难有机会实践。个人配备单片机编程实验开发系统,因成本较高,很多学生无法承受。同时一般单片机实验箱由于是成品,学生很难参与到其中的细节设计中去,一般单片机实验箱也只是起验证实验的作用,学生动手能力很难得到训练与提高2。3教学过程中应用的单片机编程软件都是封装后发布,学习者根本不了解单片机编程器的工作原理,对于大多数的编程器软件只会简单的操作,不利于激发学生学习的积极性。由此可见,构建开放源代码、低成本、易更新的单片机编程仿真实验系统,对我国单片机领域人才的培养和单片机课程的教学具有重大的现实意义。它不仅可以显著降低实验设备投资,而且将培养学生的创新精神和探索精神,为单片机课程实验教学带来革命性的变化。早期,人们曾把逻辑分析仪作为单片机应用系统的开发工具来使用,但功能有限只能用于简单的单片机系统;对于复杂的单片机系统,可以使用微型计算机来进行应用开发,把能开发单片机的微型计算机称为微型机开发系统MDS(MicrocomputDevelopmentSystem);此外,还有专门的单片机开发系统,称为在线仿真器ICE(InCircuitEmulator),通过它可以进行单片机应用系统的软硬件开发和EPROM写入。当今很多单片机编程仿真实验系统综合功能又过于强大,将各科的实验都集中在一起,比如既能做MCS-51系列、MCS-96系列单片机实验,又能做CPLD、EDA实验,甚至还能做微机原理8088实验。并非功能强大了不好,但单片机学习者确实对其中的有些功能用不着,那么多功能都集成在一起,势必增加开发成本,使产品价格升高,令购买者望而生畏。再者,现今的单片机编程仿真实验系统把编程过程原理全部封装在程序中,使学习者不能真正的了解程序的过程和原理,只会简单地操作,不能灵活适用于不同的学习者,不利于培养学生的探索创新能3力。完整的单片机开发和实验系统应包括微型计算机、编程器(又叫烧录器)、仿真器、实验电路板等。当今流行的计算机都能满足单片机学习与开发的要求。编程器用于把编译好的程序写入单片机的ROM里面,把写好后的芯片插到实验板上面进行试验。单片机仿真器用来实时仿真调试单片机程序及硬件电路,随时发现问题,修改程序,提高编写程序的效率。硬件实验板,作为单片机实验的外围电路部分,可以进行相关实验电路的单片机编程仿真实验,测试单片机程序能否实现实验电路的功能。为此,我们设计和开发了一种模块化的单片机编程仿真实验系统,该系统由编程仿真软件和实验板两部分组成。软件在分析单片机编程原理的基础上对单片机编程的各个操作和实现过程进行详细介绍并给出源代码;设计并开发了编程仿真实验板,实验板上留出可扩展的接口和资源,利于学生自己开发实验。该系统不仅能胜任于学生的课程实验、毕业设计、课外科技活动等各个不同的实验与实践阶段,并且有利于实验者进行自主开发实验,有利于培养学生的创新精神和创造能力。1.2研究现状目前单片机已经引起各行业极大关注,展现出广阔的应用前景。很多大型公司都设计开发并生产专业的单片机编程器,仿真器以及单片机实验板,以供大中专院校进行教学培训、实验研究以及个人学习使用。当今比较流行的单片机编程仿真实验系统,一般都是集编程、仿真、实验于一体,综合功能极强。如WS系列单片机综合开发学习系统是福建泉州强联单片机科技有限公司生产的一款全面支持ATMEL与STC系列单片机的集开发实验板、编程器、仿真器、ISP在线下载功能的四合一开发学习系统。XL1000单片机综合仿真实验仪是深圳市学林电子有限公司综合多年经验开发出的多功能8051单片机平台(兼容AVR/PIC单片机的部分烧写实验功能),集常用的单片机外围硬件、ISP下载线、单片机仿真器、单片机实验板、编程器功能于一身。航空航天部615所研制的AEDK5198仿真器,可仿真开发MCS-51系列和8098单片机,支持全空间仿真、硬件断点,所有单片机资源向用户开放,能与系统机(IBM-PC及兼容机)联机,也能独立运行。DUCK-IV仿真器是新一代的MCS8051系列单片机在线仿真器,采用背骑式(piggyback)芯片作为仿真芯片和采用先进的仿真技术,突破了国内因使用同种芯片仿真相同类型单片机所不能逾越的诸多障碍。该仿真器不用更换主芯片即可对8051系列芯片进行仿真开发,不占任何用户资源,64K程序存储空间和464K数据存储空间完全提供给用户,程序全速运行时,实时跟踪,实时采集。广州致远电子有限公司设计的DP-51PROC(插孔式)单片机综合仿真实验仪是基于KeilC51集成开发环境下的DP系列单片机仿真实验仪之一,是一套功能强大的单片机应用技术学习、调试、开发工具,集成了四合一功能:ISP、EDA、仿真、实验仪,为各大院校的实践教学提供了一个较好的实验平台,是单片机教学的好帮手。在互联网上,设计开发单片机实验教学仪器的个人网站也是数不胜数。KeilC51集成开发环境uVision3是KeilSoftwareInc/KeilElektronikGmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程。尤其C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。由于Keil本身是一个纯软件的东西,还不能直接进行硬件仿真,必须连接上面所述的在线仿真器硬件才可以进行仿真。ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。Proteus硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态。1.3本文的主要工作本文的主要工作包括单片机编程仿真实验系统上位机控制软件开发和编程仿真实验板设计两个方面。上位机编程控件软件主要由三个模块组成:控制编程模块、子程序库查询模块和编程仿真实验模块。下位机实验板分为显示模块、键盘模块、发音模块等。单片机编程仿真实验系统上位机控制软件的编程模块根据MCU芯片(本论文以AtmelAT89S51单片机为编程仿真芯片进行编程仿真实验)编程手册上规定的命令协议,控制程序中所要求的不同地址的引脚置高或低电平从而实现进行单片机的编程,编程软件可以通过并口、串口和ISP在系统编程三种方式对下位机实验板进行编程,这部分功能在VisualC+编程环境下实现;子程序库查询模块根据Delphi强大的数据库操作功能,把存放在数5据库中现行的51子程序通过标号查询、功能查询和遍历的方式查找所需要的子程序,可以方便的应用到编程中;编程仿真实验模块把编写好的源代码以十六进制的格式编程写入单片机,并在仿真实验板上实时地仿真出来。以上三个模块将由一个控制界面分别调用或引用各个实现的模块来控制实现。总界面、子程序查询模块和实验模块在Delphi环境下实现。实验板设计部分需要完成的工作主要有实验板硬件电路的原理设计,PCB电路板的绘制设计和制作,各个功能模块地设计与制作,以及后期的安装和调试工作,包括ISP在线编程部分、仿真部分等。这也是软件部分设计、调试和正常运行的基础。6第二章单片机编程仿真实验系统总体设计2.1编程仿真实验系统的单片机选型在单片机家族中,80C51系列是其中的佼佼者,Intel公司将其MCS-51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC设计厂商,如Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性3。目前,单片机进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展,越来越多的高性能和多品种单片机出现。一个好的单片机编程仿真实验系统必须有与之适合的MCU,本实验系统主要是根据单片机的ISP在系统编程功能,使程序下载到实验板目标单片机中并即时运行,系统选用了Atmel公司生产的具有ISP功能的AT89S51单片机。2.1.1选型原则对于MCU的选型应遵循以下原则:1具有在系统可编程(ISP)功能本文旨在研究一种便于普及,质优价廉的单片机编程仿真实验系统。目前单片机编程仿真主要有三种方式:一是专业级的编程仿真器,采用专用仿真芯片,可以仿真单片机及其外部接口的全部硬件资源,这种编程仿真器价格昂贵不利普及;二是采用单片机生产商提供的IDE软件烧录在高档单片机芯片中做仿真芯片配合KeilC单片机编辑仿真软件进行仿真实验,该方式价格适中,能仿真除串行口和部分ROM之外的大部分单片机资源,仿真调试方便;三是利用单片机的在系统可编程(ISP)功能,在软件仿真正确的前提下,直接对目标单片机进行在系统编程,实时运行立刻出现实际运行效果,该方式价格最低,便于普及。单片机ISP技术是未来发展方向。2典型性MCS-51单片机是美国INTEL公司于1980年推出的产品,典型产品有8031、8051和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的AT89S51、SST89E564RD等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。AT89S51是AT89C51的换代芯片,AT89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel公司目前已经停产AT89C51,将用AT89S51代替。AT89S51在工艺上进行了改进,成本降低,而且将功能提7升,增加了竞争力。AT89SXX可以向下兼容AT89CXX等51系列芯片4。3兼容性8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。其他公司的51单片机产品都是和MCS-51内核兼容的产品而已。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL公司的AT89C51,AT89S51,AT89S52,SST公司的SST89E564RD,菲利浦公司的P89C51X2和华邦公司的78E51B等。AT89S51具有ISP等新功能,更优秀的是由Flash(内部Flash擦写次数为1,000次以上)存储器取代了原来的一次性写入ROM。4性价比任何系统中对微控制器的选择都要考虑成本的因素,若忽略成本的因素,使产品的价格过高,在市场上将没有竞争力。为节省成本,本单片机编程仿真实验系统集编程、仿真于一体,所以要求MCU功能强大,不仅具有51系列单片机的基本功能,还应具有在线编程和仿真的功能。Atmel公司生产的AT89S51单片机性价比高,不仅可以满足以上功能,而且价格也不是很高。根据以上原则,我们选用了Atmel公司生产的AT89S51单片机,其应用广泛、兼容性强、功能强大、价格低廉。可以满足本编程仿真实验系统的设计与实现以及后续的再开发。2.1.2AT89S51单片机性能简介AT89S51单片机是美国Atmel公司推出的新一代高性能、高速、低功耗、低电压单片机,其保密性能好,具有高可靠性、高抗干扰等特性。AT89S51是一种带4K字节FLASH可编程存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。特别是支持ISP编程功能,编程开发只需几根线即可对芯片进行程序的下载烧录。由于将多功能8位CPU和FLASH存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电8模式。AT89S51在空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求5。AT89S51相对于AT89C51增加的新功能包括:1ISP在系统编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个非常强大易用的功能。2工作频率为33MHz,AT89C51的极限工作频率只有24M,AT89S51比AT89C51具有更高工作频率,从而具有了更快的计算速度。3具有双工UART串行通道。4内部集成看门狗计时器,不再需要像AT89C51那样外接看门狗计时器单元电路。5双数据指示器。6电源关闭标识。7全新的加密算法,这使得对于AT89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。8兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等早期MCS-51兼容产品。所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051、89C51还是MCS-51等),在AT89S51上一样可以照常运行,这就是所谓的向下兼容。2.2编程控制软件设计2.2.1设计原理根据MCU芯片编程手册上规定的命令协议,通过一定的时序向不同的引脚置高或低的编程电压实现对单片机的编程,将代码写入单片机的ROM中。单片机编程仿真实验系统中的编程器模块就是根据这一原理,在PC上位机和单片机间规定通讯协议,按照通讯协议实现PC机上的编程控制软件与单片机通讯,使单片机编程器控制程序中所要求的不同地址的引脚置高或低电平从而实现单片机的编程。单片机编程仿真实验系统的子程序查询模块通过把单片机子程序的各要素按一定的规则放入数据库,根据Delphi强大的数据库查询功能,通过标号和子程序功能字段实现单片机子程序的查询。13第三章编程仿真软件设计与实现3.1单片机编程器模块单片机编程仿真实验系统的编程器模块总体设计主要分为三部分:操作部分、设置部分和显示部分。其中,操作部分包括打开文件、保存文件、擦除器件、写器件、读器件、校验数据和锁定部分;设置部分包括设置加密位,选择编程器类型、串口、波特率和下载线性能设置;显示部分包括提示信息、缓冲存储区1内容和缓冲存储区2内容。3.1.1编程原理1Flash闪速存储器的并行编程AT89S51单片机内部有4K字节的可快速编程的Flash存储阵列。编程方法可通过传统的EPROM编程器使用高压(12V)和协调的控制信号进行编程。AT89S51的代码是逐一字节进行编程的。编程方法:(1)在地址线上加上要编程单元的地址信号;(2)在数据线上加上要写入的数据字节;(3)激活相应的控制信号;(4)将EA/Vpp端加上12V编程电压;(5)每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一上ALE/PROG编程脉冲,每个字节写入周期是自身定时的,大多数约为50us,改变编程单元的地址和写入的数据,重复1-5步骤,直到全部文件编程结束。2Flash闪速存储器的串行编程将RST接至Vcc,程序代码存储阵列可通过串行ISP接口进行编程,串行接口包含SCK线、MOSI(输入)和MISO(输出)线。将RST拉高后,在其它操作前必须发出编程使能指令,编程前需将芯片擦除。芯片擦除则将存储代码阵列全写为FFH。外部系统时钟信号需接至XTAL1端或在XTAL1和XTAL2接上晶体振荡器,最高串行

温馨提示

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

评论

0/150

提交评论