标题: 小试成功 [打印本页]

作者: 长风电子    时间: 2015-10-27 20:59
标题: 小试成功
#include <reg52.h>
#define uchar  unsigned char
#define uint    unsigned int

const uchar LEDcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void delay_ms(uint t)
{
  uint m,n;
  for (m=0;m<t;m++)
   for (n=0;n<110;n++);

}
void MasterUART_init(void)
{
    SCON = 0x50;
    TMOD = 0x20;
    TH1  = 0xFD;
    TL1  = 0xFD;
    TR1  = 1;
ES   = 1;
   EA   = 1;
}

void MasterSendByte(uchar udat)
{
SBUF = udat;
while(!TI);
      TI = 0;
}

main()
{        uint i;
    MasterUART_init();
    while(1)
    {
      for(i=0;i<8; i++)
      {
         MasterSendByte(LEDcode[i]);
         P1=LEDcode[i];
         delay_ms(100);
      }
    }
}



从机

#include <reg52.h>
#define uchar  unsigned char
#define uint    unsigned int


void delay_ms(uint t)
{
  uint m,n;
  for (m=0;m<t;m++)
   for (n=0;n<100;n++);

}
void SlaveUART_init(void)
{
    SCON = 0x50;
    TMOD = 0x20;
    TH1  = 0xFD;
    TL1  = 0xFD;
    TR1  = 1;
    ES   = 1;
    EA   = 1;
}


main()
{
    SlaveUART_init();
    while(1);
}


void interrupt_uart() interrupt 4
{
   uchar temp;

    if(TI)
    {
        TI = 0;
        REN = 1;
    }
    if(RI)
    {

        temp = SBUF;
                  RI = 0;
        P1=temp;
        REN  = 1;
    }
}

这是正确的,,,,。。。。。



作者: wfz22    时间: 2015-10-28 20:10
加油加油
作者: PLA    时间: 2015-10-28 20:18
你这是什么呀,要说清楚,双机通信吗?

作者: 腾飞的龙    时间: 2015-10-31 14:37
单片机串口通信
作者: 腾飞的龙    时间: 2015-10-31 14:45
单片机和单片机串口通信。谢谢分享。
作者: huangqc    时间: 2015-11-9 00:00
很好呀
作者: wxk0526    时间: 2015-11-9 09:54
非常好,谢谢分享,楼主辛苦了
作者: koka    时间: 2015-11-9 16:39
可以可以
作者: chenggong999    时间: 2017-1-12 20:56
我也研究一下
作者: 夏天的风111    时间: 2017-1-13 11:00
学习一下楼主的方法,哈哈
作者: yrpc    时间: 2017-1-14 10:50
加油,加油!
作者: 夏天的风111    时间: 2017-1-14 16:07
楼楼会AT89c51的一个点阵显示么




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1