虚拟单片机实验系统的开发河北科技大学学位论文.docx

上传人:b****7 文档编号:10437301 上传时间:2023-02-11 格式:DOCX 页数:49 大小:2.39MB
下载 相关 举报
虚拟单片机实验系统的开发河北科技大学学位论文.docx_第1页
第1页 / 共49页
虚拟单片机实验系统的开发河北科技大学学位论文.docx_第2页
第2页 / 共49页
虚拟单片机实验系统的开发河北科技大学学位论文.docx_第3页
第3页 / 共49页
虚拟单片机实验系统的开发河北科技大学学位论文.docx_第4页
第4页 / 共49页
虚拟单片机实验系统的开发河北科技大学学位论文.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

虚拟单片机实验系统的开发河北科技大学学位论文.docx

《虚拟单片机实验系统的开发河北科技大学学位论文.docx》由会员分享,可在线阅读,更多相关《虚拟单片机实验系统的开发河北科技大学学位论文.docx(49页珍藏版)》请在冰豆网上搜索。

虚拟单片机实验系统的开发河北科技大学学位论文.docx

虚拟单片机实验系统的开发河北科技大学学位论文

毕业设计

 

学生姓名:

端木青云学号:

09XXXXXXXXX

专业:

电子科学与技术

题目:

虚拟单片机实验系统的开发

指导教师:

王保柱(副教授)张秀清(讲师)

评阅教师:

武瑞红(副教授)

 

2013年6月

河北科技大学理工学院毕业设计成绩评定表

姓名

端木青云

学号

09xxxxxxxx

成绩

专业

电子科学与技术

题目

虚拟单片机实验系统的开发

指导教师评语及成绩

 

指导教师:

年月日

评阅教师评语及成绩

 

评阅教师:

年月日

答辩小组评语及成绩

 

答辩小组组长:

年月日

答辩委员会意见

 

答辩委员会主任:

年月日

毕业设计中文摘要

基于C51的单片机在现实生活中有着广泛的应用,课题基于PROTEUS软件,简单设计了一个单片机虚拟硬件环境的实验系统,以便做一些简单的单片机实验。

本课题针对PROTEUS软件和编译软件KEIL做了一下简单的介绍。

本文重点对单片机虚拟硬件环境各部分电路进行详细介绍,包括键盘、显示、6位共阳数码管、A/D、D/A等。

重点介绍了4X4键盘的显示功能、8位发光二极管以流水灯的方式显示、LCD的显示以及A/D和D/A转换器的功能。

最后作者还介绍了一下PROTEUS和KEIL的联调设置以用各电路的仿真结果。

 

关键词:

proteus软件;单片机;仿真;虚拟实验

毕业设计外文摘要

TitleBasedonthevirtualexperimentsystemPROTEUSchipdesign

 

Abstract

WidespreadapplicationbasedontheC51monolithicintegratedcircuitinthereallife.ThisarticlebasedonPROTEUSsoftware,simplydesignedamonolithicintegratedcircuithypothesizedhardwareenvironmentexperimentsystem.InordertomakesomesimpleMCUexperiment.ThissubjectgivesabriefintroductiontoKEILandPROTEUS.Thisarticlemainintroducethedetailtovariouspartofelectriccircuits.Includekeyboard,display,6digit7segmentanodedisplay,A/D,D/A,the4X4keyboard'sdemonstrationfunction,8lightemitterdiodesbyclasslanternfloateddownriver'swaydemonstration,LCDdisplayedaswellasA/DandD/Aswitch'sfunction.Atlast,writeralsointroducedthesimulationresultbyKEILandPROTEUSindifferentcircuitswiththejointingsetting.

 

KeyWords:

Proteussoftware,SCM,Simulation,Virtualexperiment

 

目录

1绪论1

1.1课题背景分析1

1.2课题概况及发展趋势2

1.3课题的目的和意义2

2系统设计3

2.1电路整体设计3

2.2课题解决的问题3

2.3课题研究的方法4

2.4电路仿真部分6

3硬件电路设计7

3.1整体框图设计7

3.2主芯片—AT89C528

3.3LED显示模块14

