ImageVerifierCode 换一换
格式:DOC , 页数:37 ,大小:2.32MB ,
资源ID:2487116      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2487116.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于PROTEUS的单片机虚拟实验.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于PROTEUS的单片机虚拟实验.doc

1、毕 业 论 文 题 目: 基于PROTEUS的单片机虚拟 实验系统的设计 学生姓名 樊国庆 指导教师 徐志国 二级学院 龙蟠学院 专 业 通信工程 班级 06通信工程 学号 0660133345 提交日期 2010年5月17日 答辩日期 2010年5月21日2010 年 5月17日金陵科技学院学士学位论文 目录目 录摘 要IIIABSTRACTIV第一章 绪论11.1 项目背景分析11.2技术概况及发展趋势11.3课题解决的问题21.4课题的意义2第二章 系统设计22.1电路整体设计22.2电路图仿真部分22.3程序编译部分22.4 开发工具介绍22.4.1 proteus软件22.4.2 K

2、eil C51 uVision3软件2第三章 硬件电路详细设计23.1整体框图设计23.2主芯片AT89C5223.3 44 矩阵式键盘23.4 8位发光二极管23.5数模转换电路设计2第四章 电路仿真与测试24.1 PROTEUS和KEIL的硬件环境设置24.2 电路仿真演示2第五章 总结285.1 课题前期遇到的问题285.2 课题中期遇到的问题285.3 课题后期遇到的问题28结束语29参考文献30附录一31致谢3218金陵科技学院学士学位论文 摘要基于PROTEUS的单片机虚拟实验系统的设计摘 要基于C51的单片机在现实生活中有着广泛的应用,本文基于PROTEUS软件,简单设计了一个单

3、片机虚拟硬件环境的实验系统,以便做一些简单的单片机实验。本课题针对PROTEUS软件和编译软件KEIL做了一下简单的介绍。本文重点对单片机虚拟硬件环境各部分电路进行详细介绍,包括键盘、显示、A/D、D/A等人机通道、前向通道、后向通道。重点介绍了4X4键盘的显示功能、8位发光二极管以流水灯的方式显示、LCD的显示以及A/D和D/A转换器的功能。最后作者还介绍了一下PROTEUS和KEIL的联调设置以用各电路的仿真结果。关键词:proteus软件;单片机;仿真;虚拟实验金陵科技学院学士学位论文 AbstractBased on the virtual experiment system PROT

4、EUS chip designAbstractWidespread application based on the C51 monolithic integrated circuit in the real life. This article based on PROTEUS software, simply designed a monolithic integrated circuit hypothesized hardware environment experiment system. In order to make some simple MCU experiment.This

5、 subject gives a brief introduction to KEIL and PROTEUS.This article main introduce the detail to various part of electric circuits. Include keyboard, display, A/D, D/A, man-machine channel, forward channel, backward channel, the 4X4 keyboards demonstration function, 8 light emitter diodes by class

6、lantern floated down rivers way demonstration, LCD displayed as well as A/D and D/A switchs function. At last, writer also introduced the simulation result by KEIL and PROTEUS in different circuits with the jointing setting.Key Words: Proteus software, SCM, Simulation, Virtual experiment金陵科技学院学士学位论文

7、 第一章 绪论第一章 绪论1.1项目背景分析传统的单片机教学实验,要采用硬件仿真器、实验箱或实验板,需采购大量的、昂贵的硬件设备,同时设备维护工作量也非常大。由于单片机应用技术涉及到数字电子、模拟电子、计算机甚至通信等多学科的知识,且实践性又很强,所以在教学实验过程中必须软件硬件结合,也就是将单片机程序和外围电路相结合。若用实验箱则费用高,又不能充分利用,若用实验板则开发周期长,方案变更困难。 单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。这里我们利用Proteus仿真软件,设计了纯软件的单片机

8、虚拟实验系统,既可调试单片机程序,也可仿真单片机外围器件的工作情况;既能充分利用学校计算机房现有计算机,减少硬件设备的维护工作量,也能为学生提供丰富的实验内容。1.2技术概况及发展趋势现代科技的发展,促进了计算机技术在软件和硬件上的飞速发展,利用计算机软件的仿真技术,可以充分地仿真诸如电路的工作等实际的工程问题。目前,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。由于社会对掌握嵌入式技术人才的大量需求,使得嵌入式软硬件工程师成为未来几年内最为热门的职业之一,相当一部分高校已开设嵌入式系统的相关课程。 嵌入式系统是理论与实践结合密切

9、的课程。但对于嵌入式系统开发的爱好者而言,往往没有足够的资金购买昂贵的开发板来进行开发,这时可以选择通过软件仿真来学习嵌入式系统开发。Proteus是目前最好的能够虚拟嵌入式系统开发中常用的处理器和外围器件的EDA工具。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。1.3课题解决的问题(1)

