zoukankan      html  css  js  c++  java
  • 串行通信

    • 模拟图
    • 发送开关数据程序
    • //任务名称:串行口实现双机通信
      //任务内容: 通过串行口发送甲机开关状态
      
      #include<reg51.h>
      void send(unsigned char stat)
          {
          SBUF=stat;//串行通信系统自动将8位数据拆字,并按照规定的速率,通过TXD接口一位接一位向外发送数据,直到将数据帧发完
          while(TI==0);//等待
          TI=0;
          }
      /*****串行通信初始化********/
      void uart_init()
          {
          SCON=0X40; //串行口工作方式1.发送
          TMOD=0x20;//T1定时器工作方式2
          PCON=0x00;//波特率不倍增
          TH1=0XFD;//波特率=9600,(11.0592Mhz)
          TL1=0XFD;
          TI=0;//清除发送标志
          TR1=1;//启动定时器T1
          }
      void main()
          {
          uart_init();//串行通信初始化
          while(1)
              {
              send(P1);//不断发送开关值
              }
          }

      接收开关数据程序

    • //任务名称:串行口实现双机通信
      //任务内容: 通过串行口发送甲机开关状态
      
      #include<reg51.h>
      unsigned char stat;
      /***串行接收开关数据***/
      void receive()
          {
          while(RI==0);
          stat=SBUF;
          RI=0;
          }
      /*****串行通信初始化********/
      void uart_init()
          {
          SCON=0X50; //串行口工作方式1.允许  接收数据
          TMOD=0x20;//T1定时器工作方式2
          PCON=0x00;//波特率不倍增
          TH1=0XFD;//波特率=9600,(11.0592Mhz)
          TL1=0XFD;
          RI=0;//清除接收标志
          TR1=1;//启动定时器T1
          }
      void main()
          {
          uart_init();//串行通信初始化
          while(1)
              {
              receive();//接收开关数据
              P1=stat;//根据接收数据点亮数码管
              }
          }
  • 相关阅读:
    ElasticSearch6学习(1)-安装Elasticsearch
    Ubuntu 18.04 安装java8
    windows10 php7安装mongodb 扩展
    https加密解密过程详解
    Beanstalkd,zeromq,rabbitmq的区别
    PHP中的++和--
    win10 git bash 闪退
    谈下WebSocket介绍,与Socket的区别
    Bridge桥接模式(结构型模式)
    Apater适配器模式(结构型模式)
  • 原文地址:https://www.cnblogs.com/ssxblog/p/10884197.html
Copyright © 2011-2022 走看看