张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

单片机C语言双向通信程序设计

玩转单片机 2018-11-21 16:33 次阅读

/* 名称:甲机串口程序

说明:甲机向乙机发送控制命令字符

甲机同时接收乙机发送的数字,并显示在

数码管上。

*/

#include

#define uchar unsigned char

#define uint unsigned int

sbit LED1=P1^0;   

sbit LED2=P1^3;

sbit K1=P1^7; 

uchar Operation_No=0; //操作代码

//数码管代码

uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//延时

void DelayMS(uint ms)

{

uchar i;

while(ms--) for(i=0;i<120;i++);

}

//向串口发送字符

void Putc_to_SerialPort(uchar c)

{

SBUF=c;

while(TI==0);

TI=0;

}

//主程序

void main()

{

LED1=LED2=1;

P0=0x00;

SCON=0x50;串口模式 1,允许接收

TMOD=0x20; //T1 工作模式 2

PCON=0x00;波特率不倍增

TH1=0xfd;

TL1=0xfd;

TI=RI=0;

TR1=1;

IE=0x90;  //允许串口中断

while(1)

{

DelayMS(100);

if(K1==0) //按下 K1 时选择操作代码 0,1,2,3

while(K1==0); 

Operation_No=(Operation_No+1)%4;

switch(Operation_No)根据操作代码发送 A/B/C 或停止发送

case 0:Putc_to_SerialPort('X');

LED1=LED2=1; 

break; 

case 1:Putc_to_SerialPort('A');

LED1=~LED1;LED2=1;

break; 

case 2:Putc_to_SerialPort('B');

LED2=~LED2;LED1=1;

break; 

case 3:Putc_to_SerialPort('C');

LED1=~LED1;LED2=LED1;

break;      }       

}

}

}

//甲机串口接收中断函数

void Serial_INT() interrupt  4

{

if(RI)

{

RI=0; 

if(SBUF>=0&&SBUF<=9) P0=DSY_CODE[SBUF];

else P0=0x00;

}

}

/* 名称:乙机程序接收甲机发送字符并完成相应动作

说明:乙机接收到甲机发送的信号后,根据相应信号控制 LED 完成不同闪烁动作。

*/

#include

#define uchar unsigned char

#define uint unsigned int

sbit LED1=P1^0;   

sbit LED2=P1^3;

sbit K2=P1^7; 

uchar NumX=-1;

//延时

void DelayMS(uint ms)

{

uchar i;

while(ms--) for(i=0;i<120;i++);

}

//主程序

void main()

{

LED1=LED2=1;

SCON=0x50;串口模式 1,允许接收

TMOD=0x20; //T1 工作模式 2

TH1=0xfd;

TL1=0xfd;    //波特率 9600 

PCON=0x00;波特率不倍增

RI=TI=0;

TR1=1;

IE=0x90;

while(1)

{

DelayMS(100);

if(K2==0)

while(K2==0); 

NumX=++NumX%11; //产生 0~10 范围内的数字,其中 10 表示关闭

SBUF=NumX; 

while(TI==0);

TI=0; 

}

}

void Serial_INT() interrupt 4

{

if(RI)//如收到则 LED 则动作

{

RI=0; 

switch(SBUF) //根据所收到的不同命令字符完成不同动作

case 'X':LED1=LED2=1;break; //全灭

case 'A':LED1=0;LED2=1;break;//LED1 亮

case 'B':LED2=0;LED1=1;break;//LED2 亮

case 'C':LED1=LED2=0;//全亮

}

}

声明:本文由入驻电子说专栏的作者撰写或者网上转载,观点仅代表作者本人,不代表电子发烧友网立场。如有侵权或者其他问题,请联系举报。侵权投诉

原文标题:单片机C语言程序设计:单片机之间双向通信

文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

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

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

【设计技巧】指针的使用注意事项:空指针、指针赋值、void *指针

