自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx

上传人:b****6 文档编号:5027658 上传时间:2022-12-12 格式:DOCX 页数:48 大小:391.16KB
下载 相关 举报
自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx_第1页
第1页 / 共48页
自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx_第2页
第2页 / 共48页
自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx_第3页
第3页 / 共48页
自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx_第4页
第4页 / 共48页
自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx

《自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx(48页珍藏版)》请在冰豆网上搜索。

自动检测80C51串行通讯的波特率软件设计毕业设计论文.docx

自动检测80C51串行通讯的波特率软件设计毕业设计论文

自动检测80C51串行通讯的波特率软件设计

摘要

本文以MCS-51单片机为例,详细介绍了PC机与单片机之间自动检测80C51串行通讯的波特率。

在Windows98下利用串口精灵的串行通讯控件来实现自动检测波特率的功能。

其传送速率(波特率)的发送和接收即是串行口程序启动后所接收到的第1个字符。

其优点是:

使用简单方便。

PC机与单片机通过RS-232C数据总线连接,再通过MAX232电平转换器,两者间不会因为电平的不同而造成数据传输的失误,抗干扰能力强。

本设计主要是通过单片机串行口进行自动检测到的波特率。

这种自动检测的方法以后运用到工业控制中,可以方便工作人员在波特率的检测中,不要再设置固定的波特率了。

这种方法其软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。

关键字

MSC-51(单片机),自动检测,串行通讯,波特率

SoftwareDesigningofTheBaudRateThatTheAutomaticalExaminesforTheStringCommunicationof80C51

Abstract

Thistexttakesone-chipcomputerMCS-51forexample,andintroducedtheBaudRateoftheautomaticalexaminesforthestringcommunicationbetweenPCandone-chipcomputerindetail.UndertheWindows98,wemakeuseofstringthecommunicationcontrolofspirittocarryouttheautoexaminationespeciallythefunctionoftheBaudRate.Thesendingoutandreceivingofitsdeliveringvelocity(BaudRate)isthefirststringwhichisreceivedaftertheserialprogrammeisstarted.Itsadvantageisthattheusageissimpleandconvenience.PCandone-chipcomputerareconnectedthroughthedatatotallineofRS-232C,thenpasstheelectricityconversionmachineofMAX232.Itwillnotresultintheerrorthatthewrongdatadeliveringbecauseofthedifferentelectric.

Anditsanti-interferenceabilityisstrong.

TheorigindesignsismainlythroughOne-chipcomputerstringtocarryon

AutomaticallyexamineespeciallytheBaudRate.Themethodofthiskindofautomaticexaminationismadeuseofintheindustrycontrolinfuture.WithitsusagestaffmayexaminationtheBaudRateconveniently.AndinisnotnecessarytoestablishthefixedBaudRateagain.Itssoftwarefunctionofthiskindofwayisperfect,thecontrolsystemisdependable,andtherateofpriceishigheretc.Sothesystemhascertainconsultingvalue.

Keywords

MSC-51(One-chipcomputer),Automaticexamination,Serialcommunication,BaudRate

 

 

 

自动检测80C51串行通讯的波特率软件设计

序言

单片机的英文名称是MicroControllerunit,缩写为MCU,又称为微控制器,它是一种面向控制的大规模集成电路芯片。

它应用简单灵活,使用非常广泛,但存在无法实时保存大量的数据、实时更新数据等缺点,因此经常需要把单片机和PC机的优势相结合组成系统。

PC和单片机之间的通讯连接方式有多种,如利用微机的串口、并口或通过专门的I/O板进行数据传送,单片机通过共享通道的方法挂在上述总线上,应用时应根据实际需要进行选择。

在我们进行自动检测80C51串行通讯的波特率时,因此选择了异步串口通信方式。

本文首先在第一章简单的介绍了单片机的发展史、发展趋势以及MCS-51单片机的引脚功能;第二章分析了此系统的功能、技术指标以及主要内容等等;第三章简单描述了系统硬件电路设计思想及所使用的各种器件的功能与特性;第四章重点介绍了软件设计以及简单介绍了为设计软件编程所准备的串行口通讯技术;最后在第五章中论述了单片机、PC机部分、电平转换电路的处理及调试。

 

 

 

