原创 单片机基础教程(AT89C51)--串行通信

2008-12-1 23:36 6870 6 12 分类: 模拟

        今天我们来开始单片机的通信实验。我们知道,单片机的通信接口是RXD(接收端)和TXD(发送端),要实现两个单片机的通信,只要将两个单片机的RXD和TXD交叉连接就可以了(一个单片机的RXD接另一个单片机的TXD,TXD接另一个单片机的RXD)。


点击看大图


 


        好了,硬件连接就这么简单。现在我们开始写程序吧。要完成个什么任务呢?就用一个单片机做主机向另一个单片机发信息,用主机单片机控制从机的发光二极管亮吧。


        首先必须规定一下:当主机的按键1按下的时候,发送0x41给从机(刚然,你爱规定成什么就规定成什么),而从机呢,只要收到0x41就让第一个发光二极管亮;当主机的按键2按下是,就发送0x42给从机,从机只要收到0x42就使第二个放光二极管亮;以此类推,总共四个按键,控制从机的四个二极管。


        下面开始编程吧,先写主机(发送方)的程序,当然也是从查询开始:


#include <reg51.h>


#define S1 P2^4
#define S2 P2^5
#define S3 P2^6
#define S4 P2^7


void SCI_Init()
{
      TMOD="0x20";
   TH1=0xE8;
   TL1=0xE8;
   PCON="0x00";
   TR1=1;
  
   SCON="0x50";


}
void main()
{
     SCI_Init();
    for(;;)
  {
         if(S1==0)
         {
              SBUF=0x41;
              while(TI==0);
              TI="0";
         }
         else if(S2==0)
        {
              SBUF="0x42";
              while(TI==0);
              TI=0;
        }
        else if(S3==0)
        {
              SBUF="0x43";
              while(TI==0);
              TI="0";
        }
        else  if(S4==0)
       {
              SBUF=0x44;
              while(TI==0);
              TI="0";
        }
         else
         {
                SBUF="0x45";
                while(TI==0);
                TI=0;
          }
   }


}


未完,待续……

PARTNER CONTENT

文章评论6条评论)

登录后参与讨论

Cybershu 2009-3-14 14:20

哪些引号是不是多余了?

用户405314 2008-12-22 22:23

怎么看到文章下面的部分?

用户160720 2008-12-22 22:20

hao!~

用户1400901 2008-12-8 14:09

thanks

用户1532875 2008-12-6 12:12

虽然是老掉牙的话题,但还是支持一下博主的分享精神.

用户518079 2008-12-2 17:12

相关推荐阅读
用户767405 2014-06-17 08:42
自制喷漆机器人【涂覆机】【图】
  市场上的涂覆机设备 因为最近有涂覆三防漆的需求,而市场上现成的涂覆设备比较昂贵,可能需要十几万到几十万。我初步想,应该...
用户767405 2012-05-05 15:03
多功能触摸屏红外线遥控器
    图1 ...
用户767405 2011-08-06 19:28
温度PID系统整定过程
   在两年多以前,我写了一篇关于如何整定PID的小文章,收到不少的朋友给我发E-mail,讨论关于PID参数整定的问题。今天刚好有一个小小的项目,需要整定PID参数,我们再用原来的方法,来做一遍,看...
用户767405 2011-06-20 08:44
光伏供电系统配置软件
光伏系统计算软件,适合太阳能路灯等系统: 点击这里去下载...
用户767405 2010-11-09 09:32
【原创软件】16进制-10进制批量转换工具
张彦欣单片1.电子工程师经常需要使用串口获得现场的一些数据用于分析.而一般的串口助手软件获得的数据都是16进制的,这不利于直观的分析或是绘制图形.张彦欣单片机在这种情况下写了这个进制转换工具.2.数据...
用户767405 2010-11-09 09:19
【原创软件】描点绘图软件
    在工程应用中,我们经常需要将上位机采集到的结果绘制出图形来,这就需要一个数据绘图软件。而当前工程师手中很少有这样的合适软件。为此,张彦欣单片机写了一个较简单实用的描点绘图软件。而且,这个软件是...
我要评论
6
6
关闭 站长推荐上一条 /3 下一条