单片机与pc机串口通信接口设计.doc_第1页
单片机与pc机串口通信接口设计.doc_第2页
单片机与pc机串口通信接口设计.doc_第3页
单片机与pc机串口通信接口设计.doc_第4页
单片机与pc机串口通信接口设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一 绪论1.1 单片机与PC机串行通信现状及发展前景近年来,由于PC机(个人计算机)优越的性价比和丰富的软件资源,已成为计算机应用的主流机种。而单片机在工业控制系统中也越来越得到广泛的应用,它以价格低、功能全、体积小、抗干扰能力强、开发应用方便等特点已渗透到各个开发领域。特别是利用其能直接进行全双工通信的特点,在数据采集、智能仪表仪器、家用电器和过程控制中作为智能前沿机。但由于单片机计算能力有限,难以进行复杂的数据处理,因此应用高性能的计算机对系统的所有智能前沿机进行管理和控制,已成为一种发展方向。在功能较复杂的控制系统中,通常以PC机为主机,单片机为从机,由单片机完成数据的采集及对装置的控制,而由主机完成各种复杂的数据处理和对单片机的控制。所以计算机与单片机之间的数据通信越发显得重要。 单片机与PC机串行通信的方式有并行通信和串行通信。并行通信就是数据的各位同时进行传送。其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。当数据位数较多和传送距离较远时,就会导致通信线路成本提高,因此它适合于短距离传输。而串行通信就是数据一位一位地按顺序进行传送,其特点是只需一对传输线就可以实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本。 串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。 随着技术的发展和数据流量的不断增长,传统的并行接口面临的干扰和时钟传送两大关键问题成为限制并行I/O接口的数据率进一步提高的瓶颈。在这种情况下,过去主要用于光纤通信的串行通信技术正在取代传统并行总线而成为高速接口技术的主流,因为硬件的实现比较简单,而且用户使用上也很简便。串行通信作为一 种灵活方便的通信方式,一种有效的通信手段,被广泛应用于工业控制中。随着信息和电子技术的发展,各种工业控制系统网络不断改进,这就对单片机通信功能的要求不断增加。特别是对各种现场总线技术中通信接口和通信协议,更是提出了新的通信要求:不仅能适应某一个通信协议,还希望能成为一种通信协议自动转换的智能终端。因此,单片机通信功能是否满足设计目标要求是必须设计的一个关键问题。 单片机和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由PC机和多台单片机构成的多机网络测控系统已成为发展的一个方向。它结合了单片机在实时数据采集和微机对图形处理、显示的优点。同时,windows环境下后台微机在数据库管理上具有明显的优势。二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。1.2 单片机与PC机串行通信研究目的和意义 现代信息网络技术的一个突出特点,就是使工业控制系统中的所有设备连接成网,从而在一个核心软件管理下工作(这个软件可能是分布式的操作系统,也可能是嵌入式操作系统),形成一个有机的整体。这种整体网络方式的现代工业控制系统具有传统独立控制系统所无法比拟的先进性,不仅能极大地提高工业设备的生产效率,还可以大大提高系统的安全性和可靠性4。 单片机自诞生以来以其性能稳定、价格低廉、功能强大,在智能仪器、工业装备以及日用电子消费品中得到了越来越广泛的应用。在单片机的输入输出控制中,除直接接上小键盘和LCD显示屏等方法外,一般都通过串口和上位机PC进行通信。因为随着微机和网络技术的普及应用,控制过程中如虚拟设备面板、曲线记录显示、打印输出等一系列更高的要求也相应被提出,这些要求往往是面向底层控制的单片机分立控制系统所无法企及的5。而许多基于微机视窗操作平台的可视化软件开发工具如Visual Basic、Delphi(我要用哪个软件,那个软件要介绍吗?)等能容易地解决此类问题很好地充当这些新要求的实现载体,于是产生了由微机与多台单片机构建的小型测控系统。后来又产生结构更复杂、运行更安全、稳定的集散控制系统(DCS),但由于价格昂贵,用于小型系统的控制往往过于浪费。 而后一种方法由于能实现远程控制,并且能够利用PC机强大的数据处理功能以及友好的控制界面,显得尤为重要。在一般的利用PC机对单片机进行控制的场合,都是采用Windows作为上位机的平台,其优点是界面友好,编程和操作都比较容易。因此研究PC机与单片机串行通信具有十足的现实及工业意义。 虽说Windows操作平台界面友好,操作简单,但是缺点是稳定性太差,这对于需要连续数天或数月运行的装置来说,尤其不合适。在要求比较苛刻的场合,一般都采用UNIX工作站作为主控平台,如合肥同步辐射加速器的主控平台采用的是SUN的Solaris工作站系统,然而UNIX(这些我要不要介绍?这些可以用到吗?)工作站昂贵的价格又大大限制了其使用的范围6。近年来,随着Linux的迅猛发展,使其逐渐从少数人的玩具变成了主流的操作系统。Linux是遵循GPL协议的免费源代码开放软件,任何人都可以自由的从Internet上取得其源程序,也可在GPL的协议下修改其源代码以适应特定的应用,其运行在普通的PC上,性能稳定,特别适于做工业控制,因此实现Linux和单片机的串行通信非常有意义,他可以是昂贵的UNIX工作站的一种可选的替代方法。1.3 论文内容及结构安排 论文的第一章对单片机与PC机串行通信的现状、发现趋势和研究此题目的目的和意义进行了论述。 第二章从最基本的方面介绍了此次设计所必需的基本知识。第二章分为两部分,第一部分包括了单片机的简介以及本次设计中所用单片机的选择。第二部分介绍了串行通信的基本概念、串行通信接口标准RS-232的概念和远程串行通信RS-485的概念,以及两者的比较。 第三章首先讨论了单片机几个特殊寄存器的格式,以便在后面的软件设计中对单片机进行正确的初始化。其次讨论了单片机与PC机点对点串行通信的软硬件实现与PC机与多单片机通信的软硬件实现。点对点通信中,硬件设计主要是解决PC机的RS-232电平到单片机的TTL电平的转换,给出了详细的电路图。软件设计中,单片机作为下位机不主动向PC机发出请求,所以设计了一种比较简单的PC机向单片机读写数据的协议,基于这种协议给出了单片机和PC机的程序。多机通信是基于点对点通信的。多机通信主要需要解决的就是单片机的寻址问题。一旦确定选择的是哪个单片机时,剩下的问题就是点对点通信了。本文中所讨论的多机通信是基于RS-485总线的,为下面一章应用做铺垫。用RS-485的问题在于它的电平与PC机和单片机又不同,所以又要进行电平转换。所以文中给出了怎样进行电平转换的具体讨论以及详细电路设计。多机通信的软件方面只给出了单片机寻址部分,因其余部分与点对点通信相同。第四章为串行通信的应用举例(要改的)二 单片机AT89S51概述(要不要介绍mcs-51单片机串行接口?)2.1 单片机的选型 在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。它们大多由PC机和MCS-51单片机组成。MCS-51系列单片机在国际市场中占有率居世界之首,主要是因为它有如下优点:性能价格比大大超过Z80等单板微型机;开发用的仿真机研究较早并日趋完善;生产厂家较多;支持芯片种类多;适合不同应用场合的新机种不断涌现。PC机作为主机,单片机作为从机完成各自的功能需要不断的进行信息交流,因此通信成为分布式测控系统重要而基本的功能。 AT89C51是最常用的51芯片。AT89C51是ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL公司的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。它的片内Flash存储器允许在系统内改编程序或用常规的非易失性的存储器编程器来编程,同时已经具有三级存储器保密的性能。在众多的51系列单片机中,要算ATMEL公司的AT89C51单片机最实用。片内4K程序存储器是采用Flash工艺的,这种工艺下的存储器用户可以用电方式瞬间擦除、改写。所以说这种单片机对开发设备要求很低,开发时间也大大缩短。写入单片机的程序还可以加密,这又很好的保护了所有劳动者的成果9。 所以本文中所用的单片机将采用AT89C51。AT89C51提供以下标准功能:4k 字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式禁止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。 AT89C51单片机内部有一个功能较强的全双工串行异步通信接口,它可以作UART(通用异步接收和发送器)用,构成双机或多机通信系统,也可以外接移位寄存器后扩展为并行I/O口。AT89C51单片机通过引脚RXD(P3.0)和引脚TXD(P3.1)与外界进行通信。 AT89C51的串行口是可编程接口,通过对两个特殊功能寄存器SCON和PCON进行编程可控制串行口的工作方式和波特率。 SCON用于控制串行口的工作方式,同时还包含要发送或接收到的第9位数据位以及串行口中断标志位。该寄存器的字节地址为98H,可进行位寻址。PCON中只有最高位SMOD与串行口工作有关,该位用于控制串行口工作于方式1、2、3时的波特率。PCON的字节地址为87H,没有位寻址功能。单片机复位时,SMOD=0。 MCS-51串行口有方式0、方式1、方式2和方式3四种工作方式,每种工作方式下的波特率设置方法也不相同,用户应根据实际需要正确选用10。方式0主要用于扩展并行输入输出口,方式1、方式2和方式3主要用于串行通信。其中方式3可用于多机通信。2.2 AT89S51单片机具有的特点 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 2.3 AT89S51单片机的管脚图(太少了,就一个图,不知还添加什么内容?)2.4 AT89S51单片机各引脚功能简要介绍 1主要特性: 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.5 AT89S51与AT89C51的比较 MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在, MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。 有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。 其他的公司的51单片机产品都是和MCS-51内核兼容的产品而以。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51指的是ATMEL公司的 AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。 不过在市场化方面,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。89S51就是在这样的背景下取代89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以像下兼容89CXX等51系列芯片。同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存

温馨提示

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

评论

0/150

提交评论