单片机串口通信设计方案 - 图文 下载本文

单片机串口通信设计方案

1.绪论

1.1课题背景及意义

目前,单片机的发展速度大约每两、三年要更新一代,集成度增加一倍,功能翻一番。其发展速度之快、应用围之广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。在汽车、通信、智能仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常重要的角色[1]。因此单片机的设计开发具有广阔的前景。所以,对于电气类学生而言,学习一种单片机的开发是十分必要的。而51系列的单片机,随着半导体技术的发展,其处理速度更快,性能更优越,在工业控制领域上占据十分重要的地位,通过对51系列单片机的学习而掌握单片机开发的过程是一种不错的选择。

然而单片机是一门综合性、实践性都很强的学科,其学习涉及的实验环节比较多,硬件设备投入比较大,对于大多数人而言很难投入大笔资金去购买实验器件。而且要进行硬件电路测试和调试,必须在电路板制作完成、元器件焊接完毕之后进行,但这些工作费时费力。因此引入EDA软件仿真系统建立虚拟实验平台,不仅可以大大提高单片机的学习效率,而且大大减少硬件设备的资金投入,同时降低对硬件设备的维护工作。

EDA设计思路是:从元器件的选取到连接、直至电路的调试、分析和软件的编译,都是在计算机中完成,所用的工作都是虚拟的。虽然现在的电路设计软件已经很多,诸如PROTEL、ORCAD、EWB 、Multisim等,不过这些软件之间的差别都不大:都有原理图和PCB制作功能,都能进行诸如频率响应,噪音分析等电路分析,主要用于模拟电路、数字电路、模数混合电路的性能仿真与分析,但对于单片机设计及软件编程,最重要的是两者的联调,这些软件都无法实现,所以造成了单片机系统设计周期长、设计费用高等缺点[2]。新款的EDA软件Proteus解决了上述软件的不足,成为目前最好的一款单片机学习仿真软件。

Proteus 软件是由英国Lab Center Electronics 公司开发的EDA 工具软件。Proteus软件已有近20年的历史,在全球已得到相当广泛的使用。Proteus 软件集成了高级原理布图、混合模式SPICE 电路仿真、PCB 设计以及自动布线来实现一个完整的电子设计系统。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机 CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。同时,当硬件调试成功后,利用Proteus ARES软件,很容易获得其PCB图,为今后的系统制造提供了方便。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象[3][4]。

Proteus 软件支持许多通用的微控制器,如PCI系列、AVR系列、HC11系列、68000系列、Z80系列、8051系列以及各种外围芯片;包含强大的调试工具,具有对寄存器和存储器,断点和单步模式IAR、C-SPY、Keil、MALAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果、对显示、按钮、键盘等外设的交互可视化进行仿真;具有6000 多种模拟和数字器件的模型库;具有单步断点设置等调试功能;能够与常用的汇编器、编译器如IAR、Keil、Proton 等协同调试;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、计数/按时/频率计虚拟终端、SPI 调试器等虚拟仪器,以仿真中的测量记录提供了方便;支持图形化的分析功能,具有频率特性、傅立叶、失真、噪声分析等多种绘图方式、可将仿真曲线精美地绘制出来[3]。

Keil是Keil Software公司开发的,是目前世界上最好的51单片机开发工具之一。 软件本身支持数百种51系列单片机机芯,可以用来编译C源码、汇编程序、连接和重定位目标文件和库文件、创建HEX文件、调试目标程序等,是一种集成化文件管理编译环境。它集成了文件编译处理、编译连接、项目管理,窗口、工具引用和软件仿真调试等多种功能,是相当强大的的开发工具[5]。Proteus ISIS与Keil整合起来使用,充分利用各自的仿真功能,单片机的软硬件的调试和仿真,将变得非常直观和生动。

国外的很多知名大学已经开始使Proteus作为他们的教学工具,比如Stanford University,University Of California,Cambridge University,Carlisle college,理工大学,大学,华南理工大学,工程大学等几十所高校。他们一致认为该软件在教学中的应用有很大的帮助,其灵活自主的设计方式使学生更能体验到电子设计的魅力,学生对单片机以及电子设计的兴趣大大提升,知识的掌握和应用当然也有了很大的提高。

虽然Proteus在单片机的学习和应用系统的开发上有着诸多的优点,但是在国的发展才几年的时间,其应用还未普及。因此,通过Proteus仿真平台学习51系列单片机之间的串口通信,是对EDA软件Proteus的使用过程的学习,也为以后利用该软件进行电子设计与开发打下一定的基础,以跟上现代科技的快车去适应激烈竞争的环境。

