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

目录

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

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

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

一、说明

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

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

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

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

二、重点

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

三、实现

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#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单片机-双机串口通讯-物联网应用系统设计一、说明二、重点三、实现四、下载内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部