3.4LCD显示模块16

3.5数码管显示17

3.6键盘显示19

3.7A/D转换模块22

3.8D/A转换模块24

3.9温度传感器模块25

3.10蜂鸣器模块26

4软件联调配置28

4.1软件语言的选择28

4.2软件运行环境28

4.3proteus和keil的配置28

5电路的仿真与测试32

5.1LED流水灯32

5.2LCD字符显示33

5.3数码管动态扫描34

5.4键盘测试35

5.5A/D转换实验36

5.6D/A转换实验37

5.7计时器38

5.81602液晶显示时钟38

5.9DS18B20温度按传感器39

5.10交通灯设计39

5.11整体电路测试40

结论44

致谢45

参考文献46

附录48

1.绪论

1.1课题的背景分析

针对传统的单片机,需采购大量的、比较贵的的硬件设备,而且设备维护和工作量也非常大,传统的单片机实验采用硬件仿真器,实验箱或实验板,由于单片机应用技术涉及的范围比较广,它涉及到到计算机、须硬件和软件结合才能实现,也就是将外围电路和单片机程序相结合,如果用真实的实验箱则费会用高,器材又不能地发挥充分利用,加上所用实验板开发周期比较长,可行性不好。

现在使用Proteus仿真软件,实现了纯软件的虚拟单片机实验系统,既可调试单片机程序,也可以仿真单片机的外围器件的工作情况;既能充分利用计算机等硬件资源,减少硬件设备的维护工作量,还可提供丰富的实验内容。

1.2技术概况及发展趋势

现代科技技术的发展,促进了计算机技术在软件和硬件上的飞速发展,利用计算机软件的仿真技术,可以充分地仿真电路的工作等实际的工程问题。

目前,嵌入式系统已经广泛地渗透到工程设计、科学研究、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中,由于社会对掌握嵌入式技术人才的大量需求,使得嵌入式软硬件工程师成为未来几年内最为热门的职业之一,相当一部分高校已开设嵌入式系统的相关课程。

嵌入式系统是实践与理论相结合的课程,对于嵌入式处学习者来说没有足够的资金来购买开发板,所以只能选择仿真仿真来学习嵌入式系统,proteus是目前最好的仿真软件,能够虚拟出嵌入式系统开发中常用的处理器和外围器件。

Proteus与其他软件不同,它不仅能仿真CPU的工作情况,而且也能仿真参与单片机仿真的外围电路和其他电路的工作情况。

在调试和仿真的过程中,关心的是从工程的角度直接看程序运行的结果和电路的工作过程。

不再关心的是某些程序语句执行单片机寄存器和存储器内容的改变。

这样的仿真弥补了工程和实验见的矛盾和脱节。

1.3课题的目的和意义

单片机技术是电子专业一门重要的基础课程,它要求的对动手能力要求很高,长期以来,由于实验设备资源的限制,使得教学实验受到了限制,本设计是利用Proteus软件进行虚拟单片机试验系统的开发,所涉及到单片机及外围电路可以在没有硬件的情况下进行各种实验的仿真,从而大大地挺高了学习的兴趣。

在现代教学中计算机网络和虚拟实验等技术已经逐渐成为教学的的手段和工具。

通过实验可以使所学的东西更加清楚和明了,通过实验可以是学生通过实验加深对理论知识的理解和认识。

尤其是那些那些难以理解的内容,虚拟实验在现代教学有很高的地位,它使得很多复杂的问题变得简单化,同时也节省很多件资源,在实验中通过一些形象生动的演示,是所学的知识转化为能力,在以后的工作中实践中得以灵活地应用。

传统的试验室,需要大量的实验器材,而且很多器材都得不到充分地利用,加上电子产品的更新换代,很多实验器材用不了几年就会被淘汰,再加上目前学生人数的增加,势必会给实验教学带来不小的压力和冲击,所以我们就要寻找一种新的途径解决实验教学的问题,传统的实验需要各种设备仪器,和相关的配套设施,而且对实验器材不够充分地利用,学生在试验室对各种仪器不熟悉,对实验内容准备的不够充分而到不到满意的实验结果,现在利用虚拟的实验系统可以很好地解决这一问题,所以虚拟试验室教学将成为一种发展趋势,同时也提高学习者的积极性和动手能力。

 

