STC51单片机-异步串行通信系统-物联网应用系统设计项目开发

简介: STC51单片机-异步串行通信系统-物联网应用系统设计项目开发

一、说明

同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通信可以分为同步通信和异步通信两类。


异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。


它—般由起始位、数据位、奇偶校验位和停止位四部分组成。它用一个起始位表示字符的开始,用停止位表示字符的结束,构成一帧,即在异步通信中,发送的每一个数据字符均带有起始位、停止位和可选择的奇偶位。数据字符之间没有特殊关系,也没有发送接收时钟。


异步通信数据帧的第一位是开始位,在通信线上没有数据传送时处于逻辑’1’状态。当发送设备要发送一个字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送开始。


当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5,6,7或8位的数据。在字符数据传送过程中,数据位从最低位开始传输。数据发送完之后,可以发送奇偶校验位。奇偶校验位用于有限差错检测,通信双方在通信时需约定一致的奇偶校验方式。就数据传送而言,奇偶校验位是冗余位,但它表示数据的一种性质,这种性质用于检错,虽有限但很容易实现。在奇偶位或数据位之后发送的是停止位,可以是1位、1.5位或2位,停止位一直为逻辑’1’状态。停止位是一个字符数据的结束标志。


在异步通信中,字符数据一个一个地传送。在发送间隙,即空闲时,通信线路总是处于逻辑“1”状态,每个字符数据的传送均以逻辑“0”开始。


用Proteus仿真编程实现以下功能:

  • 2个同种单片机之间的异步串行通信

二、重点

  • 单片机异步串行通信的工作方式及其控制方法
  • 单片机异步串行通信的实际应用

三、实现

  //从机1串行通信程序
#include <reg52.h>
sbit led=P2^0;          //定义P2.0连接的黄色LED
bit rrdy=0;         //接收准备标志位rrdy=0,表示未做好接收准备
bit trdy=0;           //发送准备标志位trdy=0,表示未做好发送准备
bit err=0;  
void delay_ms(unsigned int i)     //延时函数
{
  unsigned char j;
  for(;i>0;i--)     
  for(j=0;j<125;j++)    
  ;
} 
void main()         //从机1主函数      
{
  EA=1;       //总中断打开
  TMOD=0x20;      //T1方式2自动装载,用于设置波特率
  TL1=0xfd;TH1=0xfd; PCON=0x00;   //波特率设为9600
  SCON=0xd0;      //SM2设为0,TB8设为0
  TR1=1;        //启动定时器T1 
  P1=0xff;      //向P1写入全1,8个绿色LED全灭
  ES=1;       //允许串口中断
  while(RI==0);     //接收控制指令0xff
  if(SBUF==0xff) err=0;   //如果接收到的数据为0xff,err=0,表示通信正常
  else err=1;     //err=1,表示接收出错
  RI=0;       //接收中断标志清0
  SM2=1;        // SM2置1,为多机通讯做好准备。
  while(1);
}
void int1() interrupt 4       //串行口中断函数
{
 if(RI)       
 {
  if(RB8)         //如果RB8=1,表示接收的为地址帧
  {
    RB8=0;        
    if(SBUF==0x02)   //如接收的数据为地址帧0x01,是本从机的地址
            //2#机本句改为:if(SBUF==0x02)
    {
      SM2=0;    //则SM2清0,准备接收数据帧
      led=0;    //点亮本从机黄色发光二极管
    }
  }
  else          //如果接收的不是本从机的地址
  {
    rrdy=1;     //准备好接收标志置1
    P1=SBUF;    //串口接收的数据送P1,LED显示
      SM2=1;      // SM2仍为1 
    led=1;      // 熄灭本从机黄色发光二极管 
  }
  RI=0; 
}
delay_ms(500); 
P1=0xff;          //熄灭本从机8个绿色发光二极管  
}  
…………

四、下载

详见:STC51单片机-异步串行通信系统-物联网应用系统设计项目开发

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
1月前
MCS-51单片机串行接口
MCS-51单片机串行接口
20 1
|
1月前
|
存储
单片机的指令系统
单片机的指令系统
16 1
|
1月前
|
监控
单片机的时钟系统
单片机的时钟系统
16 1
|
1月前
|
存储 传感器 物联网
新技术驱动未来:区块链、物联网、虚拟现实的蓬勃发展与创新应用
随着科技的迅猛发展,新兴技术如区块链、物联网、虚拟现实等正成为当今社会关注的焦点。本文将探讨这些新技术的发展趋势和广泛应用场景,展示它们在不同领域中的潜力与创新价值。
|
10天前
|
供应链 安全 物联网
未来交织:区块链、物联网和虚拟现实的技术革新与融合应用
【4月更文挑战第13天】 在数字化时代的浪潮中,新兴技术正以前所未有的速度重塑着世界。本文将深入分析区块链技术的去中心化信任机制、物联网(IoT)的智能连接网络,以及虚拟现实(VR)的沉浸式体验如何独立发展并开始交汇融合,共同构建一个更加智能、安全和互动的未来。我们将探讨这些技术的发展趋势,揭示它们在各行各业的潜在应用场景,并讨论它们如何联合起来推动第四次工业革命。
|
21天前
|
供应链 监控 物联网
新技术趋势与应用:区块链、物联网和虚拟现实的未来
【4月更文挑战第2天】随着科技的飞速发展,新兴技术如区块链、物联网和虚拟现实等正在逐渐改变我们的生活。本文将探讨这些技术的发展趋势和应用场景,以及它们如何影响我们的日常生活和工作。
|
21天前
|
传感器 物联网 区块链
新兴科技之光:区块链、物联网与虚拟现实的发展趋势与应用探索
在当今数字化浪潮的推动下,新兴技术如区块链、物联网和虚拟现实正以惊人的速度发展。本文将深入探讨这些技术的发展趋势和广泛应用场景,揭示它们在改变着我们生活和工作方式的过程中所发挥的重要作用。区块链技术的去中心化特性使其在金融、物流和医疗等领域展现出巨大潜力,物联网则将连接万物,促进智能城市和智能家居的发展,而虚拟现实技术正逐渐赋能于教育、医疗和娱乐等各个领域。这些新兴技术的蓬勃发展必将为人类社会带来更多的创新和进步。
10 0
|
22天前
2-1 51单片机最小系统构成
2-1 51单片机最小系统构成
16 0
|
27天前
|
安全 物联网 区块链
新兴科技的潜力与挑战:区块链、物联网、虚拟现实的发展趋势与应用探讨
当谈到新兴科技时,人们往往会驻足于区块链、物联网和虚拟现实等领域。这些技术正在以前所未有的速度改变着我们的生活方式、商业模式和社会结构。本文将从技术发展的角度探讨这些新兴技术的潜力与挑战,并深入分析它们在不同领域的应用场景和前景。
12 0
|
27天前
|
供应链 监控 物联网
新技术浪潮:区块链、物联网与虚拟现实的发展趋势与应用探讨
在当今数字化时代,新兴技术如区块链、物联网和虚拟现实正以惊人的速度改变着我们的生活和工作方式。本文将探讨这些新技术的发展趋势和应用场景,分析它们在不同领域中的潜力和影响。
19 4