电子发烧友网 > 控制/MCU > 正文

单片机通讯程序设计

2019年05月23日 15:32 次阅读

#include

#defineucharunsignedchar

#defineSLAVE0x00

#defineBN16

ucharidatatdata[16];

ucharidatardata[16];

bittrdy;

bitrrdy;

voidmain(void)

{

TMOD=0x20;//定时器T1为模式2

TL1=0xfd;//定时器初值

TH1=0xfd;

PCON=0x00;

TR1=1;

SCON=0xf0;//串行口方式3

ES=1;EA=1;//开串行口中断

while(1){trdy=1;rrdy=1;}//准备好发送和接收

}

单片机通讯程序设计

voidslave(void)interrupt4using1

{

voidstr(void);

voidsre(void);

uchara;

RI=0;//关串行口中断

ES=0;

if(SBUF!=SLAVE){ES=1;gotoreti;}//非本机地址,继续监听

SM2=0;//取笑监听状态

SBUF=SLAVE;//发回从机地址

while(TI!=1);TI=0;

while(RI!=1);RI=0;

if(RB8==1){SM2=1;ES=1;gotoreTI;}//确认地址不符,从机复位

a=SBUF;//接收命令

if(a==1){//从机接收主机的数据

if(rrdy==1)SBUF=0x01;//接收准备好,发回0x01

else

SBUF=0x00;

while(TI!=1);TI=0;

while(RI!=1);RI=0;

if(RB8==1){SM2=1;ES=1;gotoreti;}

sre();//接收数据

}

else

{

if(a==0x02)//从机向主机发送数据

{

if(trdy==1)SBUF=0x02;//发送准备好

else

SBUF=0x00;

while(TI!=1);TI=0;

while(RI!=1);RI=0;

if(RB8==1){SM2=1;ES=1;gotoreti;}

str();//发送数据

}

else

{

SBUF=0x80;//命令非法

while(TI!=1);TI=0;

SM2=1;ES=1;//恢复监听

}

}

reti:;

}

voidstr(void)//发送数据函数

