单片机双机通讯试验

发布者:蓝天飞行最新更新时间:2012-10-20 来源: 21ic 关键字:单片机  双机通讯 手机看文章 扫描二维码
随时随地手机看文章
实验名称:双机通讯
 
实验目的:熟悉单片机串行口工作原理;掌握通信程序设计的一般方法
 
实验要求:按照实验安排准时参加实验,按照实验步骤操作,仔细观察及记录实验过程及结果,回答实验相关问题,最终根据实验结果撰写实验指导书。
 
实验内容:编写一个双机通信程序,一个作为主机,一个作为从机,主机对从机发送控制命令,当主机发送turn on 时,从机如果接收正确,则向主机发送on用于应答,并使LED灯亮(从机任选1LED灯来控制),当主机发关turn off 时,从机如果接收正确,则使LED 灯灭。如果不是这两个命令,则从机向主机发送error作为应答。
 
实验步骤:
1、连接两台单片机开发板的串行通信线,注意共地连接
2、设定A机为发送方
3、设定B机为接收方
4、设定双方接收与发送波特率
5、各自编制收发程序
6、发送数据调试
录入程序:
#include
/*命令定义*/
#define TurnOn  1
#define TurnOff 2
/*应答定义*/
#define On      3
#define Off     4
#define Error     4
/////////////////显示
sbit k1=P1^3;/*第1位数码管共阴端*/
sbit k2=P1^2;/*第2位数码管共阴端*/
sbit k3=P1^1;/*第3位数码管共阴端*/
sbit k4=P1^0;/*第4位数码管共阴端*/

unsigned char rd=0;//串口数据接收暂存变量
 
void RxdInterrupt() interrupt 4 using 2//串口中断函数
   {
           rd=SBUF;//接收数据存储到变量rd
           if(rd==TurnOn)//是亮灯命令
           {
               P0=255;//LED亮
               SBUF=On;//应答On
               while(TI==0);TI=0; //等待发送完毕
              }
           else if(rd==TurnOff)//是关灯命令
              {
               P0=0;//LED灭
               SBUF=Off;//应答Off
               while(TI==0);TI=0; //等待发送完毕
               }
          else 
            {
               SBUF=Error;//应答Off
               while(TI==0);TI=0; //等待发送完毕
            }
           
    
         
     
     RI=0;
    }
void InitEs()//串口初始化函数
{
   TMOD=0x21;   
   TH1=0xF3;//波速率设置为2400
   
   TR1=1; 
   SCON=0XD0; 
   ES=1;//串口中断允许
}
  
main()
{
   InitEs();//串口初始化
   EA=1;  
   
  k1=k2=k3=k4=0;//关闭数码管
  P0=0;//LED灭
  while(1)
    {
     }
} 

程序参考及鸣谢:我在网上认识了一个网名为苏工的网友,我不知道他真名,但是人很好,我把问题咨询过他了。虽然对单片机用c程序编程,我很生疏,因为以往我的菜鸟级编程都是汇编语言,但是,他给我解释C程序很详细,我略有小知,很感谢苏工,所以在这个实验报告引用了他的脑力劳动成果,并且在这里谢谢苏工对我的指教。同样感谢单片机鲜浩老师,对我单片机课程细致的传授,使我产生浓厚兴趣的同时真真切切的感受到学习单片机的快乐和运用智慧操纵机器的兴奋。不知道以往实验报告的学生有没有我这一则小叙,但是对别人劳动成功的肯定,我认为是我们对待知识的尊重。参考网址:http://www.51hei.com/mcu/791.html 
 
实验结果:主机对从机发送控制命令,当主机发送turn on 时,从机如果接收正确,则向主机发送on用于应答,并使LED灯亮(从机任选1LED灯来控制),当主机发关turn off 时,从机如果接收正确,则使LED 灯灭。如果不是这两个命令,则从机向主机发送error作为应答。
关键字:单片机  双机通讯 引用地址:单片机双机通讯试验

上一篇:MC9S12UF32的嵌入式文件系统数据存储模块
下一篇:STC单片机的下载接口

推荐阅读最新更新时间:2024-03-16 13:10

利用16C554实现主从式单片机远距离通信扩展
    摘要: 通过16C554完成上位主机对多台MODEM的控制,利用背靠背连接实现主机与下位机的远距离通信。该系统已成功地用于城市交通路口的信息传输。     关键词: MODEM 单片机系统 16C554 通信 引言 在交通路口的红绿灯控制系统中,需要将各器口车流量、车速等状态信息时传到主控室,另外,上位主机随时可能下发各种道路控制信息。这种远距离通信常通过MODEM以点对点的方式进行。常用MODEM通信链路的连接方式有两种。第一种是通过电话以拨号方式完成通信链接。采用这种方式,上位主机与各路口机的距离可无限远,但缺点是每个路口占用1个电话号。由于主机与路口机的通信是频繁的,若不采用专线电话,则难以保