10、4X4键盘:主要输入数据(2)显示部分:LED:LED是一种特别的二极管,当连接最电的时候就会发出光,通常被用在电子器具来显示电路是否关闭或打开的指示灯。LCD: LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。与传统的阴极射线管(CRT)相比,LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。不足:与同大小的CRT相比,价格更加昂贵。(3)A/D和D/A:真实世界的模拟信号,例如温度、压力、声音或者图像等,被不断转换成更容易储存、处理和发射的数字形式。但是在很多系统中,数字信息也必

11、须重新转换成模拟信号来实现一些真实世界的功能。数模转换器(DAC)就可以做到这一点,而且它们的输出还可以用来驱动各种设备,例如扩音器、发动机、射频发射器和温度控制器等。 DAC一般被放置在数字系统中。在数字系统中,一些真实世界的信号通过模数转换器(ADC)数字化和处理过后,然后需要重新转化成模拟信号的系统中。这些系统所要求的DAC性能会受到系统其它组件的性能和要求的影响。1.4课题的意义单片机技术是现代电子工程领域一门迅速发展的技术,应用于各种嵌入式系统中。单片机技术的发展和推广极大地推动了电子工业的发展,其在教学和产业界的技术推广仍然是当今业界的一个热点。单片机技术是现代电子工业中不可缺少的

12、一项技术,掌握单片机技术是电子信息类专业学生就业的一个基本条件由于现代科技的发展,单片机促进了计算机技术在软件和硬件上的飞速发展,利用计算机软件的仿真技术,可以充分地仿真诸如电路的工作等实际的工程问题。本课题充分利用了PROTEUS软件的功能,对各个电路部分进行仿真。为进行一些简单的单片机实验构建一个虚拟硬件环境。金陵科技学院学士学位论文 第二章 系统设计第二章 系统设计模数转换电路主芯片AT89C52键盘部分LCD显示电路数模转换电路发光二极管2.1电路整体设计本课题共分为几大模块,具体为4X4键盘显示、8位发光二极管流水灯显示、LCD显示以及A/D和D/A转换5个模块。所有电路都是围绕主芯

13、片AT89C52来完成的,下图为作者设计的电路的整体框图,如图2-1所示。图2-1 系统电路图2.2电路图仿真部分电路图仿真部分主要通过PROTEUS实现,Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。采用Proteus仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全

14、面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。2.3程序编译部分Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。编译部分主要通过Keil C51 uVision3来编译,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

15、在开发大型软件时更能体现高级语言的优势。2.4 开发工具介绍2.4.1 proteus软件Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Proteus软件由于其强大、直观、全面的功能,已为越来越多国内大学作为电工电子虚拟实验平台、单片机设计与仿真实验室、嵌入式系统设计与仿真实验室和创新实验平

16、台等电类综合实验平台,也为教学改革、创新教学提供了很好的平台。以下我们介绍一下该软件的使用。(1)Proteus介绍Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。(2)proteus的工作过程运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐

17、和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pickdevices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单Definecodegenerationtools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/removesourcefiles命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。(3)Proteus软件所提供的元件资源Proteus软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直

18、流等。(4)Proteus软件所提供的仪表资源对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。除了所列的测试仪表外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。(5)Proteus软件所提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。

19、对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pauseanimation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试,应先执行debug菜单下的start/restartdebugging菜单项命令,此时可以选择stepover、stepinto和stepout命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子

20、程序执行。在执行了start/restartdebuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。2.4.2 Keil C51 uVision3软件Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。该软件支持众多不同公司的MCS51架构的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设

21、计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能,并且通过设置可与ISIS联机调试单片机系统。C51工具包的整体结构,所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。以下我们也简单介绍一下在keil中调用proteus进行MCU外围器件的仿真。(1)、安装keil c51 v7.20 与 proteus 6.5。 (2)、把proteus安装目录下 VDM51.dll文件复制到Keil安装目录的 C51BIN目录中。(3)、找到安装keil的文件夹修改keil安装

22、目录下Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver) 注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。 (4)、打开proteus,画出相应电路(注意:proteus中mouse的左右键与一般程序是相反的样子)。在proteus的tools菜单中选中use remote debug monitor (5)、在keil中编写MCU的程序 (6)、进入KEIL的project菜单option for target 工程名。在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM

23、 Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000 。注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。(7)、在keil中进行debug,同时在proteus中查看直观的结果(如流水灯等。金陵科技学院学士学位论文 第三章 硬件电路详细设计 第三章 硬件电路详细设计3.1整体框图设计我们所设计的电路是围绕芯片AT89C52来设计的,下图为在PROTEUS中的电路总图设计,如图3-1所示。下一节我们将重点介绍各电路模块的设计。图3-1 电路总设计图3.2主芯片AT

24、89C52本设计主要是围绕芯片AT89C52来设计的,下图为芯片AT89C52引脚的具体说明,如图3-2所示。图3-2 AT89C52芯片1)AT89C52介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内

25、含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。2)AT89C52管脚说明: AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及

26、外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(1

27、8脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 VCC:供电电压。GND:接地。P0 口:P0口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

28、 P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C52 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。Flash 编程和程序校验期间,P1 接收低8 位地址。表一 P1.0和P1.1的第二功能:引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2

29、)P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P3 口:P3 口是一组带

30、有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2