我是靠谱客的博主 迷你身影,最近开发中收集的这篇文章主要介绍STC51单片机-双机串口通讯-物联网应用系统设计一、说明二、重点三、实现四、下载,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 一、说明
  • 二、重点
  • 三、实现
  • 四、下载

此项目是作为单片机应用系统设计,通过STC单片机实验开发装置的结构、原理电路、以及其所能实现的功能和应用,建立单片机实现多功能综合应用系统的整体概念,打下实际工程项目设计、开发、应用的较好基础。

  • 分析和熟悉实验装置的硬件结构
  • 分析和掌握实验装置的电路原理:器件工作原理、电路接口原理、端口和编址分配原理、电路的主要技术参数等
  • 分析和了解PCB板的设计方法,理解器件的合理布局,装置的工艺设计及安装工艺

一、说明

串行通信作为计算机通信方式之一,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点,主要适用于近距离的人机交换、实时监控等系统通信工作当中,借助于现有的电话网也能实现远距离传输,因此串行通信接口是计算机系统当中的常用接口。

异步通信中,在异步通信中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。

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

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

二、重点

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

三、实现

#include<reg51.h>		 
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

sbit  LED1 = P1^0;
sbit  LED2 = P1^3;
sbit  K1 = P1^7;//按键的引脚
//延时子程序,延时时间为 1ms * x
void Delay_1ms(uint i)//1ms延时
{
  uchar x,j;
  for(j=0;j<i;j++)
    for(x=0;x<=148;x++);
}

//************************************
//串口初始化	
//************************************

void Init_Uart()
{
  SCON = 0X50;	//设置串口工作在方式1,允许接收
  TMOD |= 0x20;	//定时器工作在方式2
  TH1   = 0xfd;	//9600波特率
  TL1   = 0xfd;
  EA    = 1;  //总中断
  TR1   = 1;
  REN=1;//允许串口接收
  ES    = 1;  //允许中断
}

//串口输出数据
void TX_data(uchar num)
{
  
  SBUF = num;
  while(!TI);
  TI=0;
  
}

//读取按键
uchar Get_Key()
{
  static uchar flag=0;
  if(flag==0&&K1==0)
  {
    flag=1;
    Delay_1ms(5);
    if(K1==0)return 1;
    
  }
  else if(K1==1){flag=0;}
  return 0;
}

//主函数
void main(void)
{
  uchar key_num=0;
  uchar mode=0;
  Init_Uart(); //串口初始化
  P0=0;
  while(1)
  {		
    key_num=Get_Key();//检测按键
    if(key_num!=0)
    {
      TX_data(mode);
      if(++mode>15)mode=0;
    }
    Delay_1ms(10);
  }
}
//串口中断子函数
void Uart_INT(void) interrupt 4     
{
  uchar temp=0;
  uchar t=0;
  if(RI==1)	//如果接收到了数据  
  { 
    RI=0; 
    temp=SBUF;//接收数据      
    P0=table[temp];//显示数据
    t=temp%4;
    if(t==0)
    {
      LED1=0;
      LED2=1;
    }
    else if(t==1)
    {
      LED1=1;
      LED2=0;
    }
    else if(t==2)
    {
      LED1=0;
      LED2=0;
    }
    else if(t==3)
    {
      LED1=1;
      LED2=1;
    }
  }
}

在这里插入图片描述

四、下载

在这里插入图片描述

详见:STC51单片机-双机串口通讯-物联网应用系统设计项目开发

最后

以上就是迷你身影为你收集整理的STC51单片机-双机串口通讯-物联网应用系统设计一、说明二、重点三、实现四、下载的全部内容,希望文章能够帮你解决STC51单片机-双机串口通讯-物联网应用系统设计一、说明二、重点三、实现四、下载所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部