{ucharp,i;

trdy=0;

do{p=0;//初始校验和为0

for(i=0;i{SBUF=tdata[i];//发送数据

p+=tdata[i];

while(TI!=1);TI=0;

}

SBUF=p;//发送校验和

while(TI!=1);TI=0;

while(RI!=1);RI=0;

}while(SBUF!=0);//主机接收不正确,重新发送

SM2=1;ES=1;

}

voidsre(void)//接收数据函数

{ucharp,i;

rrdy=0;

while(1)

{p=0;//初始化校验和为0

for(i=0;i{while(RI!=1);RI=0;

tdata[i]=SBUF;//接收数据

p+=rdata[i];

}

while(RI!=1);RI=0;

if(SBUF==p){SBUF=0x00;break;}//校验和相同,发00H

else{

SBUF=0xFF;while(TI!=1);TI=0;//校验和不同,发FFH,重新接收

}

}

SM2=1;ES=1;

}

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不

发烧友学院 发表于 2017-05-16 00:00 585次阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

单片机原理及应用

单片机现已渗透到我们日常生活中的各个领域,小到家用电器、仪器仪表,大到医疗器械、航空航天,无不存在着...

发表于 2019-05-23 13:58 25次阅读
单片机原理及应用

单片机与plc优缺点

PLC是一套比较成熟的控制系统,有相当的通用性,在它内部已经包含了几套单片机。单独的一个单片机就是一...

发表于 2019-05-23 13:54 45次阅读
单片机与plc优缺点

单片机编程步骤

单片机编程该如何进行?有哪些步骤?刚上手的新手大多数都会手忙脚乱,不知该从何入手。这是很正常的,大家...

发表于 2019-05-23 13:48 42次阅读
单片机编程步骤

关于STC8A8K64S4A12开发板外部中断问题

发表于 2019-05-23 10:02 106次阅读
关于STC8A8K64S4A12开发板外部中断问题

单片机常用的14个C语言算法,看过的都成了大神!

算法(Algorithm): 计算机解题的基本思想方法和步骤。 算法的描述: 是对要解决一个问题或要...

发表于 2019-05-23 09:53 433次阅读
单片机常用的14个C语言算法,看过的都成了大神!

请问ads7886的输出接口*CS SDO SCLK可以直接连接到单片机的I/O吗?

发表于 2019-05-23 06:25 23次阅读
请问ads7886的输出接口*CS SDO SCLK可以直接连接到单片机的I/O吗?

AT89S51单片机如何实现按键识别

发表于 2019-05-23 06:00 144次阅读
AT89S51单片机如何实现按键识别

51单片机与HLK—RM04不能通信

发表于 2019-05-23 05:55 5次阅读
51单片机与HLK—RM04不能通信

基于CP2200的嵌入式系统以太网接口

发表于 2019-05-23 05:01 32次阅读
基于CP2200的嵌入式系统以太网接口

单片机学习方法是不是错了?

发表于 2019-05-23 04:09 5次阅读
单片机学习方法是不是错了?

[ATMEL TINY13 校验字节]有没有哪位兄弟用过tiny13这款单片机,我想了解一下校验字节的相关特性

发表于 2019-05-22 20:07 72次阅读
[ATMEL TINY13 校验字节]有没有哪位兄弟用过tiny13这款单片机,我想了解一下校验字节的相关特性

常见硬件原理图中的“英文缩写”大全

常用控制接口EN:Enable,使能。使芯片能够工作。要用的时候,就打开EN脚,不用的时候就关闭。

发表于 2019-05-22 17:38 721次阅读
常见硬件原理图中的“英文缩写”大全

17种常见的单片机电路设计模块

本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V...

发表于 2019-05-22 17:34 263次阅读
17种常见的单片机电路设计模块

请问怎么检测单片机电路板

发表于 2019-05-22 16:00 104次阅读
请问怎么检测单片机电路板

单片机无线串行接口电路的组成和工作原理

发表于 2019-05-22 05:01 20次阅读
单片机无线串行接口电路的组成和工作原理

220V交流转5V直流的电源给一个不足100mA的单片机系统供电可行吗?

发表于 2019-05-22 04:07 60次阅读
220V交流转5V直流的电源给一个不足100mA的单片机系统供电可行吗?

单片机音乐程序的设计原理解析

我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则...

发表于 2019-05-20 16:08 109次阅读
单片机音乐程序的设计原理解析

单片机系统的EMC测试设计

EMC是电磁兼容(Electro- Magnetic Compatibility)的缩写,它包括电磁...

发表于 2019-05-20 15:39 71次阅读
单片机系统的EMC测试设计

集成电路 | 基于深度学习和低频通信阵列的无线面...

近年来,我国建筑在规模和层次上都发展到了一个新的高度,同时建筑施工安全管理也越发受到人们重视。

发表于 2019-05-20 14:18 251次阅读
集成电路 | 基于深度学习和低频通信阵列的无线面...

基于単片机室内照明智能控制系統

很多元件之间可能会互相影响,比如蜂鸣器会影响声控开关、热释电模块会影响红外通信(遥控,不过概率比较低...

发表于 2019-05-20 11:16 201次阅读
基于単片机室内照明智能控制系統

单片机5V转3.3V电平的19种方法你知道吗?

标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们...

发表于 2019-05-18 11:44 568次阅读
单片机5V转3.3V电平的19种方法你知道吗?

初入电子类的学生到底应该怎么发展

这是本文的作者向苏老师自荐的一篇文章,想必是基于其亲身体会写得比较真切,故转发在此,分享给标题中的朋...

发表于 2019-05-18 11:16 392次阅读
初入电子类的学生到底应该怎么发展

使用STM32单片机进行线性稳压电源的设计方案详...

随着计算机技术与电子信息技术的快速发展,在实际应用中根据调整管不同的工作状态把电源区分为开关电源、线...

发表于 2019-05-18 10:03 352次阅读
使用STM32单片机进行线性稳压电源的设计方案详...

基于单片机控制的自主寻迹电动小车的设计

在小车的中部平行装有两个色标传感器,采用查询检测的方法对黑线进行检测。89C51在检测到黑线信号后,...

发表于 2019-05-17 15:49 164次阅读
基于单片机控制的自主寻迹电动小车的设计

如何制作单片机简单电路

把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。为了减少管脚,把各个发光管的...

发表于 2019-05-16 18:03 395次阅读
如何制作单片机简单电路

基于EFM8 8位MCU的智能家居系统开关设计

Silicon Labs EFM8SB1系列单片机控制芯片是一款基于最节能的8位MCU,非常适用于对...

发表于 2019-05-16 17:06 243次阅读
基于EFM8 8位MCU的智能家居系统开关设计

STM32F030C8T6微控制器的主要特性介绍

STM32F030C8T6微控制器是一款32位M0系列LQFP-48 单片机,性价比很高的ARM单片...

发表于 2019-05-15 15:49 393次阅读
STM32F030C8T6微控制器的主要特性介绍

STC90C52RC系列单片机的特点及引脚功能分...

STC90C52RC系列单片机是宏晶科技推出的一款高速、低功耗、超强抗干扰的单片机,指令代码完全兼容...

发表于 2019-05-13 14:36 569次阅读
STC90C52RC系列单片机的特点及引脚功能分...

如何使用单片机进行可语音播报的脉搏检测仪的设计资...

设计功能:ST188光电传感器检测脉搏信号,并有脉搏信号指示灯; 具有温度检测功能,可检测人体温度...

发表于 2019-05-12 09:35 430次阅读
如何使用单片机进行可语音播报的脉搏检测仪的设计资...

如何利用单片机向电脑发送一串汉字

操作条件: 1.XP操作系统。 2.XP的超级终端显示。 3.WJ-V4.0开发板...

发表于 2019-05-11 10:40 108次阅读
如何利用单片机向电脑发送一串汉字

基于51单片机NRF905无线病房呼叫语音播报系...

一款医疗呼叫系统,主要功能是实现医院医务人员与病人之间信息沟通,可在不改变病房现有布局的情况下实现医...

发表于 2019-05-11 10:01 479次阅读
基于51单片机NRF905无线病房呼叫语音播报系...

STC15F104W单片机的特点及管脚图

STC15F104W单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超...

发表于 2019-05-10 15:30 585次阅读
STC15F104W单片机的特点及管脚图

SRRC传导辐射过不了?AD软件怎么搞?看大咖们...

SRRC传导辐射过不了,有人遇到过这种问题吗,怎么解决的?

发表于 2019-05-09 15:18 220次阅读
SRRC传导辐射过不了?AD软件怎么搞?看大咖们...

ARM7单片机轻松入门与实践

ARM7是32 位通用微处理器ARM(Advanced RISC Machines)家族中的一员,具...

发表于 2019-05-09 14:56 211次阅读
ARM7单片机轻松入门与实践

基于机智云+STM32的智能物联网寝室

因为模块较多,而单片机的串口等和处理速度有限,为了提高处理速度,减轻单块单片机的负担,所以项目使用了...

发表于 2019-05-06 16:13 529次阅读
基于机智云+STM32的智能物联网寝室

C8051F340单片机对智能测量系统的控制设计

智能数据采集系统包括:步进电机控制、数据采集、数据传输、数据处理等部分(如图1 所示)。为了进一步提...

发表于 2019-05-06 15:29 109次阅读
C8051F340单片机对智能测量系统的控制设计

基于IAR开发EFM32单片机的过程及技巧

俗话说“工欲善其事、必先利其器”,为了能更好的开发ARM系单片机EFM32,熟练掌握一个或者多个ID...

发表于 2019-05-06 14:50 70次阅读
基于IAR开发EFM32单片机的过程及技巧

基于51单片机及嵌入式传感器的电网监控系统设计浅...

随着计算机技术的飞速发展,嵌入式系统已经成为计算机技术领域的一个非常重要的组成部分,普遍应用于商业和...

发表于 2019-05-06 14:42 181次阅读
基于51单片机及嵌入式传感器的电网监控系统设计浅...

利用51+NRF24L01实现银行排队系统

智能排队管理系统其具体要求和功能,完全模拟人群排队过程,通过取号、进队、排队等待、叫号服务等功能代替...

发表于 2019-05-05 17:24 266次阅读
利用51+NRF24L01实现银行排队系统

盘点当今市面上的主流单片机

单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时...

发表于 2019-05-05 09:21 2151次阅读
盘点当今市面上的主流单片机

为什么单片机有了Flash还有EEPROM

Flash属于广义的EEPROM,因为它也是电擦除的ROM。但是为了区别于一般的按字节为单位的擦写的...

发表于 2019-05-03 09:45 238次阅读
为什么单片机有了Flash还有EEPROM

如何快速读懂单片机时序图实例教材说明

对于芯片开发使用来说,时序图是较为核心也较为重要的一个知识点。在厂家给出的芯片数据手册中,时序图也是...

发表于 2019-05-03 09:01 291次阅读
如何快速读懂单片机时序图实例教材说明

基于8051单片机DPTR扩展设计介绍

单片机的出现是计算机技术发展史上的一个里程碑,它使计算机从海量数值计算进入到控制领域。在单片机中,以...

发表于 2019-05-01 15:35 188次阅读
基于8051单片机DPTR扩展设计介绍

SOC中单片机嵌入式应用的技术特点

本文根据几年来对SOC技术和单片机应用技术发展的研究,对SOC的基本技术概念以及单片机与SOC技术的...

发表于 2019-05-01 14:04 369次阅读
SOC中单片机嵌入式应用的技术特点

单片机动态扫描显示接口的应用

动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h...

发表于 2019-04-30 15:14 157次阅读
单片机动态扫描显示接口的应用

EM78447A单片机对智能晾衣架硬件电路的设计

单片机EM78447A接收来自传感器的信号后发出晾衣服架收缩或伸张功能的指令,使晾衣服架自动收缩或伸...

发表于 2019-04-30 15:07 168次阅读
EM78447A单片机对智能晾衣架硬件电路的设计

单片机各种延时程序符号的含义解析

DJNZ:这是另一条指令,我们来看一下这条指令后面跟着的两个东西,一个是R6,一个是D2,R6我们当...

发表于 2019-04-30 11:07 95次阅读
单片机各种延时程序符号的含义解析

单片机硬件参数设计解析

随着单片机的频率和集成度、单位面积的功率及数字信号速度的不断提高,而信号的幅度却不断降低,原先设计好...

发表于 2019-04-30 10:20 399次阅读
单片机硬件参数设计解析

介绍几款非常实用的单片机小工具

第9款:虚拟示波器,这是一款可以在电脑上使用的虚拟示波器软件,可自动扫描串口,并设置多种波特率,显示...

发表于 2019-04-29 11:30 656次阅读
介绍几款非常实用的单片机小工具

国内外电子元器件分销商150强数据统计

国内电子元器件分销商150强(排名不分先后)

发表于 2019-04-29 10:51 539次阅读
国内外电子元器件分销商150强数据统计

单片机系统开发入门知识储备

单片机程序下载器或在线仿真器。这个设备一般没有通用的,单片机系列不同,仿真器也不同。直接上某宝,搜“...

发表于 2019-04-28 15:55 318次阅读
单片机系统开发入门知识储备

Microchip推出首款基于Arm®内核的单片...

SAMV71Q21RT和SAMRH71允许软件开发人员在迁移到宇航级元件之前着手使用SAMV71 C...

发表于 2019-04-25 11:37 361次阅读
Microchip推出首款基于Arm®内核的单片...

单片机设计的电磁兼容性解决方案

PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发...

发表于 2019-04-22 14:44 176次阅读
单片机设计的电磁兼容性解决方案

51、stm32单片机入门的一些经验

51单片机作为最经典的一款单片机,已在各大高校的电子、通信专业的入门单片机课程,想学单片机这是最好的...

发表于 2019-04-20 09:04 198次阅读
51、stm32单片机入门的一些经验

51单片机的学习步骤

从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC...

发表于 2019-04-20 09:03 306次阅读
51单片机的学习步骤

单片机浮点数的运算原理及表达方式

浮点数也有各种各样表示有符号数的方法,其中数的符号常和尾数放在一起,即把士M作为一个有符号的小数,它...

发表于 2019-04-18 15:38 144次阅读
单片机浮点数的运算原理及表达方式

飞思卡尔加速度传感器MMA7260QT对智能摇篮...

本系统采用飞思卡尔MC9S08QG8单片机作为控制器,使用飞思卡尔加速度传感器MMA7260QT判断...

发表于 2019-04-16 15:30 125次阅读
飞思卡尔加速度传感器MMA7260QT对智能摇篮...

看门狗工作原理、应用和设计思路解析

C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制寄存器的两次特...

发表于 2019-04-16 13:59 364次阅读
看门狗工作原理、应用和设计思路解析

混合编程的基本方式, 在C51中嵌入汇编程序

用固定存储区传递参数给汇编程序,参数段首地址用段名“ function-nAMEBYTE”和“fun...

发表于 2019-04-15 11:41 471次阅读
混合编程的基本方式, 在C51中嵌入汇编程序

单片机累加器A的逻辑操作方法介绍

CLR A ;将A中的值清0,单周期单字节指令,与MOV A,#00H效果相同。 CPL A ...

发表于 2019-04-12 16:01 192次阅读
单片机累加器A的逻辑操作方法介绍

如何解决单片机的抗干扰问题

随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然...

发表于 2019-04-12 15:56 296次阅读
如何解决单片机的抗干扰问题

怎样才能学好单片机技术

要学习单片机这门技术,良好的教材和教程必不可少。单片机方面,大家可以直接学习我们这部教程,以及配套的...

发表于 2019-04-11 16:01 236次阅读
怎样才能学好单片机技术

单片机位处理指令的使用方法

1.位处理指令的一般性说明 在分类时将位传送归入传送指令类,条件转移归入程序控制类。其余位操作...

发表于 2019-04-10 16:22 141次阅读
单片机位处理指令的使用方法

MEGA8单片机对LCD1602液晶屏的驱动

1)由于找不到的1620资料,不知道它的操作时序。看到一些帖子说1620和1602没区别,还是有点将...

发表于 2019-04-09 15:16 273次阅读
MEGA8单片机对LCD1602液晶屏的驱动

单片机电子时钟的设计

定义一个结构体类型 sTime 用来封装日期时间的各个元素,又用该结构体定义了一个时间缓冲区变量 b...

发表于 2019-04-08 16:34 313次阅读
单片机电子时钟的设计

单片机内部密码破解的常用方法解析

单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。为了防止未经授权访问或...

发表于 2019-04-08 16:27 177次阅读
单片机内部密码破解的常用方法解析

单片机数控电源的设计

这次做的数控电源设计思想没什么新意,就是一个数模转换(ADC0809)和一个模数转换(DAC0832...

发表于 2019-04-08 16:19 216次阅读
单片机数控电源的设计

单片机堆栈操作指令的用法介绍

第一条指令称之为推入,就是将direct中的内容送入堆栈中,第二条指令称之为弹出,就是将堆栈中的内容...

发表于 2019-04-04 14:38 124次阅读
单片机堆栈操作指令的用法介绍

单片机对蜂鸣器的设计

蜂鸣器的使用: 蜂鸣器粗略设定频率,以20ms即50hz发声 #include #...

发表于 2019-04-04 14:30 251次阅读
单片机对蜂鸣器的设计

单片机开发时的常遇问题解析

nRF24L01模块(使用Mirf库时)的自动应答问题:项目里使用一个nRF24L01(服务端)接收...

发表于 2019-04-04 14:07 155次阅读
单片机开发时的常遇问题解析