第一章单片机简介

在微型计算机发展的同时,1974年出现了位片式(BIT-SLICE)微处理器和单片微型计算机,即单片机。

它是一种将CPU单元、部分存储器单元、部分I/O接口单元及内部系统总线集成在同一片大规模集成电路芯片内的计算机,由于它的结构和指令功能都是按照工业控制要求设计的,故又叫微控制器(Microcontroller)。

它的出现为智能化仪器表开辟了广阔道路。

对于运算不太复杂,数据量不太的应用,往往用一片单片机再加适当的软件和外部设备就能满足控制活测量的要求,从而使硬件电路更为简化,造价更为低廉。

因此,它也是一种应用广泛、生命强大的机种。

1.1单片机发展历史

单片机的发展与微机的发展大体上同步,主要经历了以下几个阶段:

第一阶段(1974年—1976年)为单片机的初级阶段,因受工艺和集成度的限制,单片机采用双片形式。

例如,仙童公司的F8微处理器必须外接一块3851芯片才能构成一个完整的微型计算机。

第二阶段(1976年—1978年)为低性能的单片机阶段。

以Inter公司与1976年生产的MCS-48为代表,这个系列的单片机内集成有8位CPU、并行I/O口、8位定时器/计数器,寻址范围不大于4K字节,且无串行口。

第三阶段(1978年—1983年)为高性能单片机阶段。

在这一阶段推出的单片机普通带有串行口,有多级中断处理系统、16位定时器/计数器,片内ROM/RAM容量加大,且寻址范围可达64K字节,有的单片机内部还带有A/D转换器接口。

这类单片机的应用领域极其广泛,目前在国内外仍是单片机产品的主流。

第四阶段(1983年--)为8位单片机巩固发展及16位单片机推出阶段。

此阶段的主要特征是一方面发展16位单片机(如Inter公司的MCS-96)及专用单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同的用户需要。

1.2单片机发展趋势

近几年来,单片机的发展速度很快,纵观各个系列的单片机产品的特性,可以看出单片机正朝着高性能、多品种的方向发展。

1.CPU功能增强

单片机内部CPU功能的增强集中体现在数据处理速度和精度的提高。

如Inter公司的MCS-51系列单片机的CPU增强了一个布尔处理器,使它的位处理能力特别强,输入、输出的速度快。

MCS-96系列单片机CPU的字长扩大到16位,内部有乘,除法部件,采用流水线结构,数据运算的速度快,精度高。

2.内部资源增多

所谓单片机内部资源是指它内部的存储器容量和常用I/O电路的种类和数量。

目前,单片机内部的ROM容量已达到32KB,RAM已达1KB,还有掉电后信息能保护的EEPROM存储器,同时还将一些常用的I/O接口电路集成到单片机内部,如并行和串行口、A/D和D/A转换器、DMA通道等。

这样便大大减少了单片机的外接电路。

使大多数单片机应用系统体积小而可靠。

3.使用多功能引脚

随着单片机内部资源的增多,所需的引脚也相当增加。

为了减少引脚数量,提高应用的灵活性,单片机中普通使用多功能引脚,即一个引脚有多种功能供用户选择。

4.寻址范围大

许多高性能的单片机不但内部存储器容量增大了,而且扩大了CPU的寻址范围,存储空间达64KB—1.6MB,从而提高了系统的扩展能力。

5.低功耗和低电压

普通采用CHMOS制造工艺,同时增加空闲等待方式和掉电(停机)方式,极大地降低了单片机的功耗。

例如:

80C51BH单片机的工作电流为20MA,空闲方式时为5MA,掉电方式仅为50uA。

许多单片机的工作电压范围大,可以在低压供电时正常工作,这样就可以采用干电池供电,这对于野外作业具有特殊的意义[1]。

