精华内容
下载资源
问答
  • 51单片机 串口

    2020-06-22 19:09:22
    TXD 是 80C51 单片机的P3.1口,RXD 是80C51 单片机的 P3.0口 T1 溢出率 是定时器1的溢出率 ,SMOD是发送速率倍频的16分频,T1每溢出一次发送一位,里面复杂咱们不管,每次发送完后TI申请中断,就是串口每次发送完一...

    串口说白了,就是初始化后,用中断接收发送字符而已。

    TXD 是 80C51 单片机的P3.1口,RXD 是80C51 单片机的 P3.0口

    T1 溢出率 是定时器1的溢出率 ,SMOD是发送速率倍频的16分频,T1每溢出一次发送一位,每次发送完后TI申请中断,就是串口每次发送完一个字节去申请一个中断,每接受完一个字节它也要申请一次中断。接受完了通过移位寄存器SBUF 取走。发送也用SBUF。

    SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接受/发送控制以及设置状态标志:

    串行口控制寄存器SCON

    它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H(它是一个字节),其各位定义如下表:

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    SM0

    SM1

    SM2

    REN

    TB8

    RB8

    TI

    RI

    SM0、SM1:串行口工作方式选择位,其定义如下:

    SM0、SM1

     工作方式

     功能描述

     波特率

     0 0

     方式0

     8位移位寄存器

     Fosc/12

     0 1

     方式1

     10位UART

     可变

     1 0

     方式2

     11位UART

    Fosc/64或fosc/32

     1 1

     方式3

     11位UART

     可变

    UART为异步传输。因此一般用方式1了,方式23是9/11位的,不常用的。而真正实用的,用串口实现串行通信的是方式1。在方式1时,只有开中断允许标志位和接收到数据后,才会申请中断,单片机才会响应中断。

    严格来说,51单片机的串口方式0,并不是用于串口通信的,只用于在RXD,TXD引脚上接有74LS164,串入/并出,或74LS165,并入串出。也就是只能与串行芯片配合使用的。串口方式0是同步移位工作模式,波特率是固定的,没法改变波特率。一般用于串转并或并转串的应用中。到时候再用就好了。

    REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。

    TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。(是最后一位,多用来进行校验吧)

    RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。

    TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。

    RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。

    串行发送中断标志TI和接收中断标志RI是同一个中断源,CPU事先不知道是发送中断TI还是接收中断RI产生的中断请求,所以,在全双工通信时,必须由软件来判别。复位时SCON所有位都清0.

    51单片机SBUF意思是SBUF串行口数据缓冲寄存器,分为输入和输出,但使用zhi时用同一个名字。比如MOV SBUF,A(是输出dao),MOV A,SBUF(是输入)。SBUF既是接收缓冲器又是发送缓冲器,同一时间只能为一种,要么接收,要么发送。a=SBUF是把接收缓冲器中的数据复制给a。SBUF=a是把a中的数据复制给发送缓冲器。通过读写缓冲器SBUF实现数据收发功能。

    SBUF简介:

    SBUF全称serial data buffer,中文名称“串行数据缓冲器”。

    这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据。

    99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,99H表示接收SBUF。

    串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器。

    SBUF在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。

     

    异步通信

    异步通信数据格式一般为字符格式

    一个字符一个字符地传输,每个字符一位一位的传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符间没有固定的间隔要求。每一个字符的前面都有一位起始位(低电平),字符本身由5-7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后一位或一位半或两位停止位,停止位后面是不定长的空闲位。停止位和空闲位都规定为高电平,这样就保证了起始位开始处有一个下跳沿。

    同步通信(了解即可)

    同步通信就比如说是老师发作业本,约定学习委员来取作业本。建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步,而且传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符之间不留间隙,即保持位同步关系,也保持字符同步关系。

    同步通信使用的数据格式根据采用的控制规程(通信双方就如何交换信息所建立的一些规定和过程称为通信控制规程),可分为面向字符型和面向位型两种,面向字符型数据格式又有单同步,双同步,和外同步之分。三个同步方式均以2个字节的冗余检验码CRC作为一帧信息的结束。

    单同步:发送方先发送一个同步字符,再传送数据块,接收方检测到同步字符后接收数据

    双同步:发送方先传送2个同步字符,再传送数据块,接收方检测到同步字符后接收数据;
    外同步:用一条专用线来传送同步字符,以实现收发双方同步操作同步通信中,在数据开始传送前用同步字符来指示(常约定1~2个),并由时钟来实现发送端与接收端的同步,我们使用QQ的文件传输功能就可以看做是一个同步通信的例子,首先传文件的双方必须说好一个传文件的时间,如果双方有一个不在线上,就不能传输。其次,发送方发送文件命令后,接收方要确认是否接收,这个就是建立文件传输的过程,一旦传输开始,所有文件数据必须连续的传输过去,任何中断都将导致传输失败。

    根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:

    UART(串行异步通信接口)

    USB(通用串行总线接口)

    I2C(集成电路间的串行总线)

    SPI(串行外设总线)

    485总线、CAN总线接口等。

    这个就是RS232

    假设数据传送的速率是120字符/s,波特率即为1200 b/s。每一位的时间即为1/1200。

    P3.0,3.1是默认的串口管脚, P3.6,3.7 是可以通过寄存器设置串口连接到这两个管脚。

    内部串口只有一个,可以在这两个脚之间切换

     

    展开全文
  • 51单片机串口通信51单片机串口通信(转载)2009-03-0318:22一、串口通信原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线...

    51

    单片机串口通信

    51

    单片机串口通信(转载)

    2009-03-03 18:22

    一、串口通信原理

    串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计

    算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简

    单,

    所以在较远距离传输中,得到了广泛的运用。串口通信的工作原理请同学们参

    教科书。

    以下对串口通信中一些需要同学们注意的地方作一点说明:

    1

    、波特率选择

    波特率(

    Boud Rate

    )就是在串口通信中每秒能够发送的位数

    (

    bits/second

    )。

    MSC- 51

    串行端口在四种工作模式下有不同的波特率计

    算方法。其中,模式

    0

    和模式

    2

    波特率计算很简单,请同学们参看教科书;模

    1

    和模式

    3

    的波特率选择相同,故在此仅以工作模式

    1

    为例来说明串口通信波

    特率的选择。

    在串行端口工作于模式

    1

    ,其波特率将由计时

    /

    计数器

    1

    来产生,通常设置定时

    器工作于模式

    2

    (自动再加模式)。在此模式下波特率计算公式为:

    波特率

    =

    (

    1+SMOD

    )

    *

    晶振频率

    /

    (

    384*

    (

    256-TH1

    ))

    其中,

    SMOD

    ——寄存器

    PCON

    的第

    7

    位,称为波特率倍增位;

    TH1

    ——定时器的重载值。

    展开全文
  • 51单片机串口

    2012-09-08 08:26:49
    5189C51的uart串口程序,使用简单。
  • C51单片机串口

    2019-07-28 16:35:04
    1、什么是串口 含义:串行接口 作用:有线通信 分类::RS232 TTL RS485 特点: 1.1 数据一位一位地顺序传送; 1.2 通信线路简单,只要一对(两根)传输线就可以通信,发送占用一条线,接收占用一条线; 1.3 ...

    1、什么是串口

    含义:串行接口

    作用:有线通信

    分类::RS232    TTL    RS485

    特点:

    1.1 数据一位一位地顺序传送;

    1.2 通信线路简单,只要一对(两根)传输线就可以通信,发送占用一条线,接收占用一条线;

    1.3 双向通信:单工、半双工、全双工三种;

    1.4 远距离通信(几米到几千米),但传送速度较慢

     

    2. 串口通信原理:010100101010......

    3. 串口通信协议:

    3.1 数据格式:

     1)数据位 0010 1100(一般8位)

     2)起始位     1---0(有是有,有时无)

     3)停止位   ................|1(一般1位)

     4)奇偶效验位:保证一帧数据中1的个数为奇数或偶数(可防止数据传输错误)

     3.2 波特率=

    sysclk:11059200

    RI:数据接送的过程,一直都是低电平,当数据接收完毕后,被置为高电平。

    TI:数据发送的过程,一直是低电平,当数据发送完毕后,被置为高电平。

    RI也好,TI也好,当被硬件拉高,我们处理完数据,需要清零(RI=0).

     

    SBUF是什么:嘴:发送

                            耳:接收

     

     

     

    4. 串口编程

    展开全文
  • 51单片机串口.txt

    2021-04-05 15:06:51
    51单片机串口.txt
  • 51单片机串口C程序

    2020-07-25 22:08:38
    本文给大家分享了51单片机串口C程序。
  • 51单片机串口通讯中断应用
  • 51单片机串口通讯

    2017-11-10 12:56:04
    51单片机串口通讯,涉及波特率设置,SCON、TMOD的设置。
  • 51单片机串口发送

    2017-12-13 17:27:28
    51单片机串口,自己学习时做写的东西。希望能有用,串口_printf(关闭接受不断发送)
  • 51单片机串口通信

    2018-12-28 23:03:37
    这是一个关于51单片机串口通信的小例子,用串口助手发送"ab01"led流水,发送“ab02”单片机led另一种效果,发送“ab03”蜂鸣器响,,如果不切换发送的指令,一直处于上一个发送的指令效果上,希望对刚开始学习的有所...
  • 51单片机串口仿真程序,欢迎大家下载参考!
  • 51单片机串口接收

    2017-10-20 10:37:05
    51单片机串口接收中断,发送中断源代码。定时器1作为波特率发生器,晶振11.0592MHz
  • 51单片机串口中断

    2014-07-11 09:31:55
    51单片机串口中断
  • 本文章是关于51单片机串口通信1602显示。
  • MLX90615 51单片机 串口发送
  • 51单片机串口通信软件程序集
  • 51单片机串口程序

    2013-04-22 15:46:48
    51单片机串口程序
  • 摘要:VC/C++源码,其它分类,单片机控制 51单片机串口通讯C语言源码,其中串口测试程序完成串口发送任意字符到单片机,单片机通过P0口LED灯显示。比如 发送16进制的 00 单片机的LED灯全亮 发送FF灯全灭  首先 烧写...
  • 51单片机串口通信讲解,从原理、使用方法,程序例程多方面介绍。
  • 本文主要介绍了51单片机串口调试程序一列。
  • 51单片机串口助手

    2013-04-25 18:47:12
    51单片机串口功能中用于单片机与计算机通信
  • 51单片机串口接收字符串比较
  • 电子-51单片机串口输出.txt,单片机/嵌入式51单片机
  • 51单片机串口的使用有两种方法,一个是查询法,还有就是中断法,查询法相对简单就是不断查询是否有数据,而中断就是利用串口中断interrupt 4,这里给出中断法,大家参考!
  • 自定义了51单片机串口的库,使其模块化,更容易使用 void uart_init(int port) //串口初始化函数 参数port为波特率,0xFA对应4800,51单片机波特率不要设置太高,容易丢失数据 注意晶振必须为11.0592MHz void uart_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,135
精华内容 1,654
关键字:

51单片机串口