[应用]
MCS-51单片机的结构及特点
单片机(MICROCONTROLLER,又称微控制器)是在一块硅片上集成了各种部件的微型机算计,这些部件包括中央处理器CPU、数据存贮器RAM、程序存贮器ROM、定时器/计数器和多种I/O接口电路。 MCS-51单片机的基本结构如图所示。 51系列单片机结构特点: l 8位CPU; l 片内振荡器及时钟电路; l 32根I/O线; l 外部存贮器寻址范围ROM、RAM各64K; l 3个l6位的定时器/计数器; l 5个中断源,2个中断优先级; l 全双工串行口; l 布尔处理器。
[单片机]
MCS-51<font color='red'>单片机</font>的结构及特点
51单片机两种减法指令的用法介绍
1.带借位减法指令 SUBBA,Rn;(A)(A)-(Rn)-(C),以下类同。 SUBBA,direct SUBBA,@Ri SUBBA,#data 注意:减法之前先清零C,减法指令无不带借位减法指令。 2.减1指令 DECA;(A)(A)-1,以下类同。 DECRn DEC@Ri DECdirect 例、设(R0)=7FH,在内RAM中,(7EH)=00H,(7FH)=40H 执行:DEC@R0 DECR0 DEC@R0 结果为: (R0)= 7EH,(7EH)=0FFH,(7FH)=3FH。
[单片机]
PIC单片机调试总结
使用编程环境:MPLAB X IDE V3.40 单片机:p33FJ64GS606 仿真器:pickit3 问题:断点无法解析为有效的程序存储器地址,及仿真无法设置断点,看不了watch窗口变量。 解决方法:文件不能有中文路径。
[单片机]
单片机控制红外编码探测障碍物
1 探测障碍的原理 在室内自动感知障碍的设备中,常使用红外线探测障碍物的存在与否。探测的基本原理是:在测量的范围内,主动向探测方向发射红外信号,如果存在障碍物,就会把发射的信号反射回发送端。在发送端,如果收到反射的信号,就确认障碍物的存在。 但是在实际应用中,红外干扰源较多;而且在有反射光的情况下,由于光线的干扰,很容易判断失误,出现虚警。因此,有些设备在发射信号时,改进为发送一串连续的红外脉冲,然后接收反射的信号。如果接收到的红外脉冲数量超过某一门限值时,就判断障碍存在。这种方法尽管在一定程度上可以降低虚警率,但实验表明,在较强的反射光和使用电子镇流器方式的日光灯起辉时,仍很容易出现干扰现象。 本文提出解决干扰的方案是:由
[应用]
(ST)全球性能最强的Cortex™-M微控制器打破行业基准评测性能记录
横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)宣布,采用Green Hills软件公司最新软件工具独立进行的处理器性能评测证实,STM32 F4系列是迄今全球性能最高的ARM® Cortex™-M微控制器。 在行业基准CoreMark™评测 中,Green Hills软件公司的2012版编译器让STM32 F4系列多释放出29%的性能。CoreMark测试成绩用单一数字表示,以便设计人员比较不同品牌的处理器。这个创新高的CoreMark得分让工程师对STM32 F4系列微控制器更有信心,为他们选择业界性能最高的Cortex-M微控制器,能够满足
[单片机]
pic单片机程序设计的基本方法解析
pic单片机在学习和工作中均扮演着重要角色,在往期文章中,小编曾对pic单片机汇编指令加以介绍,以帮助大家更好掌握pic单片机。而在本文中,将介绍pic单片机程序设计内容,以助大家写出更为优美的pic单片机程序,主要内容如下。 1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 ORG ——地址定义伪指令 PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为: PIC16C54/55:1FFH PIC16C56:3FFH PIC16C57/58:7FFH 一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里
[单片机]
pic<font color='red'>单片机</font>程序设计的基本方法解析
51单片机控制步进电机硬件连接部分
1、概要: 本案例讲解的内容是51单片机控制步进电机硬件连接部分。后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 2、功能原理图: 2.1、51单片机: ①输出脉冲到TB6600驱动器PUL端口,从而控制步进电机转动 ②控制TB6600驱动器ENA端口,从而控制步进电机使能 ③控制TB6600驱动器DIR端口,从而控制步进电机转动方向 2.2、步进电机: ①提供机械动力 2.3、稳压电源: ①为步进电机提供电源 2.4、TB6600驱动器: ①二相四线步进电机专用驱动器 3、实物图: ** ①** 、51****单片机控制板一个 ** ②** 、二相四线步进电机一个 ** ③** 、稳压电源一个 ** ④** 、
[单片机]
51<font color='red'>单片机</font>控制步进电机硬件连接部分
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved