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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(虚拟单片机实验系统的开发毕业设计河北科技大学.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

虚拟单片机实验系统的开发毕业设计河北科技大学.docx

1、虚拟单片机实验系统的开发毕业设计河北科技大学 毕 业 设 计学生姓名: 端木青云 学 号: 09XXXXXXXXX 专 业: 电子科学与技术 题 目: 虚拟单片机实验系统的开发 指导教师: 王保柱(副教授) 张秀清(讲师) 评阅教师: 武瑞红(副教授) 2013 年 6 月河北科技大学理工学院毕业设计成绩评定表姓 名端木青云学 号09xxxxxxxx成 绩专 业电子科学与技术题 目虚拟单片机实验系统的开发指导教师评语及成绩 指导教师: 年 月 日评阅教师评语及成绩 评阅教师: 年 月 日答辩小组评语及成绩答辩小组组长: 年 月 日答辩委员会意见 答辩委员会主任: 年 月 日 毕 业 设 计 中

2、 文 摘 要基于C51的单片机在现实生活中有着广泛的应用,课题基于PROTEUS软件,简单设计了一个单片机虚拟硬件环境的实验系统,以便做一些简单的单片机实验。本课题针对PROTEUS软件和编译软件KEIL做了一下简单的介绍。本文重点对单片机虚拟硬件环境各部分电路进行详细介绍,包括键盘、显示、6位共阳数码管、A/D、D/A等。重点介绍了4X4键盘的显示功能、8位发光二极管以流水灯的方式显示、LCD的显示以及A/D和D/A转换器的功能。最后作者还介绍了一下PROTEUS和KEIL的联调设置以用各电路的仿真结果。关键词:proteus软件;单片机 ;仿真; 虚拟实验毕 业 设 计 外 文 摘 要Ti

3、tle Based on the virtual experiment system PROTEUS 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. I

4、n order to make some simple MCU experiment.This subject gives a brief introduction to KEIL and PROTEUS.This article main introduce the detail to various part of electric circuits. Include keyboard, display, 6 digit 7 segment anode display,A/D, D/A, the 4X4 keyboards demonstration function, 8 light e

5、mitter diodes by class 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

6、 experiment 1 绪论 11.1 课题背景分析 11.2课题概况及发展趋势 21.3课题的目的和意义 22 系统设计 32.1电路整体设计 32.2课题解决的问题 32.3课题研究的方法 42.4 电路仿真部分 63 硬件电路设计 73.1整体框图设计 73.2主芯片AT89C52 83.3 LED显示模块 143.4 LCD显示模块 163.5 数码管显示 173.6 键盘显示 193.7 A/D转换模块 223.8 D/A转换模块 243.9 温度传感器模块 253.10 蜂鸣器模块 264 软件联调配置 284.1 软件语言的选择 284.2 软件运行环境 284.3 prot

7、eus和keil的配置 285 电路的仿真与测试 325.1 LED流水灯 325.2 LCD字符显示 335.3 数码管动态扫描 345.4 键盘测试 355.5 A/D转换实验 365.6 D/A转换实验 375.7计时器 385.8 1602液晶显示时钟 385.9 DS18B20温度按传感器 395.10 交通灯设计 395.11 整体电路测试 40结论 44致谢 45参考文献 46附录 481.绪论 1.1课题的背景分析针对传统的单片机,需采购大量的、比较贵的的硬件设备,而且设备维护和工作量也非常大,传统的单片机实验采用硬件仿真器,实验箱或实验板,由于单片机应用技术涉及的范围比较广,

8、它涉及到到计算机、须硬件和软件结合才能实现,也就是将外围电路和单片机程序相结合,如果用真实的实验箱则费会用高,器材又不能地发挥充分利用,加上所用实验板开发周期比较长,可行性不好。 现在使用Proteus仿真软件,实现了纯软件的虚拟单片机实验系统,既可调试单片机程序,也可以仿真单片机的外围器件的工作情况;既能充分利用计算机等硬件资源,减少硬件设备的维护工作量,还可提供丰富的实验内容。1.2技术概况及发展趋势现代科技技术的发展,促进了计算机技术在软件和硬件上的飞速发展,利用计算机软件的仿真技术,可以充分地仿真电路的工作等实际的工程问题。目前,嵌入式系统已经广泛地渗透到工程设计、科学研究、军事技术、

9、各类产业和商业文化艺术以及人们的日常生活等方方面面中,由于社会对掌握嵌入式技术人才的大量需求,使得嵌入式软硬件工程师成为未来几年内最为热门的职业之一,相当一部分高校已开设嵌入式系统的相关课程。嵌入式系统是实践与理论相结合的课程,对于嵌入式处学习者来说没有足够的资金来购买开发板,所以只能选择仿真仿真来学习嵌入式系统,proteus是目前最好的仿真软件,能够虚拟出嵌入式系统开发中常用的处理器和外围器件。Proteus与其他软件不同,它不仅能仿真CPU的工作情况,而且也能仿真参与单片机仿真的外围电路和其他电路的工作情况。在调试和仿真的过程中,关心的是从工程的角度直接看程序运行的结果和电路的工作过程。

10、不再关心的是某些程序语句执行单片机寄存器和存储器内容的改变。这样的仿真弥补了工程和实验见的矛盾和脱节。1.3 课题的目的和意义单片机技术是电子专业一门重要的基础课程,它要求的对动手能力要求很高,长期以来,由于实验设备资源的限制,使得教学实验受到了限制,本设计是利用Proteus软件进行虚拟单片机试验系统的开发,所涉及到单片机及外围电路可以在没有硬件的情况下进行各种实验的仿真,从而大大地挺高了学习的兴趣。在现代教学中计算机网络和虚拟实验等技术已经逐渐成为教学的的手段和工具。通过实验可以使所学的东西更加清楚和明了,通过实验可以是学生通过实验加深对理论知识的理解和认识。尤其是那些那些难以理解的内容,

11、虚拟实验在现代教学有很高的地位,它使得很多复杂的问题变得简单化,同时也节省很多件资源,在实验中通过一些形象生动的演示,是所学的知识转化为能力,在以后的工作中实践中得以灵活地应用。传统的试验室,需要大量的实验器材,而且很多器材都得不到充分地利用,加上电子产品的更新换代,很多实验器材用不了几年就会被淘汰,再加上目前学生人数的增加,势必会给实验教学带来不小的压力和冲击,所以我们就要寻找一种新的途径解决实验教学的问题,传统的实验需要各种设备仪器,和相关的配套设施,而且对实验器材不够充分地利用,学生在试验室对各种仪器不熟悉,对实验内容准备的不够充分而到不到满意的实验结果,现在利用虚拟的实验系统可以很好地

12、解决这一问题,所以虚拟试验室教学将成为一种发展趋势,同时也提高学习者的积极性和动手能力。2.系统设计2.1电路整体设计本课题共分为几大模块,具体为LED显示、1602液晶显示、温度传感器、独立按键、数字按键、4X4键盘显示、6位数码管、蜂鸣器、8位发光二极管流水灯显示、LCD显示以及A/D和D/A转换几个模块。所有电路都是围绕主芯片AT89C52来完成的,下图为设计的电路的整体框图,如图2-1所示。图2-1 系统电路框图2.2课题解决的问题为了解决传统基于硬件的单片机实验室诸多弊端,本课题采用PC和软件建立的单片机虚拟试验系统,即在proteus上使用的各种虚拟仪器,按照试验要求和设计原理,虚

13、拟出与现实相同的实验系统,进而完成整个实验,也充分利用了proteus软件的功能,对各个电路部分进行仿真。为进行一些简单的单片机实验构建一个虚拟硬件环境。 (1)4X4键盘:主要输入数据(2)显示部分:LED:LED是一种特别的二极管,当连接最电的时候就会发出光,通常被用在电子器具来显示电路是否关闭或打开的指示灯。LCD:LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。(3)A/D和D/A:真实世界的模拟信号,例如温度、压力、声音或者图像等,被不断转换成更容易储存、处理和发射的数字形式,但

14、是在很多系统中,数字信息也必须重新转换成模拟信号来实现一些真实世界的功能。数模转换器(DAC)就可以做到这一点,而且它们的输出还可以用来驱动各种设备。 DAC一般被放置在数字系统中。在数字系统中,一些真实世界的信号通过模数转换器(ADC)数字化和处理过后,然后需要重新转化成模拟信号的系统中。这些系统所要求的DAC性能会受到系统其它组件的性能和要求的影响。2.3 课题研究的方法2.3.1 总体方案图2-2 总体方案分别对LED显示、独立键盘、矩阵键盘、LCD显示、蜂鸣器模块、数码管以及A/D和D/A等实验项目进行硬件电路和软件程序的设计并结合Proteus和Keil uVision3进行仿真。如

15、图2-2所示。2.3.2 技术路线图2-3 技术路线围绕着主芯片设计LED显示、独立键盘、矩阵键盘、数字键盘、LCD显示、数码管、计数器、数字温度显示、蜂鸣器模块、交通灯设计、以及A/D和D/A等电路模块并在Porteus上画出相应的电路图并保存。用C语言编译能够完成相应模块功能的源程序。运行Proteus进行仿真调试。如果仿真没有成功则修改电路或源程序后重新进行仿真测试。2.4 电路图仿真部分Proteus与其他软件不同,它不仅能仿真CPU的工作情况,而且也能仿真参与单片机仿真的外围电路和其他电路的工作情况。因此在调试和仿真的过程中,关心的是从工程的角度直接看程序运行的结果和电路的工作过程。

16、不再关心的是某些程序语句执行单片机寄存器和存储器内容的改变。这样的仿真弥补了工程和实验见的矛盾和脱节。采用Proteus仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。3. 硬件电路设计3.1 整体框图设计在proteus中由LED模块及驱动电路、1602液晶显示模块、LCD显示模块、6位数码管、AD/DA转换模块、独立按键、矩阵按键、数字按键、蜂鸣器模块、温度传感器等模块。如图3-1所示。图3-1 电路总设计图3.2 主芯片AT89C52本设计主要是围绕芯片AT89C52来设计的,下图为芯片AT8

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

18、2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。3.2.2 管脚说明主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1

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

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

21、。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 口是一组带

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

23、的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。

24、在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。3.2.3 外围电路 外围电路由晶振电路和复位电路组成,晶振电路由晶振和两个30uF的电路组成,分别接单片机的XTAL1和XTAL2。晶振的作用是为了系统,他提供时钟信号给了系统,通常便于各部分保持同步,所以一个系统共用一个晶振,要使通过电子调整频率的保持同步,那就必须在有些系统中的基频和射频使用不同的晶振。晶振电路通常与锁相环电路配合使用,以提供系

25、统所需的时钟频率。 复位电路由复位开关和下拉电阻R7组成,接单片机的RST引脚。复位电路的作用是使单片机的程序计数器清零,复位电路就好比电脑,当死机的时候,按下复位键程序从头开始执行,受到干扰或者程序跑飞的时候,按下复位键从头开始执行。内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部记数器在单片机中主要有定时器和记数器两个功能。定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是记数,TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等,内部记数器用作定时器时,是对机器周期记数。每

26、个机器周期的长度是12个振荡周期,该实验系统的晶振是11.0592MHz。图3.3 外围电路3.3 LED显示模块(1)电路接法以AT89C52为主芯片设计的一个8位发光二极管以流水灯的形式显示的基本电路,首先,8个发光二极管的输出端是和74HC573的端口从Q0到Q7端相接,形成8个输入端口,其次,8位二极管的负极接9引脚的排阻,排阻的1脚接VCC。接排阻的作用是防止发光二极管在电压过大的情况下烧坏,然后74HC573接AT89C52的P1口从P1.0到P1.7,这样就形成了8个闭合回路。74HC573起到驱动的作用,一般情形下,74HC573的驱动能力大于74LS573的驱动能力。如图3-

27、4所示。图3-4 LED显示电路(2)8位发光二极管的工作原理因为二极管左边接的是Vcc作为高电平,所以如果要二极管亮的话P1口必须输入低电平,就一条通路而言,在P1.0输入低电平后,第一个发光二极管导通,所以就亮了。然后在后面加上延迟,也就是亮的时间后再输入P1.1口为低电平,第二个二极管就发亮,同理而言,就实现了流水灯的实验。3.4 1602液晶显示模块1602字符液晶显示器的D0到D7端口与用AT89C52 的P0口P0.0到P0.7相接,VEE端接RV1的VL端,RV一端接地,另一端接+5V。9引脚的排阻2到9端接单片机的P0.0到P0.7。VDD接+5V,RS、RW、E分别接P2.0

28、到P2.2。1602为2行16列液晶显示器,可显示2行16列英文字符,有8位数据总线D0-D7,RS、VEE、RW三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)。如图3-5所示。图3-5 LCD显示电路1.管脚功能第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器对比度调整端,对比度最弱时接正电源,对比度最高时接地电源。第4脚:RS为选择寄存器,高电平1时寄存器选择数据、低电平0时寄存器选择指令。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(en

29、able)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.字符显示原理用LCD显示一个比较复杂的字符时,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。但由于内带字符发生器的控制器来说,显示字符就比较简单了,先让让控制器工作在文本方式的时候,再根据根据在LCD上显示每行的列数和行列号找出显示RAM对应的地址,设立光标,在此处送上该字符对应的代码就可了。3.5 数码管模块LED数码管是由七个发光管组成8字形构成的,加

30、上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的 2个8数码管字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。发光二极管的阳

31、极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需将它们的各个笔划引出,公共电极。数码管根据LED分为共阴和共阳是因为他们的接法不同而分类,如果了解LED的特性,尤其是对编程是非常重要的,数码管的类型不同,电路除了有差别外,编程的方法和原理也有所不同,共阴和共阳极数码管的内部电路不同,到那它们的原理是一样的,知识它们的电源极性不同而已罢了。led数码管广泛用于仪器仪表,汽车电子、时钟、显示屏、家电等场合。选用时要注意产品尺寸颜色,波长,功耗,亮度等。图3-6 6位数码管1.电路连接:电路采用共阳的接法,数码管电路用2个74HC573,其中一个的Q0-Q7分别与6位数码管的A,B,C,D,E,F,G,DP引脚相连,另一个的Q0-Q5与6位数码管的1-6引脚相连。两个74HC573的D0-D7与单片机的P0.0-P0.7引脚相连。图3-7 7段数码管2.数码管编码表(1)数码管共阳极码表p0.0-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1