前面的文章,分析了指针的一些概念,可以说指针是C的灵魂,看起来简单,但是想要理解透彻却是相当难,需要大量的练习,不断的巩...
发表于 08-20 08:30 62次 阅读
【设计技巧】指针的使用注意事项:空指针、指针赋值、void *指针

使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载

本文档的主要内容详细介绍的是使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载。
发表于 08-20 08:00 8次 阅读
使用STM32F103单片机进行温度OLED显示实验的工程文件免费下载

AD和DA转换器的详细介绍及其编程的资料概述

在实时控制和智能仪表等应用系统中,单片机所需处理的信号通常为模拟量,例如温度、压力、转速等等。这些模....
发表于 08-20 08:00 8次 阅读
AD和DA转换器的详细介绍及其编程的资料概述

为什么一退出外部中断程序就会重启?

我现在正在写裸机中断代码。 代码架构:用汇编初始化IO口(控制灯,蜂鸣器,作为提示),初始化与外部中断有关寄存器EINT...
发表于 08-20 00:27 15次 阅读
为什么一退出外部中断程序就会重启?

请问大佬们,关于51单片机电源的问题

单片机的电源是不是经常与外围电路(电机什么的)分开,如果用同一个电源的话得用到什么芯片较好,稳定在5v(51的) ...
发表于 08-19 17:39 170次 阅读
请问大佬们,关于51单片机电源的问题

【VIP福利汇总】一网打尽,模电/单片机/电源/PCB/电赛资料汇总

开通VIP送资料活动已经进行了5期,包括PCB设计资料、电源资料、单片机资料、电赛资料、模电资料,内容涵盖电路、代码、教程...
发表于 08-19 15:42 214次 阅读
【VIP福利汇总】一网打尽,模电/单片机/电源/PCB/电赛资料汇总

ttl电平转换电路

第一例电路用了两个NPN三极管,我们先看单片机的发送,RS232的接收部分:当单片机的TXD输出高电....
的头像 发烧友学院 发表于 08-19 14:22 53次 阅读
ttl电平转换电路

电路板连接触摸屏,触摸屏无反应

电路板连接触摸屏,触摸屏无反应
发表于 08-19 14:14 94次 阅读
电路板连接触摸屏,触摸屏无反应

为什么嵌入式C语言中的size不等于所有成员size之和

结构体在C语言程序开发中,是不可或缺的语法。不过,相信不少C语言初学者遇到过这样的问题:为什么结构体....
发表于 08-19 11:50 20次 阅读
为什么嵌入式C语言中的size不等于所有成员size之和

嵌入式C语言中如何判断数据是否损坏

C语言中的结构体是非常有用的复合数据类型,正是有了结构体,C语言在描述复杂问题时才能够得心应手。
发表于 08-19 11:46 23次 阅读
嵌入式C语言中如何判断数据是否损坏

STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载

本文档的主要内容详细介绍的是STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载包括了:st....
发表于 08-19 08:00 8次 阅读
STC-ISP单片机下载编程烧录软件四个版本应用程序免费下载

如何利用MSP430F449设计数字频率计?

利用前置分频器SAB6456A和高速数字分频器74HC390的分频功能,结合新型的MSP430F449单片机,给出了一种新颖的、全自动...
发表于 08-19 07:32 55次 阅读
如何利用MSP430F449设计数字频率计?

如何下手补基于407的嵌入式系统基础知识?

以前就用c语言写过一些单片机小程序,我们老大都说我这是基础不行。。现在工作接触的什么内存管理,什么结构体啊简直是不知所云,...
发表于 08-18 22:45 35次 阅读
如何下手补基于407的嵌入式系统基础知识?

中颖单片机解释分享!

相信各位坛友看到这标题后,会产生疑问:中颖单片机是啥? 顾名思义,它就是一款单片机,是一款什么的单片机呢? 好吧,直接点...
发表于 08-18 19:41 91次 阅读
中颖单片机解释分享!