2.系统设计

2.1电路整体设计

本课题共分为几大模块,具体为LED显示、1602液晶显示、温度传感器、独立按键、数字按键、4X4键盘显示、6位数码管、蜂鸣器、8位发光二极管流水灯显示、LCD显示以及A/D和D/A转换几个模块。

所有电路都是围绕主芯片AT89C52来完成的,下图为设计的电路的整体框图,如图2-1所示。

图2-1系统电路框图

2.2课题解决的问题

为了解决传统基于硬件的单片机实验室诸多弊端,本课题采用PC和软件建立的单片机虚拟试验系统,即在proteus上使用的各种虚拟仪器,按照试验要求和设计原理,虚拟出与现实相同的实验系统,进而完成整个实验,也充分利用了proteus软件的功能,对各个电路部分进行仿真。

为进行一些简单的单片机实验构建一个虚拟硬件环境。

(1)4X4键盘:

主要输入数据

(2)显示部分:

LED:

LED是一种特别的二极管,当连接最电的时候就会发出光,通常被用在电子器具来显示电路是否关闭或打开的指示灯。

LCD:

LCD为英文LiquidCrystalDisplay的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。

(3)A/D和D/A:

真实世界的模拟信号,例如温度、压力、声音或者图像等,被不断转换成更容易储存、处理和发射的数字形式,但是在很多系统中,数字信息也必须重新转换成模拟信号来实现一些真实世界的功能。

数模转换器(DAC)就可以做到这一点,而且它们的输出还可以用来驱动各种设备。

DAC一般被放置在数字系统中。

在数字系统中,一些真实世界的信号通过模数转换器(ADC)数字化和处理过后,然后需要重新转化成模拟信号的系统中。

这些系统所要求的DAC性能会受到系统其它组件的性能和要求的影响。

2.3课题研究的方法

2.3.1总体方案

图2-2总体方案

分别对LED显示、独立键盘、矩阵键盘、LCD显示、蜂鸣器模块、数码管以及A/D和D/A等实验项目进行硬件电路和软件程序的设计并结合Proteus和KeiluVision3进行仿真。

如图2-2所示。

2.3.2技术路线

图2-3技术路线

围绕着主芯片设计LED显示、独立键盘、矩阵键盘、数字键盘、LCD显示、数码管、计数器、数字温度显示、蜂鸣器模块、交通灯设计、以及A/D和D/A等电路模块并在Porteus上画出相应的电路图并保存。

用C语言编译能够完成相应模块功能的源程序。

运行Proteus进行仿真调试。

如果仿真没有成功则修改电路或源程序后重新进行仿真测试。

2.4电路图仿真部分

Proteus与其他软件不同,它不仅能仿真CPU的工作情况,而且也能仿真参与单片机仿真的外围电路和其他电路的工作情况。

因此在调试和仿真的过程中,关心的是从工程的角度直接看程序运行的结果和电路的工作过程。

不再关心的是某些程序语句执行单片机寄存器和存储器内容的改变。

这样的仿真弥补了工程和实验见的矛盾和脱节。

采用Proteus 仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。

 

3.硬件电路设计

3.1整体框图设计

在proteus中由LED模块及驱动电路、1602液晶显示模块、LCD显示模块、6位数码管、AD/DA转换模块、独立按键、矩阵按键、数字按键、蜂鸣器模块、温度传感器等模块。

如图3-1所示。

图3-1电路总设计图

3.2主芯片—AT89C52

本设计主要是围绕芯片AT89C52来设计的,下图为芯片AT89C52引脚的具体说明,如图3-2所示。

3.2.1AT89C52介绍

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

图3-2A89C52芯片

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

3.2.2管脚说明

主要管脚有:

XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。

RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。

P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,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位)和数据总线复用,在访问期间激活内部上拉电阻。

在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位地址。

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口是一组带有内部上拉电阻的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脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

3.2.3外围电路

