精华内容
下载资源
问答
  • at89c51接max232,51单片机串口max232通信程序
    2021-05-22 12:27:00

    RS232作为标准的计算机串行接口已被广泛使用,与此同时,随着现场总线技术的飞速发展,具有实时性好、可靠性高、结构简单等优点的CAN总线在测控系统中也越来越多地被采用,但由于两者的总线结构、通信协议及传输特点各不相同,因而给不同设备之间的连接带来诸多不便。因此,如何以最简单的方式实现CAN节点与RS232串行口的通信就成为工程实践中一个不可回避的问题。

    本文主要就是说at89c51接max232方法和程序,具体的我们一起来了解一下吧。

    43a669dbbeb96a12a5dc8592599bf5b1.png

    at89c51接max232方法

    MAX232与51单片机之间的通信连接很简单,因为所谓的MAX232通信标准,就是对插件样式、信号名称和意义以及所谓的驱动器/接收器的电气模式这种硬件作出规定。一般的都是9针的接口,其中包括CD接口:数据通道接收载波的检测;RD接口:接收数据;SD接口:发送数据;ER接口:数据终端就绪;SG接口:信号用接地;DR接口:数据集就绪;RS接口:请求发送;CS接口:允许发送;CI接口:被呼表示。

    用以上接口进行数据通信,还有对电平的要求。所以与51单片机进行通信连接的方式很简单,首先要解决的是电平标准,51的I/O口最大输出5V电压,而RS-232要求电压在±10V,为达到电平匹配,需用到MAX232CPF电平转换芯片,将0~5V电平转换为±10V电平,从而实现电平匹配;然后,数据接口只用到了数据发送与接收2个端口,还有数据的请求发送与允许发送,共4个端口,MAX232CPF还有其他一些外围电路接口,但比较简单,都是些电容接口,从而实现单片机与RS232接口的通信。

    f50b6ab0145f9dababfe693f9057ec1c.png

    51单片机串口max232通信程序

    //工作晶振为11.0592MHz,否则出现返回值错误,一个字节的发送

    //工作晶振为11.0592MHz,否则出现返回值错误,一个字节的发送

    #include《regx52.h》

    #define uchar unsigned char

    #define uint unsigned int

    uchar a,flag;

    uchar table[]={“very good ”};

    //-----------初始化定时器和串口-

    void inital_TImer1()

    {

    TMOD=0X20; //必须使用定时器1,串口使用规定

    TH1=0Xfd; //定时器1,工作方式2,8位 自动重装

    TL1=0Xfd; //高8位与低8位数值必须相同

    TR1=1; //定时器1允许位

    REN=1; //串口使能

    SM0=0; //串口 工作方式设置,工作方式1

    SM1=1; ES=1; //串口中断使能

    EA=1; // 总中断使能

    }

    //----------串口中断---------

    void gorpe() interrupt 4

    {

    RI=0; //接受中断标志位,硬件置1,必须软件置0

    a=SBUF; // 特殊功能寄存器

    flag=1; // 检测标志位

    }

    //-----接收数据,并向上位机作出反应(即发送返回数据)---

    void display()

    {

    uchar i;

    if(flag==1)

    {

    ES=0; //关闭串口中断,接下来要发送数据,否则发送完一个数据仍会产生中断,产生死循环

    for(i=0;i《10;i++)

    {

    SBUF=table[i];

    while(!TI); //判断是否发送完成

    TI=0; //发送中断标志位

    }

    SBUF=a;

    while(!TI);

    TI=0;

    ES=1;

    flag=0;

    }

    }

    更多相关内容
  • max232单片机的经典连接.pdf
  • 本设计分享的是MAX232串口通信/max232转TTL电路,附原理图/PCB,用Protel99se打开,供网友参考学习。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。其主要作用是用来将普通5V的...
  • 你是否碰到过MAX232MAX3232发热或烧毁?很多工程师在单片机方案开发过程中,不明原因的在用到RS232这颗芯片时发现烧掉了,费了很大力气也查不明白原因。为了解决这个问题,只需遵循以下准则。 遵循生产厂商的数据...
  • max232通信电路原理图和PCB串口电路原理图和PCB单片机下载线原理图和PCB
  • 开机时单片机向Pc发送“system starting” Pc机的虚拟终端输入任意个英文字母,单片机接收到后,再向Pc机回发接收的字母3.3.外部中断每触发一次。都向Pc机发送触发信息,并推送是第几次外部中断的蚀发
  • 这是一个描述关于c语言的串口通信的单片机程序,适合初学者,了解每一步的过程
  • 制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也...
  • 配合本人上传的“自制STC单片机编程器”使用! 配合本人上传的“自制STC单片机编程器”使用! 配合本人上传的“自制STC单片机编程器”使用! 配合本人上传的“自制STC单片机编程器”使用!
  • 串口的电平转换芯片MAX232单片机的典型连接电路,经验证,可行
  • W77E58单片机+MAX232+MAX485接口板AD设计硬件原理图+PCB文件,2层板设计,大小为72*53mm,可做为你的学习设计参考。
  • 51单片机+PT2272+MAX232组成的无线遥控接收解码电路原理图和PCB
  • 关于MAX232一点心得

    2020-07-30 07:50:49
    实测MAX232MAX232A用0.1uf 1uf 10uf电容都是可以工作的。 但是四个电容一定都要接上,曾以为只用一个串口,C4没接东西,结果死活下载不了程序,后来解决了,特写下总结……
  • MAX232串口调试程序,实现了主机和从机之间的双向通信。程序已经测试,准确可行
  • MAX31865驱动程序+中文资料+英文资料,欢迎下载交流~
  • MAX232在使用的时候须注意的问题。
  • Maxim公司新近推出的MAX6675即是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器。 利用MAX6675读取K型热电偶感应的温度 SPI协议 程序肯定是正确的
  • max232接法详解

    千次阅读 2017-04-13 22:36:09
      max232实现RS232电平和TTL电平相互转换。PC机输出的是由+12V和-12V组成的一种叫RS232的通信协议,...这个是stc12C2052数据手册上一个电路,MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,
    
        max232实现RS232电平和TTL电平相互转换。PC机输出的是由+12V和-12V组成的一种叫RS232的通信协议,单片机输出的是+5V和0V的TTL电平。

            从图中也可以看出,串口线只有2(RXD)、3(TXD)、5(GND)脚有用。

    这个是stc12C2052数据手册上一个电路,MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。

    内部结构基本可分三个部分:

    第一部分是电荷泵电路。由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)。

    另一篇:MAX232引脚图 接线图 电路图 及RS232引脚定义(已确认正确)

    转自:http://www.chinadpj.com/article/show.asp?id=531

    MAX232是一种把电脑的串行口RS232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片,这个芯片的价格比较贵大约要5元.

         下图为MAX232引脚图和接线图,及RS232引脚定义,带有转串口的电路。

     

           TTL/CMOS INPUTS 端.这个端口是的作用是输入TLL或CMOS信号的...一般为0-5V... 低电平为零,高电平为VCC.

               TTL/CMOS OUTPUTS端,这个端口的作用是输出TLL或CMOS信号...输出电压一般为0-5V...低电平为零..高电平为VCC.

    RS232 OUTPUTS  这端口是把TTL或CMOS的信号转为RS232的信号输出...输出为正负12V...到电脑....

                  RS232 INPUTS  这个端口是接收到电脑发出的正负12伏...由232输出转为TTL或CMOS信号...这个信号也为正负12V...

    MAX232内部有二组232转换电路...

    使用的时候...一般是11------ 14,13----12为一组;  10-----7   8----9为一组...

    由于有时候接把MAX232的232端口和TTL端口搞反发现还能工作....所以大家要用的时候一定要注意了...

     

    max232电路:

     

    RS232引脚定义:

    引脚 定义 符号
    1 载波检测 DCD
    2 接收数据 RXD
    3 发送数据 TXD
    4 数据终端准备好 DTR
    5 信号地 SG
    6 数据准备好 DSR
    7 请求发送 RTS
    8 清除发送 CTS
    9 振铃提示 RI

    展开全文
  • (1)电脑串口接口>>>交叉串口线>>>MAX232芯片>>>MCU(单片机) (2)电脑USB接口>>>USB转串口线>>>MAX232芯片>>>MCU(单片机) (3)电脑USB接口>>>USB2.0数据线>>>PL2303或CH340>>>MCU(单片机) 3.只有USB接口的电脑...
  • 使用两块单片机,A单片机使用PCF进行AD采值(IIC通信),使用MAX232与B单片机进行通信,B单片机接收数据,并用LCD1602显示出来,程序+仿真
  • 摘要:介绍利用凌阳SPCE061A单片机采集数据,Labview作为开发调试平台,二者之间通过串口实现数据通讯的数据采集系统,详细介绍了软硬件实现方案。 关键词:LabVIEW;虚拟仪器;SPCE061A;串口;数据采集 引言...
  • 1 引言 对于实际的DSP应用系统特别是产品化的DSP系统而言,可靠性是一个不容忽视的问题。由于DSP系统的时钟频率比较... MAX706系列监控器是Maxim公司生产的具有代表性的多功能微处理器监控电路,性能价格比极高。除了
  • usb转串口芯片资料,将rs232电平转换成TTL电平,是电脑与单片机通信和烧写程序
  • 模块功能介绍: 1.单个模块可以驱动一个8*8共阴点阵 2.模块工作电压:5V 3.模块尺寸:长5厘米X宽3.2厘米X高1.5厘米 4.带4个固定螺丝孔,孔径3mm...以51单片机为例: VCC → 5V GND → GND DIN → P22 CS → P21 CLK → P20
  • 单片机MAX232芯片解析以及RS-232串口解析

    万次阅读 多人点赞 2018-09-11 19:43:24
    单片机与上位机给出的rs232口之间 通过电平转换电路(最上面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换 PC串口与单片机串口连接方式图:     注意这两个DB9: DB91是在电脑上的 DB92是...

    转载自:http://www.21ic.com/jichuzhishi/datasheet/RS232/jiekou/187973.html

     一. 简介    

          RS232接口是标准串行接口,其通讯距离小于15 m,传输速率小于20 kb/s。RS232标准是按负逻辑定义的,他的“1”电平在-5~-15 V之间,“0”电平在+5~+15 V之间。虽然RS232应用很广,但由于数据传输速率慢,通讯距离短,特别是在100 m以上的远程通讯中难以让人满意,因此通常采用RS422,RS449,RS423及RS485等接口标准来实现远程通讯。

    二. RS232串口简介

    台式机电脑后面的9针接口就是com口(串口) 在工业控制 数据采集上应用广泛

    1.jpg

    最右边的是串口接口 统称为RS232接口 (封装DB9)

    2.jpg

    通信过程中只有两个脚参与通信

    2脚:电脑的输入RXD

    3脚:电脑的输出TXD 通过2 ,3 脚就可以实现全双工(可同时收发)的串行异步 通信

    5脚:接地

    RS232的引脚电路连接完成(就三个脚)

    对于单片机

    单片机的P3口是有两个复用接口RXD 和TXD 这是单片机进行串行通信的收发口 连接应该错位的对应到电脑的TDX RDX上

    注意:单片机和rs232的电平标准是不一样的(各种电平标准见另一word)

    单片机的电平标准 TTL电平 :+5V表示1 0V表示0

    Rs232的电平标准 +15/+13 V表示1 -15/-13 表示0

    所以 单片机与电脑串口通信就应该遵循下面的连接方式:

    在单片机与上位机给出的rs232口之间 通过电平转换电路(最上面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换

    PC串口与单片机串口连接方式图:

     

     

    3.jpg

    注意这两个DB9: DB91是在电脑上的 DB92是在单片机实验板上焊接着的

    这里的交叉连接的意思是 DB91的RXD连着DB92的TXD

    DB92的RXD连着DB91的TXD这样交叉着连接

    如果电脑没有rs232口 只有USB口 可以用串口转接线转出串口 如图:

    4.jpg

    这个时候在电脑上位机上需要安装驱动程序

    注意 这个驱动程序驱动的是PL2303芯片(在上图的大头里面) 使得RS232信息转换成usb信息

    下图为上图的内部结构:

    5.jpg

    用串口通信比USB简单 因为串口通信没有协议 使用方便简单

    三. RS232串口通信详解

    串口是计算机上一种非常通用的设备通信协议。

    ---------------------------------

    串口的引脚定义:

    9芯 信号方向来自 缩写 描述 1 调制解调器 CD 载波检测 2 调制解调器 RXD 接收数据 3 PC TXD 发送数据 4 PC DTR 数据终端准备好 5

    GND 信号地 6 调制解调器 DSR 通讯设备准备好 7 PC RTS 请求发送 8 调制解调器 CTS 允许发送 9 调制解调器 RI 响铃指示器 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。

    ---------------------------------

    串口的电气特性:

    1)RS-232串口通信最远距离是50英尺

    2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps

    3)RS-232C上传送的数字量采用负逻辑,且与地对称

    逻辑1:-3 ~-15V

    逻辑0:+3~+15V

    所以与单片机连接时常常需要加入电平转换芯片:

    ---------------------------------

    串口通信参数:

    a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。

    b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。

    c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。

    d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。

    ---------------------------------

    串口通信的传输格式:

    串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。

    例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。

    55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B;

    aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

    ---------------------------------

    串口通信的接收过程:

    (异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同一个时钟源控制。RS232是异步通信)

    (1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。

    (2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不是干扰信号。

    (3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。

    (4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。….,直到全部数据位都输入。

    (5)检测校验位P(如果有的话)。

    (6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。

    (7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。

    (8)当信号再次变为低时,开始进入下一幀的检测。

    ---------------------------------

    单片机常用11.0592M的的晶振,这个奇怪数字是有来历的:

    波特率为9600BPS每位位宽t1=1/9600s

    晶振周期t2=1/11.0592/1000000S

    单片机机器周期t3=12*t2

    t1/t3=96

    即对于9600BPS的串口,单片机对其以96倍的速率进行采样。

    如果单片机晶振用的不正确,会对串口接受产生误码。

    ---------------------------------

    RS485和RS422

    RS485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS485用于多点互连时非常方便,可以省掉许多信号线。应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

    RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。RS422和RS485在19kpbs下能传输1200米。用新型收发器线路上可连接台设备。

     

    四.RS232串口通信原理

    串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

    串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

    典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

    a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

    b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

    c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

    d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步.

     

     

    展开全文
  • 单片机与PC的串口MAX232接口原理图
  • MAX232获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如:+9V,-9V;+12V,-12V.这些电源仅仅作为数字和模拟控制...
  • MAX-IDE入门 MAX-IDE是为MAXQ系列微控制器开发的全功能开发和调试环境。MAX-IDE可以配合各种标准MAXQ评估板工作,提供项目级的开发环境、对于标准MAXQ调试功能的访问、一个集成的宏汇编、以及在线应用装载功能(通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,903
精华内容 5,561
关键字:

max232 单片机

友情链接: dreamview.rar