100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > STC51单片机-双机串口通讯-物联网应用系统设计

STC51单片机-双机串口通讯-物联网应用系统设计

时间:2022-10-16 23:59:57

相关推荐

STC51单片机-双机串口通讯-物联网应用系统设计

目录

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

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

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

一、说明

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

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

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

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

二、重点

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

三、实现

#include<reg51.h> #define uchar unsigned char#define uint unsigned intunsigned 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 * xvoid 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;//定时器工作在方式2TH1 = 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单片机-双机串口通讯-物联网应用系统设计项目开发

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。