外围电路由晶振电路和复位电路组成,晶振电路由晶振和两个30uF的电路组成,分别接单片机的XTAL1和XTAL2。

晶振的作用是为了系统,他提供时钟信号给了系统,通常便于各部分保持同步,所以一个系统共用一个晶振,要使通过电子调整频率的保持同步,那就必须在有些系统中的基频和射频使用不同的晶振。

晶振电路通常与锁相环电路配合使用,以提供系统所需的时钟频率。

复位电路由复位开关和下拉电阻R7组成,接单片机的RST引脚。

复位电路的作用是使单片机的程序计数器清零,复位电路就好比电脑,当死机的时候,按下复位键程序从头开始执行,受到干扰或者程序跑飞的时候,按下复位键从头开始执行。

内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。

内部记数器在单片机中主要有定时器和记数器两个功能。

定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。

TMOD用于设置定时器/计数器的工作方式0--3,并确定用于定时还是记数,TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等,内部记数器用作定时器时,是对机器周期记数。

每个机器周期的长度是12个振荡周期,该实验系统的晶振是11.0592MHz。

图3.3外围电路

3.3LED显示模块

(1)电路接法

以AT89C52为主芯片设计的一个8位发光二极管以流水灯的形式显示的基本电路,首先,8个发光二极管的输出端是和74HC573的端口从Q0到Q7端相接,形成8个输入端口,其次,8位二极管的负极接9引脚的排阻,排阻的1脚接VCC。

接排阻的作用是防止发光二极管在电压过大的情况下烧坏,然后74HC573接AT89C52的P1口从P1.0到P1.7,这样就形成了8个闭合回路。

74HC573起到驱动的作用,一般情形下,74HC573的驱动能力大于74LS573的驱动能力。

如图3-4所示。

图3-4LED显示电路

(2)8位发光二极管的工作原理

因为二极管左边接的是Vcc作为高电平,所以如果要二极管亮的话P1口必须输入低电平,就一条通路而言,在P1.0输入低电平后,第一个发光二极管导通,所以就亮了。

然后在后面加上延迟,也就是亮的时间后再输入P1.1口为低电平,第二个二极管就发亮,同理而言,就实现了流水灯的实验。

3.41602液晶显示模块

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到P2.2。

1602为2行16列液晶显示器,可显示2行16列英文字符,有8位数据总线D0-D7,RS、VEE、RW三个控制端口(共14线),工作电压为5V。

没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)。

如图3-5所示。

图3-5LCD显示电路

1.管脚功能

第1脚:

VSS为电源地。

第2脚:

VDD接5V电源正极。

第3脚:

V0为液晶显示器对比度调整端,对比度最弱时接正电源,对比度最高时接地电源。

第4脚:

RS为选择寄存器,高电平1时寄存器选择数据、低电平0时寄存器选择指令。

第5脚:

RW为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

第6脚:

E(或EN)端为使能(enable)端。

第7~14脚:

D0~D7为8位双向数据端。

第15~16脚:

空脚或背灯电源。

15脚背光正极,16脚背光负极。

2.字符显示原理

用LCD显示一个比较复杂的字符时,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。

但由于内带字符发生器的控制器来说,显示字符就比较简单了,先让让控制器工作在文本方式的时候,再根据根据在LCD上显示每行的列数和行列号找出显示RAM对应的地址,设立光标,在此处送上该字符对应的代码就可了。

3.5数码管模块

LED数码管是由七个发光管组成8字形构成的,加上小数点就是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。

发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。

发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。

常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需将它们的各个笔划引出,公共电极。

数码管根据LED分为共阴和共阳是因为他们的接法不同而分类,如果了解LED的特性,尤其是对编程是非常重要的,数码管的类型不同,电路除了有差别外,编程的方法和原理也有所不同,共阴和共阳极数码管的内部电路不同,到那它们的原理是一样的,知识它们的电源极性不同而已罢了。

led数码管广泛用于仪器仪表,汽车电子、时钟、显示屏、家电等场合。

选用时要注意产品尺寸颜色,波长,功耗,亮度等。

图3-66位数码管

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-77段数码管

2.数码管编码表

(1)数码管共阳极码表<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

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

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