基于Proteus的单片机仿真研究与实现.docx
《基于Proteus的单片机仿真研究与实现.docx》由会员分享,可在线阅读,更多相关《基于Proteus的单片机仿真研究与实现.docx(31页珍藏版)》请在冰豆网上搜索。
![基于Proteus的单片机仿真研究与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/28/1351601f-c946-444a-9a47-cad4ed4356d8/1351601f-c946-444a-9a47-cad4ed4356d81.gif)
基于Proteus的单片机仿真研究与实现
本科毕业论文(设计)
题目:
基于Proteus的单片机仿真研究与实现
学院:
计算机与信息工程学院
完成日期:
2009年5月
基于Proteus的单片机仿真研究与实现
摘要:
随着现代科技的发展,利用计算机软件的仿真技术,可以充分地仿真实际的工程问题。
仿真能节约设计成本,大大增强了实验的便利性。
Proteus是一款嵌入式系统软硬件设计仿真平台,具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统仿真等。
它的独特之处是能够在线、实时仿真多种类型的单片机,实现硬件电路的交互仿真,功能极其强大。
自带有ASM、PIC、AVR汇编器等,也可与第三方软件KeilC51结合使用。
用单片机原理及接口技术的理论知识与Proteus软件结合,设计出以MCS-51单片机为核心的电子万年历,以达到对单片机应用系统设计的深入理解和Proteus软件的仿真单片机研究的目的。
关键字:
Proteus;仿真;MCS-51单片机
TheDesignandImplementation
Abstract:
Withthedevelopmentofmoderntechnology,useingthecomputersoftware'semulationtechnique,mayfullythesimulationactualprojectquestion.Simulationdesignscostsavingsandgreatlyenhancetheconvenienceoftheexperiment.Proteusisahardwareandsoftwaredesignofembeddedsystemsimulationplatform,withtheanalogcircuitsimulation,digitalcircuitsimulation,single-chipmicrocomputeranditsperipheralcircuitsofthesystemsimulationandsoon.Itsuniquemeritiscanonline,thereal-timeemulationmanykindsofsingle-chip.Thefunctionisextremelyformidable.Accordingtotheprincipleandapplicationofsingle-chipandotherrelatedtheoreticalknowledgeandtheProteusapplicationknowledge,IdesigntoMCS-51microcomputerasthecoreofthecalendarinordertoachievetheapplicationofmicrocomputersystemdesignandtheProteusstudy.
Keywords:
Proteus;simulation;MCS-51microcomputer
目录
1引言1
2Proteus简介及其发展应用2
2.1Proteus仿真功能简介2
2.1.1实时动态仿真2
2.1.2虚拟工具箱3
2.2Proteus在单片机动态仿真中的发展应用4
2.2.1基于Proteus软件的单片机实验室建设4
2.2.2用Proteus软件虚拟单片机实验的优点5
3Proteus环境下MCS-51单片机万年历的设计与仿真7
3.1MCS-51单片机为核心的万年历论证分析7
3.1.1MCS-51单片机概述7
3.1.2MCS-51单片机为核心的万年历可行性分析8
3.1.3MCS-51单片机为核心的万年历设计方案论证13
3.2MCS-51单片机为核心的万年历电路图设计13
3.2.1ProteusISIS软件使用概述13
3.2.2电路图的绘制15
3.3万年历的程序总体设计方案20
3.3.1单片机语言C51概述20
3.3.2主程序设计21
3.3.3子程序设计22
3.4Proteus与Keil结合的万年历仿真与调试23
3.4.1Keil软件概述23
3.4.2KeilC产生万年历.HEX介绍24
3.4.3KeilC与Proteus连接与调试27
4总结29
参考文献:
31
致谢:
32
附录:
33
1引言
随着计算机技术的飞速发展,仿真实验技术作为一种新兴的技术迅速崛起。
仿真电子实验是利用计算机仿真技术,在计算机上学习模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等通常在实验室完成的实验。
一台计算机、一套电子仿真软件,再加上一本实验教程,就可相当于一个设备先进的实验室。
以虚代实、以软代硬,即为仿真的本质。
实验是电子类课程教学中不可缺少的环节。
多年来传统的实验方法在学生学习基本理论、基本知识、基本技能,培养学生分析问题和解决问题的能力方面发挥了重要的作用。
由于科学技术的飞速发展,社会对人才的要求越来越高,不仅要有丰富的知识,还要有更强的对知识的运用能力及创新能力,以适应新形势的需要。
仿真技术应用于实验教学,作为传统实验的一个必要的有益补充,既能节约大量的教育经费,也使得实验在时间和空间上得到有效的延伸。
对于培养学生的创新能力意义重大。
单片微型计算机广泛应用于人们日常生活的各个领域,在全国高等院校电子信息类专业中,已普遍开设单片机及其相关课程。
在单片机及其接口技术课程教与学的过程中,实验是必不可少的。
随着单片机及其接口技术的飞速发展,目前市场上供应的实验仪器并不能完全满足教与学的需求,构建低成本、技术先进、易更新的单片机实验仿真系统,对我国单片机领域人才的培养具有重大的现实意义。
仿真器是用以实现软件仿真的软硬件。
仿真器可以实现替代单片机对程序的运行进行控制,例如单步,全速,查看资源断点等。
尽管很多软件仿真具有无需搭建硬件电路就可以对程序进行验证的优点,但无法完全反映真实硬件的运行状况,因此还要通过硬件仿真来完成最终的设计。
单片机仿真程序即在个人计算机上运行的特殊程序,可模拟单片机运行的硬件环境,在该环境下运行单片机目标程序,并可对目标程序进行调试、断点、观察变量等操作,可大大提升单片机系统的调试效率。
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
(1)实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(2)支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(3)提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态等软件仿真功能;同时支持第三方的软件编译和调试环境,如KeilC51等软件。
(4)具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是建立虚拟仿真技术实验室的首选软件,有非常大的应用前景。
2Proteus简介及其发展应用
2.1Proteus仿真功能简介
Proteus软件是一个混合模型仿真器的、完整的嵌入式系统硬件设计仿真平台。
它包含ISIS和ARES应用软件,具体功能分布如图2-1所示。
图2-1Proteus功能分布
Proteus软件和其他电路设计仿真软件最大的不同在于它的功能不是单一的。
它的强大的元件库可以和任何电路设计软件相媲美;它的电路仿真功能可以和Multisim相媲美,且独特的单片机仿真功能是Multisim及其他任何仿真软件都不具备的;它的PCB电路制版功能可以和Protel相媲美。
它的功能不但强大,而且每种功能都毫不逊于Protel,是一个非常适合电子信息类学生学习的工具软件。
作为一款EDA仿真软件,ProteusISIS与同类软件有着很多的相似之处。
相比之下,其主要的特点有两个:
一是对动态元件的实时仿真,它对“人机对话”的模拟增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。
2.1.1实时动态仿真
与多数仿真软件相似,Proteus有着数量庞大的元件库。
Labcenter公司与相关的第三方软件阵容共同开发了6000多个模拟和数字电路中常用的SPICE模型以及各种动态元件,基本元件如电阻、电容、各种二极管、三极管、MOS管、555定时器等;74系列TTL元件和4000系列CMOS元件;存储芯片包括各种常用的ROM,RAM,EEPROM,还有常见I2C器件等。
在丰富的库元件的支持下,原理布图时只要进行相应的调用和连线,通过对每个元件的属性设置完成绘图,然后即可进行仿真和虚拟测量。
与Multisim等仿真软件的一大不同,在于Proteus支持微处理器的仿真。
这些仿真的实现是基于Labcenter公司提出的VSM的概念。
VSM,VirtualSystemModelling,直接译作“虚拟系统模型”,官方的定义是:
将SPICE电路模型、动态外设以及微处理器的仿真结合起来,在物理原型调试之前用于仿真整个单片机系统的一种设计方法。
对动态外设的支持是Proteus在区别于其他仿真软件最直接的地方。
VSM为用户提供了一个实时交互的环境,在仿真的过程中,你可以用鼠标去点击开关和按钮,微处理器根据输入的信号做出相应的中断响应,同时输出运算的结果到显示终端。
整个过程与真实的硬件调试是极其相似的,在动态外设支持下的实时输入和输出为实验者呈现了一个最接近现实的调试环境。
官方资料显示,一个300MHzPentiumIICPU可以以12MHz的时钟频率仿真一个基本的8051系统。
2.1.2虚拟工具箱
Proteus的虚拟工具箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真同时的电路参数观测,测量结果随仿真动态变化并显示,可以满足精度要求不是很高的测量分析,对于电路特性的定性分析可以起到事半功倍的效果,大大节约了测试时间和开发成本。
软件提供的虚拟工具和仪器如图2-2所示。
图2-2虚拟工具箱
Proteus的部分虚拟仪器终端仿真如图2-3所示。
2-3虚拟仪器终端仿真
2.2Proteus在单片机动态仿真中的发展应用
2.2.1基于Proteus软件的单片机实验室建设
单片机技术是现代电子工程领域一门迅速发展的技术,应用于各种嵌入式系统中。
单片机技术的发展和推广,极大地推动了电子工业的发展,其在教学和产业界的技术推广仍然是当今业界的一个热点。
目前各个高校都建立了单片机实验室,并且基本都是采用相应的硬件仿真设备;但是由于单片机的种类繁多,再加上资金的限制,在一个实验室中很难包括所有种类的单片机仿真设备。
学校有很多仿真软件和配套硬件,但这些软硬件对单片机的仿真无能为力,因此仍然需要建立单片机实验室。
过去,在单片机实验室的建设中基本都是采用硬件装置仿真系统,所以为了保证实验的顺利开设,同类型的硬件仿真开发系统就需要采购多套设备,这样硬件的投资成本相对较高。
另外单片机学习中除了主要是8051系列单片机之外,还应学习AVR系列、PIC等系列。
为了保证相应实验的开设,必须要有配套的实验系统。
如果要保证一定的实验硬件设备套数,将是一笔更大的开支。
所以引入单片机软件仿真系统,就可以大大减少硬件设备的采购,同时降低对硬件设备进行维护的工作量。
总之,建设单片虚拟实验室有以下优势很多。
从经济性、可移植性、可推广性角度讲,建立这样的实验室是非常有意义的;利用仿真系统,可以节约开发时间和开发成本;利用仿真系统,具有很大的灵活性和扩展性;也是高校提升实验室建设水平有益的尝试。
Proteus为单片机教学与应用研发提供了一个完整的虚拟实验室。
2.2.2用Proteus软件虚拟单片机实验的优点
采用Proteus仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。
(1)内容全面
内容全面包括其能实验的内容包括软件部分的汇编、C51等语言的调试过程,也包括硬件接口电路中的大部分类型。
对同一类功能的接口电路,可以采用不同的硬件来搭建完成,因此采用Proteus仿真软件进行实验教学,克服了用单片机实验板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。
(2)硬件投入少,经济优势明显
对于传统的采用单片机实验教学板的教学实验,由于硬件电路的固定,也就将单片机的CPU和具体的接口电路固定了下来。
在单片机的实际教学中,如果要涉及到51系列,也要涉及到PIC16系列,那么为了教学必然要投入两种单片机的实验教学板;同时在教学过程中所涉及到的接口电路,也需要有较大的投入和储备,以利于实验的进行和在实验过程中元件损毁后的更换。
Proteus所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。
如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。
因此采用软件的方式进行教学,其经济优势是比较明显的。
(3)学生可自行实验,锻炼解决实际工程问题的能力
实验能力和实验设计能力的培养,是工科学生解决实际工程问题能力中较为重要的。
传统的实验教学中,忽视了学生实验能力的培养,对于实验设计能力的培养,则很少涉及到。
因此学生学习了理论,要想将其应用到实际的工程实践中,其难度是比较大的。
还有,学生毕业后想对单片机控制技术或智能仪表等有较深的研究和学习,如果采用传统的实验教学方法,则学生需要购置的设备比较多,增加了他们学习和研究的投入。
采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。
(4)协作能力的培养和锻炼
一个比较大的工程设计项目,是由一个开发小组协作完成的。
了解和把握别人的设计意图和思维模式,是团结协作的基础。
在Proteus中进行仿真实验时,所涉及到的内容并不全是学生独立设计完成的,因此对于锻炼学生的团结协作意识,是有好处的。
3Proteus环境下MCS-51单片机万年历的设计与仿真
3.1MCS-51单片机为核心的万年历论证分析
目前单片机渗透到生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
3.1.1MCS-51单片机概述
MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。
由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,MCS-51的开发环境要求较低,软件资源十分丰富,这给应用提供了极大的便利。
3.1.2MCS-51单片机为核心的万年历可行性分析
电子万年历的主控制器AT89C51单片机采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性F1ash程序存储器。
它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。
Proteus开启后将出现ISIS设计与仿真的交互式窗口如图3-1所示。
图中有丰富的菜单栏、工具栏和仿真按钮(最下一行中);有设计与仿真中各种对象列表的对象选择器,有能看到设计全貌的预览窗口,有用于设计与仿真的编辑区。
图中编辑区正进行“单片机中断优先级”仿真演示实验的设计。
应注意“设计”包括“电路设计”和“软件设计”,能全面仿真89C51。
图3-1动态外设模型来对设计进行交互仿真
电子万年历的显示器数码管,有四位一体的,也有两位一体的,两者内部结构相似。
四位一体数码管的内部结构,如图3-2所示。
由图可知,四个数码管的位控端连接在一起,共用8根数据线,四个公共端却单独占一根口线。
假设段控端有段码输入时,每个数码管的段控端都收到了段码,但只有位控线有效的数码管才能显示数据,反之亦反。
共阳极数码管段控端为低电平有效,位控端高电平有效,共阴极数码管恰恰相反。
图3-2四位一体数码管内部结构
四位一体数码管用于动态扫描,即把数码管显示数据的段控码分时送到其对应的段控端。
当一个段控码被送到段控端时,显示此段控码数据的数码管,它的位控端置有效电平,数码管点亮;而其他数码管的位控端送无效电平,数码管不亮。
持续点亮一段时间,再送其它的段控码,依次把显示段控码的数码管,使其位控端为有效电平,其他数码管的位控端为无效电平,就这样数码管依次被点亮。
四位一体数码管共十二个引脚,从数码管的正面看,它以第一脚为起点,逆时针排列的。
由图可知,6、8、9、12为公共端,A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。
显示字型和代码关系如表3-3所示。
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
b
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
d
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
表3-3显示字型和代码关系
驱动LED发光管的时候,应该分共阳接法和共阴接法这两种,共阳的时候LED正端接正电源,负端通过一个限流电阻接I/O口,这时不用接上拉电阻,只要这个限流电阻取合适就可以了发光管亮的时候电流就是从电源正——LED——限流电阻——I/O口,I/O口为低电位发光管灭的时候没有电流流过,I/O口为高电位或高阻状态共阴接法,LED负端接地,正端直接I/O口,这时候要接上拉电阻,这个上拉电阻是提供LED发光用的,发光管亮的时候电流是从电源正——上拉电阻——LED——地。
这时上拉电阻也是限流用的。
I/O口为高电位或高阻状态发光管暗的时候电流是从电源正——上拉电阻——I/O口,这时LED无电流流过,I/O口为低电位,限流电阻上流过电流全部从I/O口流入。
3.1.3MCS-51单片机为核心的万年历设计方案论证
(1)基本功能
利用89C51作为主控制器设计一个电子万年历,采用14位LED显示器。
①走时精确,可显示公历年、月、日和时、分、秒
②可调整公历年、月、日和时、分、秒
②每月的天数和闰年的天数可自动调整(设置运行到9999年)
(2)万年历框图如图3-4
图3-4万年历框图
(3)计时功能的实现
时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。
计数器T0打开后,进入计时,满250us后,重装定时。
中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位,24小时满后,天单元进位。
这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经计算后,通过扫描程序送数码管中显示出来,实现时钟计时功能。
3.2MCS-51单片机为核心的万年历电路图设计
3.2.1ProteusISIS软件使用概述
单击屏幕左下方的“开始”→“程序”→“Proteus7Professional”→“ISIS7Professional”,出现如图3-5所示屏幕,表明进入ProteusISIS集成环境。
ISIS是仿真模拟设计SCH设计程序,ARES是印制PCB设计程序。
图3-5启动时的屏幕
ProteusISIS的工作界面是一种标准的Windows界面,如图3-6所示。
包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图3-6ProteusISIS的工作界面
运行ProteusISIS程序后,进入该仿真软件的主界面。
在工作前,要设置View菜单下的捕捉对齐和System下的颜色、图形界面大小等项目。
通过工具栏中的P(从库中选择元件命令)命令,在PickDevices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在Source菜单的Definecodegenerationtools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在Source菜单的Add/removesourcefiles命令下,加入单片机硬件电路的对应程序;通过Debug菜单的相应命令仿真程序和电路的运行情况。
Proteus软件所提供了30多个元件库,数千种元件。
元件涉及到数字和模拟、交流和直流等。
Proteus提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
对于单片机硬件电路和软件的调试,Proteus提供了两种方法:
一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。
对于总体执行效果的调试方法,只需要执行Debug菜单下的Execute菜单项或F12快捷键启动执行,用Debug菜单下的PauseAnimation菜单项或Pause键暂停系统的运行;或用Debug菜单下的Stopanimation菜单项或Shift-break组合键停止系统的运行。
其运行方式也可以选择工具栏中的相应工具进行。
对于软件的分步调试,应先执行Debug菜单下的Start/restartdebugging菜单项命令,此时可以选择Stepover、Stepinto和Stepout命令执行程序(可以用快捷键F10、F11和Ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。
在执行了Start/restartdebuging命令后,在Debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。
3.2.2电路图的绘制
根据分析论证可知,设计一个万年历需要