基于MAX232 MAX485的通信模块设计.docx

上传人:b****5 文档编号:5136127 上传时间:2022-12-13 格式:DOCX 页数:19 大小:663.23KB
下载 相关 举报
基于MAX232 MAX485的通信模块设计.docx_第1页
第1页 / 共19页
基于MAX232 MAX485的通信模块设计.docx_第2页
第2页 / 共19页
基于MAX232 MAX485的通信模块设计.docx_第3页
第3页 / 共19页
基于MAX232 MAX485的通信模块设计.docx_第4页
第4页 / 共19页
基于MAX232 MAX485的通信模块设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于MAX232 MAX485的通信模块设计.docx

《基于MAX232 MAX485的通信模块设计.docx》由会员分享,可在线阅读,更多相关《基于MAX232 MAX485的通信模块设计.docx(19页珍藏版)》请在冰豆网上搜索。

基于MAX232 MAX485的通信模块设计.docx

基于MAX232MAX485的通信模块设计

1

西南科技大学

自动化专业方向设计报告

 

设计名称:

基MAX232和MAX485的通信模块设计

姓名:

XXX

学号:

XXX

班级:

XXX

指导教师:

聂诗良

起止日期:

2012.10.15-2012.11.15

 

西南科技大学信息工程学院制

方向设计任务书

学生班级:

XXX学生姓名:

XXX学号:

XXX

设计名称:

基于MAX232MAX485的通信模块设计

起止日期:

2012.10.15-2012.11.15指导教师:

聂诗良

设计要求:

采用单片机、MAX232和MAX485等器件设计制作一个可与PC机远程通信的模块,模块上可显示PC机下发的字符,模块上的按键号可在PC机上显示

 

方向设计学生日志

时间

设计内容

10.15-10.18

根据题目查阅文献资料,与指导老师沟通

10.19-10.22

明确设计目标,制定设计步骤,完成总体设计

10.23-10.25

初步设计开始

10.26-10.29

查阅元器件资料,确定电路原理图并在PROTEUS上完成

10.30-11.05

购买器材,焊接电路

11.06-11.08

确定程序流程,编写程序

11.09-11.11

进行仿真以及电路调试

11.12-11.14

完成课题及答辩整理资料,撰写报告

11.15

完成课题及答辩

基于MAX232MAX485的通信模块设计

摘要(150-250字)

Rs232是个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。

通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现。

RS232使用12V,0,-12V电压来表示逻辑,(-12V表示逻辑1,12V表示逻辑0),全双工,最少3条通信线(RX,TX,GND),因为使用绝对电压表示逻辑,由于干扰,导线电阻等原因,通讯距离不远。

Rs485使用TTL差动电平表示逻辑,就是两根的电压差表示逻辑,RS485是半双工,而且一个驱动器的驱动能力至少可以驱动32个接收器。

Rs-485通讯距离与通讯速率有关系,一般距离短时可以使用高速率进行通信,速率低时可以进行较远距离通信,一般可达数百上千米。

MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。

MAX485接口芯片是Maxim公司的一种RS-485芯片,MAX485、MAX487-MAX491以及MAX1487是用于RS-485与RS-422通信的低功耗收发器。

由于PC机器上只有RS232的串口,因此,若欲实现PC机通过MAX485与单片机的通信,必须要借助RS232转RS485的转换电路。

关键词(3~5个)

RS-232RS-485MAX232MAX485,串口通信

ThedesignofcommunicationgmodulewhichisbasedonMAX232andMAX485

英文摘要(150-250字)

Rs232isoneofthecommunicationinterfaceonapersonalcomputer,whichwasmadebyElectronicIndustriesAssociation(EIA)theasynchronoustransmissionstandarddevelopedinterface.UsuallyRS-232interfaceappearswith9-pin(DB-9)or25-pin(DB-25)Typea.RS232uses12V,0-12Vvoltagetosaidlogic,(-12Vlogic1,12Vrepresentsalogic0),full-duplex,atleastthreecommunicationlines(RX,TX,GND),becausetheabsolutevoltagelogic.becauseofinterference,leadresistanceandotherreasons,thecommunicationdistanceofRs232isnotfar.

Rs485useTTLdifferentiallevellogic,presentationlogicistwovoltagedifference,RS485halfduplex,andadrivecapabilityofthedrivecanbedrivenatleast32receiver.Rs-485communicationdistanceandcommunicationspeedrelations,generaldistanceisshortyoucanusethehigh-speedcommunicationrateislowwhencomparedwithlong-distancecommunications,generallyuptohundredsofkilometers.

