毕业设计(论文)-单片机虚拟仿真实验室的建设-硬件部分.doc_第1页
毕业设计(论文)-单片机虚拟仿真实验室的建设-硬件部分.doc_第2页
毕业设计(论文)-单片机虚拟仿真实验室的建设-硬件部分.doc_第3页
毕业设计(论文)-单片机虚拟仿真实验室的建设-硬件部分.doc_第4页
毕业设计(论文)-单片机虚拟仿真实验室的建设-硬件部分.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计单片机虚拟仿真实验室的建设硬件部分The construction of virtual simulation laboratory microcomputerThe hardware part学 院: 电子工程学院 专业班级: 电子信息工程 电子092班 学生姓名: 学 号: 指导教师: 2013年 5 月毕业设计中文摘要摘要: 本设计为单片机虚拟实验室(硬件部分)的建立。为了能提高学生动手能力,减少建立单片机实验室成本,从而建立单片机虚拟实验室。同学们可以通过虚拟实验室完成单片机实验,通过建立的单片机虚拟实验室,深刻的了解单片机的相关知识。课题中到用了Proteus 仿真软件还有Keil 编译软件,利用两种软件,进行单片机模拟实验。两种软件功能强大,运用两种软件进行了各种单片机实验:流水灯方面、交通灯方面、开关控制方面、数码管方面、蜂鸣器方面、计数器方面、AD/DA转换方面、LED点阵方面、时钟方面等,还有就是虚拟仪器和基于图标的分析,在单片机上完成的实验,虚拟实验室大部分都可以做得到,并且虚拟仪器提供了多种仪器,可以代替许多重要仪器,充分发挥虚拟实验室的优势。能够解决在学习单片机过程中以书本上的理论知识为主要内容,实践环节比较少,而且实践过程中往往以验证实践为目的的问题,让每一个学习单片机的同学,都能够拥有属于自己的单片机“实验室”。关键词:AT89C51,虚拟实验室,单片机毕业设计外文摘要Abstract: The design of MCU Virtual Laboratory (hardware) to establish. In order to improve the practical ability of students, reduce the cost of computer laboratory, so as to establish MCU virtual laboratory. Students can complete the experiment through the virtual laboratory, through the single-chip virtual laboratory based, profound understanding of SCM knowledge. Subject to use the Proteus simulation software and Keil software, using two kinds of software, MCU simulation experiment. Two kinds of powerful software, were all chip experiments using two kinds of software: water lights, traffic lights, switch control, digital tube, buzzer, counter, AD/DA conversion, LED dot matrix, the clock, there is a virtual instrument and icon based analysis, completed in the singlechip virtual laboratory experiment, most of them can be done, and provides a variety of virtual instrument, can replace many important instrument, give full play to the advantages of virtual laboratory. To solve the MCU learning process to books on the theory of knowledge as the main content, the practice is less, but in practice often objective problem to verify the practice, let every students learn SCM, can have their own computer laboratory.Keywords: AT89C51, virtual laboratory, MCU 目录1 绪论11.1课题研究的意义:11.2国内外研究现状及水平:11.3课题的基本内容:21.4可行性分析:22 Proteus软件22.1 Proteus简介22.2 Proteus的基本概念42.2.1 功能特点:42.2.2 革命性的特点:42.2.3 功能模块43 Keil 软件63.1 Keil 简介64 单片机74.1 单片机简介74.2 单片机发展概述84.3 AT89C51单片机简介84.3.1 主要特性:94.3.2 管脚说明:94.3.3 振荡器特性:104.3.4 芯片擦除:104.3.5 复位电路与晶振电路105 虚拟实验室仿真实例115.1 八只LED灯来回闪烁115.1.1电路原理115.1.2电路仿真图115.1.3 八只LED灯来回闪烁程序115.2 四个独立式按键控制LED开关125.2.1电路原理125.2.2电路仿真图145.2.3 四个独立式按键控制LED开关程序145.3 单只数码管循环显示0-F155.3.1 电路原理155.3.2电路仿真图155.3.3 单只数码管循环显示0-F程序155.4 按键发音165.4.1电路原理165.4.2电路仿真图165.4.3 按键发音程序175.5 INT0中断3位计数175.5.1 电路原理175.5.2 电路仿真图185.5.3 INT0中断3位计数程序185.6 8X8LED点阵显示数字0-9195.6.1电路原理195.6.2 电路仿真图205.6.3 8X8LED点阵显示数字0-9程序205.7 AD转换215.7.1电路原理215.7.2 电路仿真图225.7.3 AD转换程序225.8 1602液晶时钟245.8.1 电路原理245.8.2 电路仿真图245.8.3 1602液晶时钟重要程序255.9 虚拟仪器265.9.1虚拟示波器265.9.2 定时/计数器275.10 激励源285.10.1 正弦波激励源285.10.2 模拟脉冲激励源285.11 探针的使用(8只LED左右来回点亮)295.12 基于图表的分析305.12.1 模拟图表仿真305.12.2 频率图表仿真31结 论32致 谢33参考文献34淮海工学院二一三届本科毕业设计(论文) 第 36 页 共34 页1 绪论单片机是二十世纪末电子方面兴起的新领域,因为它的兴起,使得电子工业方面取得了的长足的发展,现在单片机已经成为了电子设计方面中最为普遍的应用手段。二十一世纪以来单片机技术的进步和发展特别迅速,各种各样的单片机层出不穷。近几年来,随着计算机、电子还有网络通信方面的发展与应用,单片机因为其控制力强、可靠性高,价格便宜等优越性被大量应用到各个领域。单片机在日常生活中的应用随处可见,大街上宣传的LED显示屏、儿童玩具的机器人、高级计算器等等,在生活当中的的各个方面,基本上没有单片机没有涉及到的方面,都与单片机的应用分不开。1.1课题研究的意义:单片机是高等院校中非常重要的专业课程,教学以理论为主,内容抽象。现在的教学中,很多学校的教学和实验分开,采用非常简单的实验方式,学生们很难参与到实验中的具体细节设计,动手操作的能力没有得到训练和提高。此外,因为单片机领域发展快速,内部芯片的更新特别快,学校当中建立一个单片机的实验室所需要的经费太高,在学习过程中所需要的实验仪器和设备很多,普通学校基本上没有经费投入到单片机实验室的建设当中。还有就是,学生学习单片机都是初次接触,学习初始状态就使用单片机当中的芯片进行实验和调试,经常会在实验过程中损坏芯片,浪费了经费。在学习单片机过程中的种种困难的环境下,利用虚拟仿真软件来建设单片机虚拟实验室,恰好能够解决这些困难。本次设计就是为了解决学习单片机的难题,建立的单片机虚拟实验室。利用现在网络的仿真技术,把需要在实验室完成的实物设计、分析、连线、还有调试等在单片机虚拟实验室当中完成。提高学生动手能力,减少建立单片机实验室成本。本设计利用Proteus仿真软件还有keil编译软件,进行仿真与分析,完成单片机实验。学生可以通过虚拟实验室完成很多单片机实验,本设计中的单片机虚拟实验室功能强大,主要包含了各种单片机实验,流水灯方面、交通灯方面、开关控制方面、数码管方面、蜂鸣器方面、计数器方面、AD/DA转换方面、LED点阵方面、虚拟仪器方面等,在单片机上完成的实验,虚拟实验室大部分都可以完成。1.2国内外研究现状及水平:二十一世纪以来,在发达国家中单片机虚拟实验室的建立十分普及。首先提出单片机虚拟实验室概念是美国,现研究水平达到世界领先。其中麻省理工学院的Web Lab远程实验室提供了用于进行单片机电路设计的实验教学,实现了通过手机远程控制实验的功能,意大利帕瓦多大学建立了单片机远程虚拟教育实验室。中国在近年来,也开始重视了单片机虚拟实验室。由于其应用范围广、投入资金少、实际操作简单,多数应用在理工科教学和还有工业生产模拟电路板等当中。典型的有:中国科技大学实现了单片机虚拟仿真实验软件、单片机设计实验平台、单片机虚拟实验远程教学系统。浙江大学实现了单片机虚拟仿真家用电器实验室,用于各种家用电器电路板仿真。虽然已经有一点成果,但基本上所有研究工作都还处于起步阶段。1.3课题的基本内容:本课题是单片机虚拟仿真实验室的建立。设计主要是单片机虚拟实验室当中的设计和仿真,本课题侧重于硬件部分,要求完成硬件设计,并熟练掌握proteus仿真软件,设计具体的实验项目如流水灯、交通灯、LED开关控制、数码管、蜂鸣器、计数器、AD/DA转换、LED点阵、时钟、虚拟仪器还有基于图标的仿真等等,完成原理图,最后实现动态仿真。1.4可行性分析:现实可行性:构建单片机虚拟仿真实验室,现实可行性主要是目前仿真软件操作简单,单片机应用成熟,再就是具有广阔的发展前景。虚拟实验室需要设备少,完成实验项目多,既节省焊接时间又不浪费芯片,而且配套的虚拟仪器功能强大,可以代替许多仪器。在现代教学中起到重要意义。理论可行性:单片机虚拟实验室运用仿真软件,完成流水灯、交通灯、开关控制、数码管、蜂鸣器、计数器、AD/DA转换、LED点阵、虚拟仪器等设计。每一个设计都可以找到相关的元器件和资料来完成。而且现在的仿真软件操作简单。每一个实验目前应用的都很多。经济可行性:如果要组建一个单片机实验室,则需要专门的场地,并购买多套相关的硬件设备。在设备的使用过程中还必须对设备进行不断的维护,即必须投入一定的人力和物力来维持设备的正常运行,因此使用成本相当高。虚拟实验室的成本投入少、使用效果好、回报率高。在设备的管理和维护方面,以及可开设实验的多样性方面,都比传统实验室有更多的经济优势。综上所述,此单片机虚拟实验室的开发是完全可行的。2 Proteus软件2.1 Proteus简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它的优点是电路仿真是互动的,对于在微处理器方面的应用,可以直接在虚拟的原型上进行编程,并且能够实现实时调试,如果有输出和显示,就能得到运行之后的输入输出效果,还有示波器、定时/计数器等虚拟仪器,是现在世界当中最好的单片机仿真工具。目前在中国刚刚兴起,得到了高度认可。特别是从事单片机行业人员。Proteus从布置原理图、调试电路图到与虚拟仪器的仿真,只需一键就能转换到PCB设计,完成了从想象到现实的完整设计。在单片机仿真软件中只有它能够把虚拟模型的仿真和PCB的设计,还有电路的仿真三位一体,完美的结合在一起的设计平台,它的处理器模型做的也相当好,支持能够支持多种单片机:MSP430、8086、AVR、HC11还有8051等等,其中给用户提供将近200个微控制器模型。前几年新加了DSP系列的处理器,随着科技的迅速发展,未来几年就能支持其他系列处理器模型。在程序的编译方面,支持多种编译器。例如:Keil和MTLAB等。 周润景. 张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真.北京航空航天大学,2006Proteus Virtual System Modelling (VSM)是Proteus 虚拟系统模型。其中包含混合模式的SPICE电路仿真、动态器件和微控制器模型,实现了协同仿真和在物理原型没出来的时候对这类设计的开发和测试,在设计过程当中可以使输入LED和开关、LCD和按钮相互作用,仿真在相当于实时状态下进行的。Proteus VSM还能够提供扩展的调试能力,其中包括在高级语言下设置断点、单步和显示变量。1Proteus VSM非常重要的特点就是:能够把微处理器软件作用在处理器上,还能与模拟或者数字器件一起仿真。模型与模型一起驻流在原理设计当中,像在单片机系统上,仿真执行机器目标码。VSM还能仿真多个CPU,方便处理多个微控制器之间的联结还有设计。1 Proteus VSM当中含有多个虚拟仪器,具体是:虚拟示波器、时钟计数器、模式发生器、信号发生器、虚拟终端等等还有简单的电流计和电压计。仿真器能够通过色点显示让用户了解管脚的工作状况,例如红点表示高电平,蓝点表示低电平,在实际应用中非常有用。1Proteus VSM包含超过27000种元器件:二极管、三极管、电阻、电容、计时器、上拉电阻、阻排、蜂鸣器、LED、TTL、CMOS、 ROM、RAM、EEPROM、I2C、I/O口等等,核心是ProSPICE。1Proteus VSM库还有大量的复杂外设模型,具体是:LED/LCD 显示、扬声器、矩阵键盘、直流电机等等。在仿真的CPU上一起作用。VSM CPU模型能够完整的仿真CPU有关的外设资源,它是一个简便的软件仿真器,能够使外部电路与外设相互作用的模型变成波形。1除了提供传统的高性能的Schematic Capture和PCB Layout的CAD功能外,Proteus VSM非常适合教学,即教学生如何设计和开发嵌入式系统,并真正地体验。软件有一个完全虚拟的调试界面,不需昂贵的硬件支持,允许学生在没有物理原型时,自由地、灵活地设计和开发微控制器系统。1Proteus仿真软件中含有两个应用程序,即proteus_isis和proteus_ares,前者是用于电路原理图的仿真,对图的处理能力非常强,后者是用于直接对proteus_isis的仿真原理图生成pcb,这些功能对原理图的仿真是很重要的。12.2 Proteus的基本概念2.2.1 功能特点:Proteus软件具有的功能第一点是SPICE电路仿真,第二点是PCB自动或人工布线还有原理布图 12.2.2 革命性的特点: 1电路仿真的互动性。使用者随时采用马达,AD/DA,RAM,部分SPI器件,ROM,键盘, LED,部分IIC器件。1 2仿真处理器及其外围电路。能够仿真AVR和ARM还有51系列等经常用到的单片机。除此之外,还可以直接在虚拟原型上进行编程,和显示与输出配合,就能在运行之后看到输入输出的效果。加上虚拟仪器等,就形成了强大的的电子设计的开发环境。12.2.3 功能模块1、智能原理图设计(ISIS)图2-1:智能原理图设计2、完善的电路仿真功能(Prospice)2.1 ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真 2.2 27000多个仿真器件:通过内部原型或厂家的SPICE文件自行设计仿真器件,还能导入仿真器件 2.3 多种激励源:具体如下图2-2、图2-3图2-2:激励源图2-3:激励源名称2.4仿真显示:引脚的数字电平能够用颜色显示,导线颜色的不同表示对地电压大小,使仿真更加逼真、生动2.5 13种虚拟仪器:具体如图2-4、图2-5图2-4:虚拟仪器图2-5:虚拟仪器名称 2.6 基于高级图形仿真功能(ASF):能够精确的分析电路中的指标,包括瞬态、频率特性、噪声分析等3、独特的单片机协同仿真功能(VSM)支持的CPU类型:包括AT89C51、AVR、PIC16和PIC18还有dsPIC33、8086、MSP430等,随着时间会继续增加。1编译程序与调试:支持多种单片机的汇编语言仿真,软件内部有AVR与8051还有PIC的汇编编译器,也能用第三方集成编译环境,进行仿真与调试。1支持通用外设模型:如图形LCD和字符LCD模块、键盘与按键、步进电机、伺服电机还有电子温度计等等,其中COMPIM还能够使仿真电路通过PC机串口与外部电路实现双向异步串行通信。1 4、实用的PCB设计平台快速通道:当设计的原理图完成之后,只需要一个按键便就能够直接转换到PCB设计环境,从而实现从虚构到现实的完整设计。1布局和布线自动方式:可以自动布局或者人工布局,没有网络的情况下仍然能够自动布线和人工布线,为了使PCB设计更加合理,本产品还带有引脚交换或者门交换。1设计功能:PCB能够设计两个丝印层和四个机械层,还有十六个铜箔层,特别是布线策略的灵活性、检查能够自动设计规则还有3D 效果的预览。 输出格式:能够支持多种输出格式的文件,其中有:Gerber文件,方便和其它的PCB设计工具相互转换。13 Keil 软件3.1 Keil 简介现代的计算机程序设计语言当中最常用的就是C语言,上个世纪末常用的系统软件是由汇编语言编写,因为它的可读性还有可移植性很糟糕,编写单片机的应用程序时需要的时间特别长,再加上调试、找错误同样困难,工程师们为了减少编程所需时间,和提高可读性还有可移植性,C语言应运而生。它兼容了多种高级语言的特点,可以编写计算机程序和一般的小程序,而且运算能力强、操作性强,还能操作计算机的硬件,汇编语言能够完成的东西,C语言大部分都能够做得到。所以,C语言自出现在用户眼前,就得到一致好评。现在在国际,凡是接触计算机语言的人都会选择C语言。随着C语言的市场增大,许多公司开始研究单片机C语言编译器,其中做的比较好的公司就是德国的Keil Software 公司。一直从事此方面的研究,前些年,该公司新开发出了Keil Cx51,它是一种C语言编译器,特意为8051单片机而开发设计的,它的运行速度非常快,特别是生成程序代码的时候,而且不需要太大的存储器空间。 韩晓春,姜华.单片机虚拟实验室建设探索.科学时代,2006Cx51编辑器现在已经出到了V7.0,估计未来几年内就会推出更高的版本,C语言得到了全新的编辑环境,在不断推新的同时,对于以前的优点依然保留,例如高效和快速的汇编代码。新的环境uVision2一个功能强大: 韩晓春,程明霄.单片机仿真实验平台的设计与开发.徐州工程学院学报,2007一、快捷的开发环境操作,其中主要有:项目管理器、BL51/Lx51 连接定位器、Cx51 编译器和Ax51宏汇编器还有Simulator软件模拟器以及Monitor51硬件目标调试器。二、用户目标板调试功能,目标板调试方式下,可以通过监控程序直接调试目标的硬件系统,节省资源。三、文件查找功能,可以能对文件进行指定搜索,还有工具菜单接口,能够快速地启动用户功能。四、软件的集成源级浏览器,通过表达清晰的的符号信息,可以快速的浏览到源文件,还能够优化变量数据存储器。五、快速检查、调试和修改程序,内部的集成源程序编译器,可以在编辑文件时,设置调试断点。六、强大的项目管理功能,结构化多模块程序设计非常方便。七、软件模拟仿真功能,不需要单片机硬件就可以在软件模拟方式下,完成程序的仿真调试,提高工作效率。八、全面的集成器件数据库,含有多种单片机型号的片上资源信息,能够自动设置多种编译器,例如Cx51、Ax51、BL51和Lx51连接定位器还有调试器的默认选项,满足了用户的需求。4 单片机4.1 单片机简介 陈伟人.单片机微型计算机原理及其应用M.北京:清华大学出版社,1987将微处理器、存储器、输入输出接口等芯片焊接在印制电路板上,就构成了单板机。将CPU、ROM(程序存储器)、RAM(数据存储器)、I/O接口(输入、输出接口电路)集成在一块芯片上,就构成了单片机。4单片机与单板机最大的区别就是,单片机能独立完成智能化控制功能,以满足现代化工业的需求。单片机的应用主要是芯片的应用,只要了解了集成电路应用技术和系统设计的知识,还有单片机芯片的结构和指令系统,就能设计应用程序,赋予芯片要求的功能。4单片机是一种集成电路芯片。一片单片机芯片就具有了组成计算机的全部功能,通过程序控制,就能完成设置的任务,而且具有准确性、迅速性。4单片机根据硬件和软件的不同,分为多种单片机。单片机芯片的内部结构决定了硬件特征,指令系统特性和开发支持环境决定了软件特征。4硬件特性主要是功能、控制和电气特性。指令特性有:电源要求、寻址方式、数据和逻辑处理方式,输入输出特性等等。开发支持的环境有:指令的兼容及可移植性,支持的软件及硬件资源。44.2 单片机发展概述 王振中.现代单片机技术的进展期刊论文.今日科技,2004在上世纪七十年代初,Fairchild首先推出了F8单片微型计算机。在发展初期,应用需要加上其他处理电路才能构成完整的计算系统,主要是由于新材料应用少,元件集成规模小,所以只能制作简单的单片机,如像Z80微处理器。5到了七十年代末期,Mcs-48单片机诞生了,是由Intel公司生产的,属于真正的8位单片微型计算机,从体积上,功能上都变得越来越适合市场需求,是重要的发展基础。5在八十年代,单片机进入高性能的发展趋势,许多功能强大的单片机应运而生,前后有几十个系列,进入真正的单片化,加上了中断和定时还有A/D转换等。突出的是MCS-51系列和6501系列还有6801系列,有些公司还开发了符合自己应用的单片机。从此,单片机应用越来越广,应用领域越来越多,随之家电也进入了智能化发展道路。5在之后几年,Intel公司推出了Mcs-96系列,是16位单片机,和8位机相比较,实时处理能力更强,主频更高,数据宽度增加了一倍,集成度达到了12万只晶体管,RAM增加到了232字节,ROM则达到了8kB,并且有8个中断源,同时配置了多路的A/D转换通道,高速的I/O处理单元,适用于更复杂的控制系统。5到了90年之后,单片机进入高速的发展阶段,新推出的PIC系列单片机,虽然不兼容MCS-51,但是该产品有精简指令,让用户不再应用复杂指令,受到用户的喜爱。随后,单片机市场全面开花,Motorola公司推出了Mc68hc系列,Nec公司推出了uCOM87系列,特别是Intel公司推出的80960超级32位单片机,而8位单片机以强大优势成为了市场主流。54.3 AT89C51单片机简介 AT89C51单片机是8位高效微处理器,采用高端技术制造,如ATMEL高密度、数据不容易丢失的存储器等,并且带有高性能CMOS和可擦除只读存储器,还有4K字节闪烁可编程低电压,能够反复擦除100次。在应用中能够与很多系统兼容,例如在工业上,与标准的MCS-51指令集还有具有输出功能的管脚之间能够相互兼容,得到用户的青睐。还有就是因为它在实际应用中可以灵活使用、在价格上能够让使用者接受、在许多嵌入式控制系统中都能够应用,成为单片机市场的主流。 孙育才:MCS-51系列单片计算机及其应用,东南大学出版社,19974.3.1 主要特性:图4-1:AT89C51 图4-2:特性4.3.2 管脚说明:图4-3:管脚说明图4-4:P3口管脚说明4.3.3 振荡器特性:XTAL1是反向放大器的输入,XTAL2是输出。它能够配置为片内振荡器。当然,石晶、陶瓷振荡也可以采用。如果用外部时钟源驱动器件,输出应该不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 柴睿.液压冲击器的智能控制系统研究学位论文.上海交通大学,20094.3.4 芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。74.3.5 复位电路与晶振电路石英振荡简称为晶振(Crystal),可以将它分为有源和无源两种,它的作用就是在电路中产生震荡电流还有就是发出时钟信号。在时钟电路中,非常重要的作用,就是向IC等部件提供一个准确的频率,像一个模板,当工作得频率不稳定的时候,能够影响元件的工作状态,造成影响。 张国云. AT89C51单片机接口设计 J电子与自动化,2000如下图4-5复位电路的主要功能是上电复位,保证电路工作的稳定。正常工作当中所需的供电电源为5V,大小在4.75V到5.25V之间。因为是时序数字电路,所以需要的是稳定的时钟信号。在电源上电的时候, VCC需要在4.75V到5.25V之间,还有晶体振荡器需要稳定的工作,这个时候复位信号才能被撤除,电路才能正常的工作。8如下图4-64-5:晶振电路 4-6:复位电路图4-5中,X1与C1、C2构成晶振电路,接到AT89C51的XTAL1和XTAL2,C1、C2一般是30pF,晶振X1一般是12MHz;图4-6中,开关和C3还有R17、R18构成了复位电路,接到AT89C51的RST。5 虚拟实验室仿真实例 沙春芳.PROTEUS VSM在单片机系统仿真中的应用J.计算机应用.现代电子技术,20045.1 八只LED灯来回闪烁5.1.1电路原理八只LED灯来回闪烁实验当中用到的单片机是AT89C52,它和C51单片机的基本特性相同,之间的区别是:AT89C51为4kb的可反复擦写的Flash只读程序存储器,而AT89C52片内含的是8kb。图5-1AT89C52单片机电路图中左上角连接晶振电路,提供单片机时钟频率,发送信号。单片机的P0口用总线连接八只LED灯,灯的右边由总线连接八个电阻,上方连接高电源给出高电平。5.1.2电路仿真图图5-2:八只LED灯来回闪烁仿真图5.1.3 八只LED灯来回闪烁程序#include #define led P0void main () unsigned int a; while(1) led = 0xaa; / 1010 1010 a = 50000; while (a-); led = 0x55; / 0101 0101 a = 50000; while (a-); 5.2 四个独立式按键控制LED开关5.2.1电路原理四个独立式按键控制LED开关实验同样用AT89C52单片机,单片机的XTAL1和XTAL2连接晶振电路,RST连接复位电路,为防止程序进入不正常运行,外部或者程序内部因素造成单片机死循环,用于回复单片机初始状态。下方设置开关,未开时为低电平状态,没有触发,当触发时,为高电平,高电平时有效。电容的作用是防止冲击电压。 朱清慧,张凤蕊.Proteus教程-电子线路设计制版与仿真.清华大学出版社,2008 单片机P0口连接上拉电阻RP1,给出高电平,确保LED灯能够正常显示,为端口驱动提供辅助拉升电压,增强驱动能力。图5-3:上拉电阻74HC245是一种双向三态输出、八线双向收发器。它的宽电压工作的范围是三伏到五伏。在单片机试验中,如果有LED或者数码管,那就需要数据一直显示,而且长时间的在快速刷新的时候。数据量是相当大的,电脑在处理过程中需要大量的计算,属于超负荷工作,减少了处理其他数据能力。 何立民.MCS-51单片机应用系统设计.北京:航空航天大学出版社,1990在这种情况之下,锁存器就起到了关键作用,它可以降低处理器的工作量。在数据传输时,到了锁存器,它就会将数据保存,并且封闭,不让其他的数据再进来。一直处在数据传输进来的时候的状态,这种状态会到下一组数据传输进来的时候。因为锁存器的作用,在数码管显示的数据没有变化的时候,处理器的处理时间和输入输出口引脚就能够得到释放。这样看来,处理器工作的时间就是数码管的数据没有变化的时间,这个时间是很少的,占的比例非常小。正因为锁存器的作用,才给了处理器很多的工作时间,去处理其他工作。存储器的最主要作用就是分担了处理器工作量,减少工作时间。11图5-4:74HC245锁存器图5-5:74HC245锁存器管脚说明锁存器在电路中起到稳定工作作用,确保数据不被干扰,去掉也可以。阻排RN1的作用是防止电流过高,分担电压,防止烧坏引脚。图5-6:阻排单片机P1口连接四个独立式按键来控制LED开关。当单片机按键打开给入低电平信号,通过上拉电阻增强驱动,锁存器稳定信号,遇到LED灯的高电平,高低电平时,LED灯亮,关闭就不亮。5.2.2电路仿真图图5-7:四个独立式按键控制LED开关仿真图5.2.3 四个独立式按键控制LED开关程序#include typedef unsigned char uint8;typedef unsigned int uint16;void delay(uint16 x)uint16 i,j;for(i = x; i 0; i -)for(j = 114; j 0; j -);void Move_LED()if (P1 & 0x01) = 0x00) P0 = 0x01; else if(P1 & 0x02) = 0x00) P0 = 0x02;else if(P1 & 0x04) = 0x00) P0 = 0x04; else if(P1 & 0x08) = 0x00) P0 = 0x08; void main()uint8 Key = 0x00;while(1) if(P1 != Key)Key = P1;Move_LED();delay(10);5.3 单只数码管循环显示0-F5.3.1 电路原理单只数码管循环显示0-F中同样采用AT89C52,单片机的XTAL1和XTAL2连接晶振电路,RST连接复位电路,P0连接上拉电阻、锁存器、阻排和单只数码管。当输入不同指令时控制数码管段信号和位信号,继而显示不同的数值。5.3.2电路仿真图图5-8:单只数码管循环显示0-F仿真图5.3.3 单只数码管循环显示0-F程序#include typedef unsigned char uint8;typedef unsigned int uint16;code uint8 LED_CODE = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E;void delay(uint16 x)uint16 i,j;for(i = x; i 0; i -)for(j = 114; j 0; j -);void main()uint8 i = 0;while(1)for(i = 0; i 16; i +) /i = (i + 1) % 16P0 = LED_CODEi;delay(500);5.4 按键发音5.4.1电路原理在电路中,三极管主要是做驱动用的。主要是因为单片机的输入输出口的驱动能力非常差,不能使让蜂鸣器工作,这个时候就需要三极管,来放大驱动电流,这样就能使蜂鸣器工作。在输出高低不同的电平的时候,三极管会导通、截止,从而使集电极的电流流过或不流过蜂鸣器,就能够使蜂鸣器工作或者不工作。在仿真软件当中,其实有很多类似蜂鸣器的元器,例如:sounder和speaker还有buzzer等等。 李学礼.基于Proteus软件的单片机实验室建设J.单片机与嵌入式系统的应用,2005图5-9:蜂鸣器电路图中采用AT89C52单片机,XTAL1和XTAL2连接晶振电路、RST连接复位电路,P1口连接四个按键,接到P1口,右边蜂鸣器接到P3.0口,按键K1按下时,输入低电平,给入延时参数,将延时程序运行期间,P3.0口为低电平,蜂鸣器的发音由于K1、K2、K3、K4由于延时不同,所以发音不同。5.4.2电路仿真图图5-10:按键发音电路仿真图5.4.3 按键发音程序#include typedef unsigned char uint8;typedef unsigned int uint16;sbit K1 = P10;sbit K2 = P11;sbit K3 = P12;sbit K4 = P13;sbit BUZZER = P30;void delay(uint16 x)uint16 i,j;for(i = x; i 0; i -)for(j = 114; j 0; j -);void Play(uint8 t)uint8 i;for(i = 0; i 100; i +)BUZZER = BUZZER;delay(t);void main()P1 = 0xFF;while(1)if(K1=0) Play(1);if(K2=0) Play(2);if(K3=0) Play(3);if(K4=0) Play(4);5.5 INT0中断3位计数5.5.1 电路原理用AT89C52及晶振、复位、上拉电阻、数码管、电阻、按键和三极管等实现中断计数。INTO中断计数,每次按下计数键时触发INTO中断,中断程序累加计数,计数值显示在3只数码管上,按下清零键时数码管清零。用单片机的P0口接三个单只数码管,中间加上拉电阻,增加驱动能力,确保灯能正常显示。INTO接按键开关,用于计数, T1口接按键开关,用于清零。P2.5、P2.6、P2.7分别接三个三极管,连接到数码管,增加数码管亮度,连接中间接三个电阻,保护三极管不被击穿。每次按下计数键时,就会触发INTO中断,中断程序累加计数,计数值显示在三只数码管上,按下清零键时,数码管清零。5.5.2 电路仿真图5-11:INT0中断3位计数仿真图5.5.3 INT0中断3位计数程序#include typedef unsigned char uint8;typedef unsigned int uint16;sbit K2 = P35;void delay(uint16 x)uint16 i,j;for(i = x; i 0; i -)for(j = 114; j 0; j -);code uint8 LED_CODE = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF;uint8 Buffer_Counts=0,0,0;uint16 Count=0;void Show_Counts() uint8 i;Buffer_Counts2 = Count / 100;Buffer_Counts1 = Count % 100 /10;Buffer_Counts0 = Count % 10;if(Buffer_Counts2 = 0) Buffer_Counts2 = 10;if(Buffer_Counts1 = 0)Buffer_Counts1 = 10;for(i = 0;i i;P0 = LED_CODEBuffer_Countsi;delay(2);void main() IP = 0x01;IT0 = 1;IE = 0x81;while(1)if(K2 = 0) Count = 0;Show_Counts();void ISR0() interrupt 0 Count+;5.6 8X8LED点阵显示数字0-95.6.1电路原理一个AT89C51单片机和一个8X8LED灯加上一个上拉电阻就构成了8X8LED点阵。8X8LED的ROW为行控制,接单片机P0口;8X8LED的COL为列控制。接到单片机的P3口。上拉电阻接到P0口,增强驱动能力。5.6.2 电路仿真图图5-12:8X8LED点阵显示数字0-9仿真图5.6.3 8X8LED点阵显示数字0-9程序ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#TAB;字码表初址赋值MOVR1,#0FEH;列控制码MOVR3,#8;列数MOVR4,#88;移动“ ”及“09”11个字符,共88列CM:MOVR5,#10;每屏反复显示10次MOVR3,#8;列数C1:MOVR2,#0;取码指针C8:MOV P3,#0FFH;关显示MOVA,R2;MOVCA,A+DPTR;取当前列的显示字码的一个字节MOVP0,A;送18行控制口INCR2MOVA,R1MOVP3,A;送列控制码 ACALLD5MS;显示5MSRLA;列控制码左移,显示下一列MOVR1,ADJNZR3,C8;未显示8 列,继续DJNZR5,C1;未显示10次,继续INCDPL;一屏反复显示10次完,字码表初值加1DJNZR4,CM;88列未移动完,继续AJMPMAIN;88列显示完,返回,重新从“ ”开始显示D5MS:MOVR6,#10MOVR7,#248DJNZR7,$DJNZR6,$-4RETTAB:DB00H,00H,00H,00H,00H,00H,00H,00H;DB00H,00H,00H,7EH,81H,81H,81H,7EH;0DB00H,00H,00H,00H,00H,82H,0FFH,80H;1DB00h,00h,00h,0C6H,0A1H,91H,89H,0C6H;2DB00H,00H,00H,42H,81H,81H,99H,66H;3DB00H,00H,00H,1FH,10H,0FFH,10H,10H;4DB00H,00H,00H,4FH,89H,89H,89H,79H;5DB00H,00H,00H,7EH,89H,89H,89H,72H;6DB00H,00H,00H,01H,01H,0F9H,05H,03H;7DB00H,00H,00H,76H,89H,89H,89H,76H;8DB00H,00H,00H,4EH,91H,91H,91H,7EH;9END5.7 AD转换 马正强。单片机虚拟实验室的建立。单片机与嵌入式系统应用,20055.7.1电路原理A/D转换的意

温馨提示

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

评论

0/150

提交评论