精华内容
下载资源
问答
  • 通过数码管将51单片机从电脑上接收来的数据进行转换并显示出来! 通过数码管将51单片机从电脑上接收来的数据进行转换并显示出来!
  • 51单片机串口,是个全双工的串口,发送数据的同时,还可以接收数据。当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI置 1。无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机...
  • 本文主要为51单片机串口通信点亮led灯程序,下面一起来学习下
  • 51单片机串口通信(字符串接收和发送),非常详细,是实际做项目的好帮手
  • LD3320为内核是51单片机,LD3320当输入不同的语句通过串口输出相应的代码,利用STM32与51单片机串口通讯,将代码传输给STM32实现STM32端口控制。 注意事项: 1:STM32串口,51串口波特率以及电脑端串口调试助手...
  • 51单片机串口通信

    2018-12-28 23:03:37
    这是一个关于51单片机串口通信的小例子,用串口助手发送"ab01"led流水,发送“ab02”单片机led另一种效果,发送“ab03”蜂鸣器响,,如果不切换发送的指令,一直处于上一个发送的指令效果上,希望对刚开始学习的有所...
  • 51 单片机串口通信程序,RS232串口通信 含详细例子。 含详细例子,RS232串口通信单片机接收发送数据的 C51程序,手把手教你用增强型51 实验板实现RS232 串口通信 51串口通信
  • 适用于AT89c51/52单片机串口通信例程,可根据实际需求更改发送的数据和发送波特率
  • 主要介绍51单片机串口通信的发送与接收 字符串,你知道吗?
  • 51单片机串口通讯详解

    千次阅读 多人点赞 2019-11-04 22:10:20
    由于大部分51单片机不支持在线调试功能,所以串口作为一种有效的调试功能,所以在51单片机程序开发时,无法进行在线调试,不妨可以多采用串口来进行调试。 1.串口配置 51单片机配置除了需要配置2个8位寄存器SCON、...

    串口,作为单片机程序开发中最常用、最方便,也是应用最广泛的程序调试方法;无论是作为调试工具,打印出调试信息,还是对功能模块进行通信,串口是每个单片机开发人员最常用的单片机外设。
    由于大部分51单片机不支持在线调试功能,所以串口作为一种有效的调试功能,所以在51单片机程序开发时,无法进行在线调试,不妨可以多采用串口来进行调试。
    1.串口配置

    51单片机配置除了需要配置2个8位寄存器SCON、PCON外,还要配置定时器1的控制寄存器TMOD,因为串口在进行收发需要使用定时器来采样。
    (1)状态控制寄存器 SCON
    SCON 是一个逐位定义的 8 位寄存器,用于控制串行通信的方式选择、接收和发送,指 示串口的状态,SCON 即可以字节寻址也可以位寻址,字节地址 98H,地址位为 98H~9FH。 它的各个位定义如下:
    在这里插入图片描述
    SM0 和 SM1 是串口的工作方式选择位,2 个选择位对应 4 种工作方式,如下表,其中 Fosc 是振荡器的频率。
    在这里插入图片描述
    (2)电源与波特率控制寄存器
    控制寄存器 PCON 也是一个逐位定义的 8 位寄存器,目前仅仅有几位有定义,如下所示:
    在这里插入图片描述
    仅最高位 SMOD 与串口的控制有关,其他位与掉电方式有关。PCON 的地址为 87H 只能按 字节寻址,SMOD 是串行通信波特率系数控制位,当串口工作在工作方式 1、2 时,若使用 T1 作为波特率发生器其 SMOD=1 则波特率加倍。
    (3)定时器控制模式寄存器
    TMOD是定时器、计数器模式控制寄存器,它是一个逐位定义的8为寄存器,但只能使用字节寻址
    在这里插入图片描述
    当串口工作在工作方式0和2是,波特率固定,方式0时fosc/12;方式2时fosc/32或fosc/64(根据SMOD判断)。当串口工作在方式1时,波特率=(2^SMOD/32)*(单片机时钟频率/(256-X)),X是初值;C/T#为定时器和计数器选择位,0为定时器,1为计数器

    2.串口通用程序
    为了有较好的通用性,将串口程序配置为一个H文件和C文件,往后只要开发51单片机程序,都可以将该两个文件复制在工程中直接使用,无须修改。
    (1)uart.H

    #ifndef _UART_H_
    #define _UART_H_
    
    #include "reg52.h"
    
    void UartInit(void);
    void Send_string(unsigned char *c);
    void Send_Data(unsigned char DAT);
    
    #endif
    

    (2)uart.c

    #include "uart.h"
    
    //串口初始化
    void UartInit(void)
    {
    	/*串口初始化 */
    	TMOD = 0x20;	  //定时器T1使用工作方式2
    	SCON = 0x50;	  //工作方式1,,允许接收   
    	PCON = 0x10;
    	TH1 = 253;        // 设置初值,波特率9600bps
    	TL1 = 253;
    	TR1 = 1;          // 开始计时	
    	ES = 1;         //打开接收中断
    	EA = 1;           // 打开所以中断   
    	TI = 0;
    	RI = 0;
    }
    
    void Send_Data(unsigned char DAT)
    {
    	ES = 0;
    	TI=0;
    	SBUF = DAT ;
    	while(TI==0);
    	TI=0;
    	ES = 1;
    }
    
    void Send_string(unsigned char  *c)
    {
    	while(*c != '\0')
    	{
    		Send_Data(*c++);
    	}	
    }
    
    void RSINTR() interrupt 4 using 2
    {
    	EA=0;
    	if(TI==1) //发送中断	  
    	{
    		TI=0;
    	}
    
    	if(RI==1)	 //接收中断		  
    	{	
    
    		RI=0;								 
    
    	}
    	EA=1;
    }
    
    

    如需串口参考例程, 请关注公众号,首页回复“串口”获取资料
    在这里插入图片描述

    展开全文
  • BUSY BIT 20H.0 FLAG BIT 20H.1 EVENFLAG BIT 20H.2 TXDATA EQU 21H RXDATA EQU 22H ORG 0000H LJMP START ORG 0003H ; 外部中断0 ORG 000BH ; T0中断 ORG 0013H
  • 51单片机串口通信原理讲解

    千次阅读 多人点赞 2019-10-24 23:54:50
    51单片机串口通信 今天研究了一下51单片机的串口通信,使用的单片机是普中科技开发板,但实际上所运用到的硬件和其他品牌单片机都相同,没有区别,总结一下,自己的理解和看法。 通信原理 通信原理大致分为串行和...

    51单片机串口通信


    今天研究了一下51单片机的串口通信,使用的单片机是普中科技开发板,但实际上所运用到的硬件和其他品牌单片机都相同,没有区别,总结一下,自己的理解和看法。

    通信原理

    通信原理大致分为串行和并行两种方法,各有优缺点,也不再这里赘述了,使用到的是串行通信的方法,简单介绍一下串行通信的原理,上图

    两个设备,一根互传线,每次传一组数据,总长度不一定8位,由51单片机内部设定来决定。设备间通信有许多接口方式,我用的是51上的串行接口,挂图:
    在这里插入图片描述
    SBUF:是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H,
    TXD:Transmit(tx) Data; RXD: Receive(rx) Data;
    两个口通过缩写记一下,我经常记不住(丢人),所以上面的那一个SBUF是发送,下面的是接收寄存器,发送或者接收的数据将暂时储存于里面,编程时直接赋值就行,TH1和TL1是时钟的配置系统,主要用于控制波特率,及每秒发送的总位数。(调试时一定要对应自己设置的波特率)

    控制寄存器SCON:内部结构下图,主要用于设置串口工作方式、接发送控制,以及状态位的控制
    在这里插入图片描述
    SM0和SM1是控制工作方式下图,控制每组总数据(起止位+数据位)的位数。移位则是一个脉冲一个一个脉冲的发送输入输出数据。
    SM2多机通信控制位,方式2和3时。SM2控制RB8是否会触发RI中断,SM2=1时R8=1激活中断(中断将数据读走),R8=0则不激活;SM2=0则失去控制作用。不论RB是否为0,RI都能激活,方式0时,SM2必须为0;方式1时,SM2=0,接受到停止位,R1中断就打开。
    REN允许串行接受位,REN=1,则打开接受,否则不能接受数据。
    TB,方式2和3中才用到,是奇偶效验位
    RB,在方式2、3中还是做奇偶效验位,在方式1中做数据停止位的存放位,用来将RI自动置1,启动中断。
    在这里插入图片描述
    PCON:用于控制波特率是否加倍,及SMOD=1,波特率加倍。复位时SMOD=0;
    在这里插入图片描述
    好了,大致通信原理讲到这里,下面到使用讲解!

    程序编写

    步骤:
    1、确定TMOD(计数器)工作方式
    2、配置TH1和TL1初值
    3、配置SCON、PCON
    4、打开中断允许位(总中断、串口中断),配置中断(中断内主要是SBUF读取发送数据),配置TCON打开中断即TR1置1.

    上代码:作用串口通信输入值,再返回

    include<reg52.h>
    typedef unsigned char u8;
    
    void ready(void)
    {
    	TMOD = 0X20;
    	TH1=0XFF;
    	TL1=0XF9; //波特率9600
    	SCON=0X50;//0101 0000
    	PCON=OX80;//1000 0000
    	EA=1; //打开总中断
    	ES=1; //打开串口中断,相当于ET1 ET0
    	TR1=1;//打开计数器,当其溢出时会给SMOD一个脉冲,接受和读取数据,达到设置波特率作用
    		  //当接受到停止位时RI=1触发中断
    }
    
    void main(void)
    {
    	ready();
    	while(1);
    }
    
    void time1(void) interrupt 4
    {
    	static u8 result;
    	result=SBUF;//进入配置中断,读取数据
    	RI=0;
    	SBUF=result;//将数据输入到SBUF里面发送
    	while(!TI);//等待发送完毕
    	TI=0;
    }
    

    一个简单的串口通信收发完成了

    展开全文
  • 本文主要讲了51单片机串口通信是否需要加超时中断这个问题,下面一起来学习一下
  • * 【程序功能】: 串口工作方式1,8位UART,比特率9600,接收串口数据,数码管以十 进制格式显示,并且把接收到的数据加1后通过串口发出 ************************************************************************...
  • 本文主要讲了关于51单片机串口通信需要加超时中断这个问题,下面来看一下
  • 本文为笔者学习过程的笔记,主要内容为串口通信,使用的开发板为51单片机,后期会补充其他平台。 提示:以下是本篇文章正文内容,下面案例可供参考 一、计算机通信简介 概念:计算机与外部设备或计算.


    前言

    本文为笔者学习过程的笔记,主要内容为串口通信,使用的开发板为51单片机,后期会补充其他平台。

    提示:以下是本篇文章正文内容,下面案例可供参考

    一、计算机通信简介

    概念:计算机与外部设备或计算机与计算机之间的信息交换。

    主要的通信形式有两种:并行通信和串行通信。

    并行通信:将数据字节的多位用多根数据线连接同时进行传送。
    优点:控制简单、传输速度快。
    缺点:长距离通信时,成本高且接受方的各位同时接收存在困难。

    在这里插入图片描述

    串行通信:将数据字节分成一位一位的形式在一条传输线上进行数据传输。
    优点:传输线少、长距离传输成本低。
    缺点:传输控制相对并行困难。

    在这里插入图片描述

    二、串口通信简介

    1、简介

    串口是一种引用十分广泛的通讯接口,串口的成本低、容易使用、通信线路简单,可实现两个设备的互相通信。

    51单片机、树莓派、Wemos D1等开发板,都自带UART(通用异步收发器),可以实现串口通信。

    2、同步通信和异步通信

    串口通信可以分为同步通信和异步通信。

    2.1 同步通信

    同步通信:一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。

    同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现
    在这里插入图片描述

    2.2 异步通信

    异步通信:异步通信是指通信中两个字符(8位)之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。

    异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。

    通信的发送与接收设备使用格子的时钟控制数据的发送和接受过程。为了使双方的手法协调,要求发送和接收设备的时钟尽可能一致
    在这里插入图片描述
    在这里插入图片描述

    异步通信特点:
    1.不要求收发双方时钟的严格一致
    2.容易实现
    3.设备开销较小
    4.每个字符需要附加2到3位用于起止位
    5.各帧之间还有间隔
    6.传输效率不高

    3、串行通信的传输方式

    传输方式有三种,分别为单工、半双工和全双工。

    单工:数据传输仅能延一个方向,不能实现反向传输。
    半双工:数据传输可以延两个方向,但是需要分时进行(不能同时进行通信)。
    全双工:数据可以同时进行双向传输(不需要要分时)。

    在这里插入图片描述

    4、串口通信硬件电路

    1. 简单的串口通信有两根通信线(发送端TXD 和 接收端RXD)。
    2. TXD 和 RXD 需要交叉连接。
    3. 当只需要单向传输时,也可以只接一根传输线。
    4. 当电平标标准不一致时,需要加电平转换芯片。

    图示:

    在这里插入图片描述

    5、常见接口介绍

    名称引脚定义通信方式特点
    UARTTXD、RXD全双工、异步点对点通信
    IICSCL、SDL半双工、同步可挂载多个设备
    SPISCLK、MOSI、MISO、CS全双工、同步可挂载多个设备
    1-writeDQ半双工、异步可挂载多个设备

    除此之外还有CAN、USB等。

    三、串口相关寄存器详解

    51单片机串口通信相关寄存器有SCON、SBUF、PCON、TMOD等

    1、特殊功能寄存器SCON

    SCON:用来设定串行口的工作方式、接受/发送控制以及设置状态指示。

    76543210
    地址:98HSM0SM1SM2RENTB8RB8TIRISCON

    SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。

    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。

    SM1,SM0:串行工作方式:

    SM0SM1方式说明波特率
    000移位寄存器fosc/12
    01110位异步收发器(8微数据)可变
    10211位异步收发器(9微数据)fosc/64或fosc/32
    11311位异步收发器(9微数据)可变

    2、PCON寄存器

    注意:改寄存器中只有一位与串行口工作有关

    76543210
    地址:87HSMODPCON

    SMOD:波特率倍增位。在串口工作在方式2、方式3,波特率与SMOD有关。

    当SMOD = 1时,波特率提高一倍。
    当SMOD = 0时,不加倍。

    3、TMOD寄存器(定时器工作方式寄存器)

    76543210
    地址:89HGATEC/TM1M0GATEC/TM1M0TMOD

    高四位为定时计数器1的设置,低四位是定时计数器0设置,串口通信波特率设置占用定时计数器1,这里主要说串口通信,不过多说定时计数器,只需要设置定时计数器1的工作方式即可

    当GATE=1时,“与门”的输出信号K由INTx输入电平和TRx位的状态一起决定(即此时K=TRx·INTx),当且仅当TRx=1,INTx=1(高电平)时,计数启动;否则,计数停止。

    当INT0引脚为高电平时且TR0置位,TR0=1;启动定时器T0;
    
    当INT1引脚为高电平时且TR1置位,TR1=1;启动定时器T1。
    

    当GATE=0时,“或门”输出恒为1,“与门”的输出信号K由TRx决定(即此时K=TRx),定时器不受INTx输入电平的影响,由TRx直接控制定时器的启动和停止。

    当TR0=1,启动定时器T0。
    
    当TR1=1,启动定时器T1。
    

    C/T:定时器和计数器选择位,0为定时器,1为计数器

    M1M0工作方式
    00工作方式0:为13位定时/计数器
    01工作方式1:为16位定时/计数器
    10工作方式2:8位初值自动重装定时/计数器
    11工作方式3:仅适用于T0,分成两个8位计数器,T1停止计数

    4、代码演示(单片机和电脑通信)

    main.c

    #include "reg52.h"
    #include "delay.h"
    #include "UART.h"
    
    
    #define uchar unsigned char
    #define uint unsigned int
    
    
    
    void main()
    {
    	uart_Init();
    
    	while(1)
    	{
    		 
    	}
    }
    
    void uart() interrupt 4
    {
    	uchar  byte;
    	byte = uart_Receive();
    
    	uart_Send(byte);
    }
    

    uart.h

    #ifndef __UART_H__
    #define __UART_H_
    
    void uart_Init();
    
    void uart_Send(unsigned char send);
    
    unsigned char uart_Receive();
    
    
    #endif
    

    uart,c

    #include "reg52.h"
    
    
    void uart_Init()
    {
    	SCON = 0x50;				//设置串口工作方式为1,也可以设置为0x50
    	PCON = 0x80;				//设置波特率倍频
    	TMOD &= 0x0F;				//设置定时器模式
    	TMOD |=	0x20;				//设置定时器模式
    	TL1 = 0xF3;					//设定定时初值
    	TH1 = 0xF3;					//设定定时器重装值
    	ET1 = 0;					//禁止定时器1中断
    	TR1 = 1;					//打开定时器1
    	ES = 1;						//打开串行口中断
    	EA = 1;						//打开总中断
    }
    
    void uart_Send(unsigned char  send)
    {
    	SBUF = send;
    	while(TI == 0);				//发送中TI=1,当发送完成后TI=0,可以作为条件来判断是否发送完成
    	TI = 0;						//软件清零
    }
    
    unsigned char uart_Receive()
    {	
    	unsigned char receive;
    	receive = SBUF;
    	RI = 0;
    
    	return receive;	  
    }
    
    展开全文
  • 51单片机与电脑串口通信,电脑给单片机发送一个字符,单片机收到以后在数码管上进行显示,并且将此字符返回给电脑程序对应的电路图:
  • 最简洁的单片机串口通信程序,芯片STC15系列 一个同学写的,希望不算盗用版权
  • 基于51单片机串口收发库函数,直接调用,可移植性强,已经在开发板上实测定时向串口发送数据,直接发送字符串。
  • 51单片机串口通信详细教程,适用于51单片机,希望对初学者有所帮助。
  • 首先需要在Proteus中将环境建立起来。我这里使用的版本是8.8。 利用两个元器件就可以建立VIRTUAL TERMINAL和COMPIM的连接。...然后就要设置通信速率以及通信格式了,在属性框中实现设置相同的就行了。这样就可实现数
  • stc51单片机串口通信程序

    万次阅读 多人点赞 2019-04-12 17:37:06
    51单片机串口通信,是全双工的,就是可以同时收/发的,互相不影响的。 串口是可以同时收/发的,虽然都是用SBUF,但却是两个独立的寄存器,互不影响,只是都叫一个名,SBUF。 但是,对于接收或发送,确实是接收到一...

    首先请大家认真看下预备知识:_
    (耐心一点)
    51单片机的串口通信,是全双工的,就是可以同时收/发的,互相不影响的。
    串口是可以同时收/发的,虽然都是用SBUF,但却是两个独立的寄存器,互不影响,只是都叫一个名,SBUF。
    但是,对于接收或发送,确实是接收到一个字节以后才能接收下一个,不可能同时接收几个。对于送,也是同样的,发送一个字节数据后,要等发送完成了,才能再发下一个。
    接收和发送,可先定义一两个变量,如,接收用rec变量保存,发送数据在send变量中。
    发送时,SBUF=send;while(TI==0);TI=0;//这是用查询方式发送的。当一个字节的数据发送完成后,就会自动置TI=1,所以,可以查询TI=1时,就说明是发送结束了。如果是允许中断,就是会产生中断,判断TI=1,就是发送中断,要用指令清0,就是TI=0;
    接收时, 当收到一个数据后,也会自己置RI=1,通常,接收都是中断方式,所以, 当RI=1, 就会产生中断。而响应中断,执行中断程序,就要用指令清0,即中断中判断是RI=1,说明是接收中断,RI=0; 清除RI。
    接 收数据:rec=SBUF; 就行了。如果是接收一组数据,可以定义一个数组,用数组保存接收一组数据就行了。
    SBUF中不能存放数据,收到后必须立即读取,否则,下一个数据到了就被替代了。RI和TI置1,是硬件自动的,就是这么设计的,想改也改不了的。
    多个字节发送和接收,可以用循环控制次数。
    下面附上代码:(具体原理不再讲述可以自己搜一下学一学)

    /**************************************************************************************
    *		              串口通信实验												  *
    实现现象:下载程序后打开串口调试助手,将波特率设置为4800,选择发送的数据就可以显示
    			在串口助手上。
    注意事项:无。																				  
    ***************************************************************************************/
    
    #include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器
    
    typedef unsigned int u16;	  //对数据类型进行声明定义
    typedef unsigned char u8;
    
    
    /*******************************************************************************
    * 函数名         :UsartInit()
    * 函数功能		   :设置串口
    * 输入           : 无
    * 输出         	 : 无
    *******************************************************************************/
    void UsartInit()
    {
    	SCON=0X50;			//设置为工作方式1
    	TMOD=0X20;			//设置计数器工作方式2
    	PCON=0X80;			//波特率加倍
    	TH1=0XF3;				//计数器初始值设置,注意波特率是9600的
    	TL1=0XF3;
    	ES=1;						//打开接收中断
    	EA=1;						//打开总中断
    	TR1=1;					//打开计数器
    }
    
    /*******************************************************************************
    * 函 数 名       : main
    * 函数功能		 : 主函数
    * 输    入       : 无
    * 输    出    	 : 无
    *******************************************************************************/
    void main()
    {	
    	UsartInit();  //	串口初始化
    	while(1);		
    }
    
    /*******************************************************************************
    * 函数名         : Usart() interrupt 4
    * 函数功能		  : 串口通信中断函数
    * 输入           : 无
    * 输出         	 : 无
    *******************************************************************************/
    void Usart() interrupt 4
    {
    	u8 receiveData;
    
    	receiveData=SBUF;//出去接收到的数据
    	RI = 0;//清除接收中断标志位
    	SBUF=receiveData;//将接收到的数据放入到发送寄存器
    	while(!TI);			 //等待发送数据完成
    	TI=0;						 //清除发送完成标志位
    }
    

    我的单片机是STC90C516RD+属于51系列的,我的晶振频率是11.899MHZ。
    对于初值的计算机可以使用如下软件:
    在这里插入图片描述

    其中注意:(1)计算初值时,波特率是加倍之前(对于SMOD=1时这种情况)的波特率。
    (2)软件是51波特率初值计算,还有一个是定时器初值计算,不要下载错误
    下面就是烧录程序了,连接好USB线,打开串口助手软件,设置波特率4800
    如下图:
    在这里插入图片描述
    枣红色框框里面是波特率设置的地方,波特率为4800,绿色框框和红色框框(挨着绿色的那个)是模式的设置,文本模式如图,hex模式则是数字(16进制的)。

    展开全文
  • 程序用于51单片机串口通信发送程序,波特率为9600,
  • 解决51单片机串口发送汉子显示乱码的问题。
  • 51单片机串口通信(字符串接收和发送)
  • 这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口... 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令
  • 实验室有个项目,用到报警功能。比如当温度或应力过高或者过低的时候启动报警器,通过给串口发送一个命令来控制继电器。不巧去年被我正负极接反烧了,最近开始搞单片机,苦心经营,利用实验室单片机学习板给搞定了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,831
精华内容 3,932
关键字:

51单片机串口通信