1.3MCS-51单片机的引脚功能

本次毕业设计的单片机部分我们采用MCS-51系列的AT89C51(其引脚图如图1-1),它本身带有一定的优点。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[2]。

图1-1 AT89C51引脚图

一、主要特性:

·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

·全静态工作:

0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

二、管脚说明:

(1)VCC:

供电电压;

(2)GND:

接地;

(3)P0口:

P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4)P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入;P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

(5)P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6)P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表1-2所示:

 

表1-2P3口的第二功能

引脚

第二功能

信号名称

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

外部RAM写选通

P3.7

RD

外部RAM读选通

P3口同时为闪烁编程和编程校验接收一些控制信号。

(7)RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

(8)ALE/

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(9)

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次

有效。

但在访问外部数据存储器时,这两次有效的

信号将不出现。

(10)

/VPP:

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;当

端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(11)XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

(12)XTAL2:

来自反向振荡器的输出。

三、振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

四、芯片擦除:

整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行[3]。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

 

第二章系统分析

设计任务:

自动检测80C51串行通讯的波特率—软件部分。

2.1系统功能概述

系统主要实现功能是:

由PC机键盘的输入(通过串口精灵)发送一个字符给MCS-51单片机,通过串行通讯,把单片机接收到PC机传送来的格式位的数目(即波特率)转换成代码,显示在数码管上。

只要数码管显示的代码与键入的字符所发出的单独位时间所转换的代码相同,即表明PC机与单片机串行通讯间自动检测波特率成功。

PC机(微机)与单片机串行通讯系统,本次毕业设计采用的是全双工(FullDuplex)异步串行口通讯,PC机与单片机两个部分。

微机部分是通过串口RS-232的TXD口发送数据,经电平转换电路之后送出去,由单片机部分接收,并显示在数码管上。

微机部分用串口精灵界面作为PC机部分与单片机进行串口之间通信。

2.2系统要求及主要内容

自动检测80C51串行通讯的波特率应具有以下功能:

(1)能够准确地检测出串行通讯的波特率。

(2)将检测到的波特率在数码管上显示出来。

2.3系统技术指标

自动检测80C51串行通讯的波特率的主要技术指标:

(1)检测波特率的范围为300~38400

(2)发送数据端可以是单片机或微机

(3)采用两位数字显示波特率

 

第三章硬件设计

3.1硬件设计思想

硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

89C51单片机通过普通I/O口与PC机RS-232串口实现通信的硬件接口电路。

由于PC系列微机串行口为RS-232C标准接口,与输入、输出均采用TTL电平的89C51单片机在接口规范上不一致,因此TTL电平到RS-232接口电平的转换采用MAXIM公司的MAX232标准接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~-15V)和逻辑“0”(+3V~+15V)的电平转换。

(1)单片机部分硬件设计思路:

本次设计单片机部分的硬件框图如图3-1所示:

 

图3-1 单片机部分硬件框图

(2)PC机部分硬件设计思路:

PC机与单片机之间的数据收发装置的结构非常简单,其结构框图如图3-2所示。

PC机及其兼容机的标准串行通信接口RS-232C有一个9芯的D型插座,该收发装置便是通过此接口插座与计算机连接,并由计算机通信软件控制其数据的收发,并由计算机通信软件控制其数据的收发。

图3-2 PC机部分硬件框图

3.2器件介绍

1.RS-232C

RS-232C是美国电气工业协会推广使用的一种串行通信总路线标准,是DCE(数据通信设备,如微机)和DTE(数据终端设备,如CRT)间传输串行数据的接口总线。

RS-232C最大传输距离为15m,最高传输速率约20kbps,信号的逻辑0电平为+3V~+15V。

逻辑1电平为-3V~-15V。

电气特性:

RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。

●在TXD和RXD上:

逻辑1(MARK)=-3V~-15V

            逻辑0(SPACE)=+3~+15V

●在RTS、CTS、DSR、DTR和DCD等控制线上:

信号有效(接通,ON状态,正电压)=+3V~+15V