串行通信是CPU与外界交换信息的一种基本方式,单片机应用于数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发送给主机并进行处理,以降低成本,提高通信的可靠性。51系列单片机自身有全双工的异步串行通信接口,实现串行通信极为方便。既可通过一台计算机来控制和监视多台单片机系统,也可实现多台单片机之间的互联,组成不同的控制系统,适应不同的应用场合[6]。实现单片机之间的串口通信所涉及单片机的知识点多,概括了单片机的定时器/计数器功能、中断功能和串行通信功能等,是单片机功能的综合应用。通过Proteus对单片机串行通信的仿真和调试,不仅是对51单片机知识的综合学习,也是熟悉Proteus软件的应用过程。

1.2设计的主要任务

本论文要求在理解串行通信基本知识、学习并掌握51单片机的结构组成、指令系统、C语言程序设计、熟悉Keil软件的编程与调试环境以及掌握Proteus仿真软件的使用环境、元器件调用、虚拟仪器应用、原理图设计、仿真调试的基础上,完成以下4项任务:

1、总结单片机串口通信的基本知识和设计要求,对单片机串口通信的各种控制 方案进行比较,选择一个合适的控制方案;

2、根据课题的设计要求,在Proteus仿真环境中设计单片机串口通信硬件电路; 3、在Keil环境中编制串口通信控制程序,并进行编译调试;

4、在Proteus仿真环境中调用硬件电路,加载控制程序,并进仿真调试。

1.3论文的主要容

在本论文中,设计的主要容有五个方面:一是串行通信控制系统方案的选择;二是系统硬件电路的设计;三是系统软件设计;四是系统软件设计;五是系统仿真与调试;六是系统硬件PCB设计。具体章节安排如下:

1、绪论 在课题的背景及意义中介绍单片机发展现状、单片机EDA软件Proteus的优势、Keil集成开发环境软件简介以及单片机通信的描述;此外,还简单的说明介绍了本文设计的主要任务以及论文的主要容。

2、系统方案设计 主要论述通信的基本知识和系统的方案选择。系统的方案选择主要包括控制器的选择、串行通信方式比较与方案选择、显示方案比较与选择、编写程序语言比较和选择、串行控制方案确定以及系统框图绘制。

3、系统硬件设计 根据控制系统方案在Proteus ISIS原理图编辑环境中绘制系统硬件电路,主要包括原理图文件的创建、图纸大小的设置、原理图中元器件的选取、元器件的放置、电源、地、和输入输出终端的放置、原理图连线、器件统一编号、电气检测以及元器件属性设置等容。

4、系统软件设计 主要介绍了在Keil集成开发环境中进行C51语言的编写过程、控制系统程序的编写以及程序流程图绘制。

5、系统仿真与调试 完成控制系统在Proteus ISIS环境中的仿真与调试,主要是根据仿真结果验证硬件原理图以及软件编写的是否正确。

6、系统硬件PCB设计 完成串行通信单片机最小系统原理图设计与PCB绘制。 通过以上六个方面的阐述说明,将会对单片机串行通信控制系统基于Proteus

的设计、开发与仿真过程以及电路板制作有一个清晰全面的认识。

2.系统方案设计

本文的题目是“基于Proteus的51单片机应用——单片机串行通信设计”,主

要是通过单片机串行通信控制系统的设计,来阐述和实践51单片机的应用在Proteus虚拟实验平台的仿真和调试过程。由于题目没有给出具体的系统功能要求,因此有很大的设计空间。为了很好地在Proteus虚拟实验平台上展示51单片机串行通信的结果,需要自行设计方案。

2.1通信概述及串行通信方式选择

单片机串行通信在本系统设计中十分重要,是设计的核心部分,为此需要在此对通信部分做一些介绍。

2.1.1通信的基本概念

通信是计算机系统中主机与外设之间及主机系统与主机系统之间的数据交换。通信有并行通信和串行通信两种基本方式。两种基本通信方式如图2.1所示。

图2.1 并行通信与串行通信

并行通信的特点就是将多个数据位同时进行传输。通信速度快,但传输的数据有多少位,就相应地有多少根传输线,传输信号线多,传输距离较远时线路复杂,成本高,较适合于短距离的数据通信。

串行通信的特点就是只用一根数据线进行传输,多位数据必须在一根数据线上顺序地进行传送。传输线少,通信线路简单,通信速度慢,成本低,适合于多数位、长距离通信的场合。

串行通信按照信息在设备间的传输方向,还可分为单工、半双工和全双工三种方式。分别如图2.2所示。

在串行通信中,通信双方在任一时刻,只能单方向的传送数据,这样的传送方法称为单工方式。如图2.2(a)所示,通信方甲机只能作为发送方,而通信方乙机只能作为接收方,不能互换。通信双方可通过传输线交替地进行双向传输,每个通信方都可以作为发送方或接收方,但在任一时刻,不能同时作为发送方和接收方,这样的通信方