750KHZ下串口3.3V转5V波形问题求解释?

750K波特率 UART 串口3.3V转5V波形,当TX发高电平时,RX输出上升沿都是瞬间达到3.3V,然后再从3.3V慢慢升到5V。不...
发表于 08-18 00:59 185次 阅读
750KHZ下串口3.3V转5V波形问题求解释?

使用C语言进行单片机编程的基本知识点和编程规范资料总结

这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和....
的头像 玩转单片机 发表于 08-17 09:08 193次 阅读
使用C语言进行单片机编程的基本知识点和编程规范资料总结

STM8S105系列单片机的数据手册免费下载

STM8S105xx接入线8位微控制器提供16至32千字节的闪存程序存储器,以及集成的真数据EEPR....
发表于 08-16 17:37 60次 阅读
STM8S105系列单片机的数据手册免费下载

用Python做科学计算中文版PDF电子书免费下载

和Matlab不同,Python的科学软件包由众多的社区维护和发布,因此要一一将其收集齐安装到你的电....
发表于 08-16 08:00 32次 阅读
用Python做科学计算中文版PDF电子书免费下载

从C语言来分析Linux系统是如何创建的

许多操作系统都提供了专门的进程产生机制,比较典型的过程是:首先在内存新的地址空间里创建进程,然后读取....
发表于 08-15 17:09 50次 阅读
从C语言来分析Linux系统是如何创建的

复位电路的三种方式

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机....
的头像 发烧友学院 发表于 08-15 15:23 175次 阅读
复位电路的三种方式

从原理图到PCB设计的DS18B20的测温电路实例演示

对于经常与单片机打交道的人,Protues是经常使用的仿真软件,对于我们的设计帮助很大。从设计到PC....
发表于 08-14 17:42 76次 阅读
从原理图到PCB设计的DS18B20的测温电路实例演示

W5500全硬件TCP IP协议以太网控制器模块的用户手册免费下载

YIXIN_W5500以太网模块是一款基于WIZnet W5500芯片的以太网模块,是一款性能出色、....
发表于 08-14 16:56 67次 阅读
W5500全硬件TCP IP协议以太网控制器模块的用户手册免费下载

单片机入门视频教程之基本电路知识的详细资料说明

本文档的主要内容详细介绍的是单片机入门视频教程之基本电路知识的详细资料说明。
发表于 08-14 16:56 180次 阅读
单片机入门视频教程之基本电路知识的详细资料说明

使用STM32F4和FDC2214实现简单的纸张计数工程文件免费下载

本文档的主要内容详细介绍的是使用STM32F4系列单片机和FDC2214电容传感器芯片实现简单的纸张....
发表于 08-14 08:00 110次 阅读
使用STM32F4和FDC2214实现简单的纸张计数工程文件免费下载

Python标准库中文版PDF免费下载

五年前我偶然遇到了 Python, 开始了我的 Python 之旅, 我花费了大量的时间在 comp....
发表于 08-14 08:00 36次 阅读
Python标准库中文版PDF免费下载

单片机外围器件实用技术手册电源器件分册PDF电子书免费下载

《单片机外围器件实用手册:电源器件分册》(北京航空航天大学出版社。关德新。冯文全) PDF格式扫描版....
发表于 08-13 17:15 147次 阅读
单片机外围器件实用技术手册电源器件分册PDF电子书免费下载

干货 | 几种常用单片机之间的通信方式

串行接口的RAM在市场上很少见,不但难以买到而且价格很高。
的头像 电子工程技术 发表于 08-12 16:59 230次 阅读
干货 | 几种常用单片机之间的通信方式

MCU常用的C语言算法

算法(Algorithm):计算机解题的基本思想方法和步骤。
的头像 电子工程技术 发表于 08-12 15:00 250次 阅读
MCU常用的C语言算法