信号无效(断开,OFF状态,负电压)=-3V~-15V

上规定说明了RS-232C标准对逻辑电平的定义。

对于数据(信息码):

逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号:

接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V。

就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义。

因此,实际工作时,应保证电平在±(3~15)V之间。

2.RS-232C连接器DB-9

DB-9是RS-232C信号线的连接器,其连接器的机械特性见图(3-3),表3-1所示RS-232信号线名称、符号以及对应在DB-9上的针脚号[4]。

图3-3连接器的机械特性

 

表3-1RS-232信号线和DB-9引脚关系

符号

名称

引脚

DCD

接收信号载波检测

1

RXD

数据接收线

2

TXD

数据发送线

3

DTR

DTE装置数据就绪

4

GND

公共地

5

DSR

DCE装置就绪

6

RTS

请求发送

7

CTS

清除发送

8

RI

振铃指示

9

3.电平转换器MAX232

RS-232C是目前最常用的串行接口标准,用于计算机与计算机之间,计算机与外设之间的数据通信。

该标准的目的是定义数据终端设备(DTE)之间的电气特性。

但RS-232C规定的逻辑电平与单片机的逻辑电平是不一致的。

RS-232C的逻辑电平与TTL的逻辑电平不同,二者的逻辑电平比较见表3-2:

表3-2RS-232C的逻辑电平与TTL的逻辑电平比较

逻辑电平“0”

逻辑电平“1”

RS-232C

+5V~+15V

-5V~-15V

TTL

≤+0.4V

≤+2.4V

在应用中,必须把微处理器的信号电平(TTL电平)转换为RS-232C电平,或者对二者进行逆转换。

我们在这里选用专用电平转换芯片MAX232来实现的。

下面就介绍一下电平转换器MAX232。

MAX232能将RS-232C电平转换成TTL电平,也能将TTL电平转换成RS-232C电平,只需单+5V供电,由内部升高电路产生10V~+12V。

内部有两个发送器(TTL电平转换为RS-232C电平)和两个接收器(RS-232电平转换为TTL电平)。

MAX232芯片引脚排列和外部元件连接线路如图3-4所示:

图3-4 MAX232电平转换器及外接元件图

 

第四章软件设计

4.1串行口通讯技术介绍

在设计单片机与PC机程序时,PC机串口和单片机串行口的设置是至关重要的一个环节,所以在软件设计前必须对串行口的通信技术作系统的研究。

本章节是为软件设计服务的。

串行数据通信指数据是一位一位顺序传送的通信方式,它的突出优点是只需一对传送(利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信;其缺点是传送速度较低。

串行通信的主要特点:

•串行通讯:

一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。

•串行通讯的特点是:

数据位传送,按位顺序进行,最少只需一根传输线即可完成。

•成本低但送速度慢:

串行通讯的距离可以从几米到几千米[5]。

4.1.1串行数据传送

在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成3种基本的传送方式:

全双工、半双工和单工。

但单工目前己很少采用。

(1)全双工

数据的发送和接收分流分别由两根不同的传输线传送,通信系统的每一端都设置了发送器和接收器,双方都能在同一时刻进行发送和接收操作,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利,这样的传送方式就是全双工(FullDuplex)制,见下图4.1:

(2)半双工

用同一根传输线既作接收又作发送,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,数据传送会产生时间延迟。

这样的传送方式就是半双工(HalfDuplex)制,如下图4.2所示:

串行接口或终端直接传送串行数据的最大距离(当然,波形要不发生畸变)与传输速率及传输线的电气特性有关,传输距离是随传输速率的增加而减小。

实际应用中,利用电话网对远距离传送,一般都需使用通信设备调制解调MODEN。

4.1.2单片机的串行接口结构

89C51串行接口是一个可编程的全双工串行通讯接口。

它可用作异步通讯方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通讯协议进行全双工的89C51多机系统也可以通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。

89C51单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。

SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。

它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写

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

当前位置:首页 > PPT模板 > 自然景观

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

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