MAX232chipisasingle-supplyleveltranslatorchipMaxim(MAXIM)serialinterfacedesignedspecificallyfortheRS-232standard,usingasingle+5vsupply.

MAX485interfacechipMaximaRS-485chip,MAX485TheMAX487-MAX491,andMAX1487arelow-powertransceiversforRS-485andRS-422communications.

ThereisOnlyRS232serialportofthePCmachine,so,ifwewantstoachievecommunicationbetweenPCandmicrocontrollerthroughMAX485,WehavetouseaRS232toRS485convertercircuit

 

英文关键词(3~5个)

RS-232RS-485MAX232MAX485Serialcommunication

一、设计目的和意义

设计目的:

采用单片机、MAX232和MAX485等器件设计制作一个可与PC机远程通信的模块,。

意义:

在以单片机为基础的数据采集和实时控制系统中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以对生产现场进行监测和控制。

由于计算机上的RS-232所传送的距离不超过30m,所以在远距离数据传送和控制时,可以利用MAX485的接口转换芯片将RS-232协议转换成RS-485协议进行远距离传送。

 

二、控制要求

模块上可显示PC机下发的字符,模块上的按键号可在PC机上显示

 

三、设计方案论证

1基本思路:

整个课题的可以分成两大部分,一个是系统的硬件部分,另一个是系统的软件部分。

硬件部分的可以分为三个部分。

第一是USB转RS-232接口电路,此电路的功用为将PC上USB引出的CMOS信号转化为RS232可接收的电平。

第二部分为RS232转RS485的通信模块,其功能是将RS232的信号转化为485可接收的TTL电平,经MAX485处理后形成差分电平,再经过一片MAX485处理侯形成单片机可接收的TTL电平。

第三部分是功能模块,主要由单片机,LED以及按键组成,主要实现模块上可显示PC机下发的字符,模块上的按键号可在PC机上显示的功能

2.硬件部分系统原理的说明

(1)系统框图

(2)芯片介绍

A.STC89c52

a.简介:

STC89c52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用用。

b.主要性能

  1、与MCS-51单片机产品兼容;

  2、8K字节在系统可编程Flash存储器;

  3、1000次擦写周期;

  4、全静态操作:

0Hz-33MHz;

  5、三级加密程序存储器;

  6、32个可编程I/O口线;

  7、三个16位定时器/计数器;

  8、六个中断源;

  9、全双工UART串行通道;

  10、低功耗空闲和掉电模式;

  11、掉电后中断可唤醒;

  12、看门狗定时器;

  13、双数据指针;

14、掉电标识符。

c.引脚说明

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0不具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

  P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

  引脚号第二功能:

  P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5MOSI(在系统编程用)

  P1.6MISO(在系统编程用)

  P1.7SCK(在系统编程用)

  P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

  P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

  端口引脚第二功能:

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2INTO(外中断0)

  P3.3INT1(外中断1)

  P3.4TO(定时/计数器0)

  P3.5T1(定时/计数器1)

  P3.6WR(外部数据存储器写选通)

  P3.7RD(外部数据存储器读选通)

  此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

  RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

  ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

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

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

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

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

  PSEN:

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

  EA/VPP:

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

需注意的是:

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

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

  XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

B.MAX232.

简介

主要特点

1、符合所有的RS-232C技术标准

  2、只需要单一+5V电源供电

  3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-

  4、功耗低,典型供电电流5mA

  5、内部集成2个RS-232C驱动器

  6、高集成度,片外最低只需4个电容即可工作。

引脚说明

第一部分是电荷泵电路。

由1、2、3、4、5、6脚和4只电容构成。

功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。

  第二部分是数据转换通道。

由7、8、9、10、11、12、13、14脚构成两个数据通道。

  其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。

  8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。

  TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。

  第三部分是供电。

15脚GND、16脚VCC(+5v)。

C.MAX485

简介

MAX485接口芯片是Maxim公司的一种RS-485芯片

主要特点

MAX485是用于RS-485与RS-422通信的低功耗收发器。

MAX485的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。

这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120μA至500μA之间。

所有器件都工作在5V单电源下。

驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态。

接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。

具有较高的抗干扰性能。

引脚说明

R0:

接收器的输入端,和单片机的RxD相连

RE:

接收使能端,低电平有效

DE:

发送使能端。

高电平有效

DI:

驱动器输入端,和单片机TxD相连

VCC:

发送差分信号端,反相信号器输入和反相信号器输出

A,B:

当A引脚电平高于B时,代表发送数据位1,当A引脚电平低于B是,代表发送数据为0

GND:

接收差分信号端,同相信号器输入和输出。

软件部分:

软件部分可分为两部分,一部分为PC与单片机的双向通信协议,第二部分为上位机、(pc)通讯程序,第三部分为下位机(c51)通讯程序。

 

PC向单片机发送字符主程序流程图:

1

PC向单片机发送字符串程序流程图

PC与单片机的485通讯方式程序流程图

 

四、系统设计

1Rs232转RS485电路原理图:

 

RS232-485转换器主要包括了电源、232电平转换、485电路三部分。

本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。

为了使用方便,电源部分设计成无源方式,整个电路的供电直接从PC机的RS232接口中的DTR(4脚)和RTS(7脚)窃取。

PC串口每根线可以提供大约9mA的电流,因此两根线提供的电流足够供给这个电路使用了。

经实验,本电路只使用其中一条线也能够正常工作。

使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在4.7V左右。

因此,电路中要说D3起的作用是稳压还不如说是限压功能。

  MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入和输出。

当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。

在半双工使用中,通常可以将这两个脚直接相连,然后由PC或者单片机输出的高低电平就可以让MAX485在接收和发送状态之间转换了。

由于本电路DTR和RTS都用于了电路供电,因此使用TX线和HIN232的另外一个通道及Q1来控制MAX485的状态切换。

平时NIH232的9脚输出高电平,经Q1倒相后,使MAX485的RE和DE为低电平而处于数据接收状态。

当PC机发送数据时,NIH232的9脚输出低电平,经Q1倒相后,使MAX485的RE和DE为高电平而处于数据发送状态。

2MAX485与STC89C52连线图

3系统仿真电路图

4系统程序

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharReceive_Buffer[101];//接收缓冲

ucharBuf_Index=0;//缓冲空间索引

//数码管编码

ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

//延时

voidDelayMS(uintms)

{

uchari;

while(ms--)for(i=0;i<120;i++);

}

//主程序

voidmain()

{

uchari;

P0=0x00;

Receive_Buffer[0]=-1;

SCON=0x50;//串口模式1,允许接收

TMOD=0x20;//T1工作模式2

TH1=0xfd;//波特率9600

TL1=0xfd;

PCON=0x00;//波特率不倍增

EA=1;EX0=1;IT0=1;

ES=1;IP=0x01;

TR1=1;

while

(1)

{

for(i=0;i<100;i++)

{//收到-1为一次显示结束

if(Receive_Buffer[i]==-1)break;

P0=DSY_CODE[Receive_Buffer[i]];

DelayMS(200);

}

DelayMS(200);

}

}

 

//串口接收中断函数

voidSerial_INT()interrupt4

{

ucharc;

if(RI==0)return;

ES=0;//关闭串口中断

RI=0;//清接收中断标志

c=SBUF;

if(c>='0'&&c<='9')

{//缓存新接收的每个字符,并在其后放-1为结束标志

Receive_Buffer[Buf_Index]=c-'0';

Receive_Buffer[Buf_Index+1]=-1;

Buf_Index=(Buf_Index+1)%100;

}

ES=1;

}

voidEX_INT0()interrupt0//外部中断0

{

uchar*s="这是由8051发送的字符串!

\r\n";

uchari=0;

while(s[i]!

='\0')

{

SBUF=s[i];

while(TI==0);

TI=0;

i++;

}

}

 

五、设计结果及分析

 

结束语

通过这段时间专业课程设计实践,我不但了解了RS-485,Rs-232的相关知识以及上位机和下位机的操作过程,还增强了实践能力和协作精神,而且经过设计和一段时间的反复调试,基本完成了题目的基本要求,更加懂得了联系实际的重要性。

在此感谢聂诗良老师的细心讲解和耐心辅导。

我们才能顺利的完成这次为期4周的专业方向综合课程设计。

使我对大学四年期间所学习到的知识得以进一步的实践,这将对我走出校园走上工作岗位奠定坚实的基础。

另外由于本人水平有限,一些功能无法实现,希望各位予以指点,本人一定虚心接受

 

参考文献(递增引用,引用相关内容)

[01]康华光.《电子技术基础》<模拟部分>.高等教育出版社第五版,2006.1

[02]姜志海黄玉清等。

《单片机原理及应用》.电子工业出版社.2009.8

[03]李广弟.《单片机基础》.北京:

北京航空航天大学出版社,2001.8-10

[04]张毅刚.《单片机原理及应用》.高等教育出版社,2006.11

[05]张大明.《单片微机控制应用技术》.机械共工业出版社出版,2006.4

[06]翟玉文等.《电子设计与实践》.中国电力出版社出版,2005.5

 

附录(程序、电路图等)

MAX485与STC89C52连线图

 

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

当前位置:首页 > 高等教育 > 理学

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

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