无线遥控灯具的结构及安装使用方法

无线遥控灯,由遥控部分和灯具部分组成。遥控和灯具上各由一块HT46单片机作为控制器,以NRF905无....
的头像 牵手一起梦 发表于 08-12 14:51 876次 阅读
无线遥控灯具的结构及安装使用方法

单片机的程序编写

MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对....
的头像 国科环宇 发表于 08-12 09:57 365次 阅读
单片机的程序编写

单片机的学习窍门分享

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。
的头像 中国标准化 发表于 08-12 09:53 301次 阅读
单片机的学习窍门分享

微控制器的分类及应用

MCU是Microcontroller Unit 的简称,中文叫微控制器,俗称单片机,是把CPU的频....
的头像 电子工程技术 发表于 08-12 09:45 161次 阅读
微控制器的分类及应用

如何使用C语言来完成SN8系列芯片的程序设计

Assembly(汇编)的历史已经有半个多世纪了,从计算机的发明那天开始,汇编就注定要与其结缘,它作....
发表于 08-12 08:00 51次 阅读
如何使用C语言来完成SN8系列芯片的程序设计

SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载

本文档的主要内容详细介绍的是SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载。 ....
发表于 08-12 08:00 36次 阅读
SN8F5702单片机的IO和定时器及PWM等学习资料合集免费下载

松翰单片机仿真器SN Link ISP V2.02应用程序免费下载

本文档的主要内容详细介绍的是松翰单片机仿真器SN Link ISP V2.02应用程序免费下载。
发表于 08-12 08:00 29次 阅读
松翰单片机仿真器SN Link ISP V2.02应用程序免费下载

DL-RTS1278M无线串口模块的数据手册免费下载

DL-RTS1278M是针对无线抄表、工业远程控制行业研发的一款高性能无线串口模块,其嵌入高速低功耗....
发表于 08-12 08:00 35次 阅读
DL-RTS1278M无线串口模块的数据手册免费下载

使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载

本文档的主要内容详细介绍的是使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载。
发表于 08-12 08:00 67次 阅读
使用LCD12864进行图片显示的C语言程序和工程文件资料合集免费下载

单片机最小系统的振荡电路原理分析

单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机....
的头像 玩转单片机 发表于 08-11 11:34 978次 阅读
单片机最小系统的振荡电路原理分析

单片机的“功耗”如何计算?

单片机的功耗是非常难算的,而且在高温下,单片机的功耗还是一个特别重要的参数。
的头像 电子工程技术 发表于 08-11 11:33 625次 阅读
单片机的“功耗”如何计算?

如何在单片机上实现卡尔曼滤波详细计算方法和程序概述

本文档的主要内容详细介绍的是如何在单片机上实现卡尔曼滤波详细计算方法和程序概述。
的头像 玩转单片机 发表于 08-11 11:23 358次 阅读
如何在单片机上实现卡尔曼滤波详细计算方法和程序概述

51单片机的keil配置方法

Compact的方式要自己通过程序来指定页的高位地址,编程比较复杂,如果外部RAM很少,只有256个....
发表于 08-10 10:28 87次 阅读
51单片机的keil配置方法

STC ISP单片机烧录软件下载程序不成功应该如何解决详细方法说明

本文档的主要内容详细介绍的是STC ISP单片机烧录软件下载程序不成功的多个解决详细方法说明资料免费....
发表于 08-09 17:17 81次 阅读
STC ISP单片机烧录软件下载程序不成功应该如何解决详细方法说明

你对于Java语言了解有多少

Java语言的语法与C语言和C++语别接特近,使得大多数程序员很容易学习和使用。
发表于 08-09 15:54 65次 阅读
你对于Java语言了解有多少

51系列中嵌入式单片机的优缺点分析

51系列是应用最广泛的单片机,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的....
发表于 08-08 11:14 135次 阅读
51系列中嵌入式单片机的优缺点分析

51单片机从入门到精通教程之单片机原理与接口技术的详细资料讲解

本篇共6章,主要介绍MCS-51系列单片机的基础知识,内容包括51系列单片机的发展概况、硬件结构、指....
发表于 08-08 08:00 180次 阅读
51单片机从入门到精通教程之单片机原理与接口技术的详细资料讲解

使用单片机进行智能寻迹小车的设计资料合集免费下载

本文档的主要内容详细介绍的是使用单片机进行智能寻迹小车的设计资料合集免费下载包括了:毕业设计论文,参....
发表于 08-08 08:00 105次 阅读
使用单片机进行智能寻迹小车的设计资料合集免费下载

TX-1C 51单片机开发板使用手册和使用ADC0804实现示波器的工程文件

本文档的主要内容详细介绍的是TX-1C 51单片机开发板使用手册和使用ADC0804实现LCD128....
发表于 08-08 08:00 93次 阅读
TX-1C 51单片机开发板使用手册和使用ADC0804实现示波器的工程文件

微机原理及接口技术的七个实验指导资料免费下载

本文档的主要内容详细介绍的是微机原理及接口技术的七个实验指导资料免费下载包括了:实验一 一个简单的微....
发表于 08-08 08:00 105次 阅读
微机原理及接口技术的七个实验指导资料免费下载

浅析单片机指令执行过程

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。
的头像 贸泽电子设计圈 发表于 08-07 14:47 204次 阅读
浅析单片机指令执行过程

单片机中,P0上拉电阻的阻值的选取何讲究?

由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供....
的头像 贸泽电子设计圈 发表于 08-07 14:23 181次 阅读
单片机中,P0上拉电阻的阻值的选取何讲究?

RAM在单片机中用途是什么?

单片机就是个小计算机,大计算机少不了的数据存储系统,单片机一样有,而且往往和CPU集成在一起,更加显....
的头像 贸泽电子设计圈 发表于 08-07 14:10 188次 阅读
RAM在单片机中用途是什么?

MSP430F5529开发板实验指导书和程序免费下载

MSP430F5529 是最新一代的具有集成 USB 的超低功耗单片机,可以应用于能量收集、无线传感....
发表于 08-07 08:00 152次 阅读
MSP430F5529开发板实验指导书和程序免费下载

NE555脉冲发生器的C语言程序和工程文件免费下载

本文档的主要内容详细介绍的是NE555脉冲发生器的C语言程序和工程文件免费下载 产生一定脉冲的方波。
发表于 08-07 08:00 63次 阅读
NE555脉冲发生器的C语言程序和工程文件免费下载

使用AVR单片机的I2C读取MPU6050发送到串口的程序免费下载

本文档的主要内容详细介绍的是使用AVR单片机的I2C读取MPU6050的数据发送到串口的程序免费下载....
发表于 08-06 16:39 144次 阅读
使用AVR单片机的I2C读取MPU6050发送到串口的程序免费下载

使用16位单片机和开关电容技术设计四阶低通椭圆程控滤波器

 本系统以凌阳16位单片机为控制核心,利用开关电容技术实现程控滤波的功能。前端放大器由运放和数字电位....
发表于 08-06 16:09 69次 阅读
使用16位单片机和开关电容技术设计四阶低通椭圆程控滤波器

单片机4大硬件加密方法解析

学会保护自己劳动成果很重要!
的头像 嵌入式资讯精选 发表于 08-06 15:16 205次 阅读
单片机4大硬件加密方法解析

干货 | 单片机编程设计需要好方法

高手都是练出来的
的头像 嵌入式资讯精选 发表于 08-06 14:28 197次 阅读
干货 | 单片机编程设计需要好方法

常用单片机通信方式综述

几种常用单片机之间的通信方式
的头像 嵌入式资讯精选 发表于 08-06 11:56 240次 阅读
常用单片机通信方式综述