• 大小: 64.07 KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-08-21
  • 语言: 其他
  • 标签: 多机  通信  proteus  rs232  

资源简介

已经测试过··无错··
1主机 3个从机 实现多机通信···

资源截图

代码片段和文件信息


#include “PMPDataR.h“

unsigned char zu[]={0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8d};
/* 延时t毫秒 */
void delay(uint t)
{
uint i;
while(t--)
{
/* 对于11.0592M时钟,约延时1ms */
for (i=0;i<125;i++)
{}
}


/* 发送数据函数 */
uchar recvdata()
{

/* 接收数据 */
while(!RI);
if (RB8==1)
return 0xee; // 若接收的为地址帧,则返回0xee
buf = SBUF;
RI = 0;
return 0; // 返回0
}

/* 串口初始化函数 */
void init_serial()
{
TMOD = 0x20; // 定时器T1使用工作方式2
TH1 = 250;
TL1 = 250;
TR1 = 1; // 开始计时
PCON = 0x80; // SMOD = 1
SCON = 0xd0; // 工作方式,9位数据位,波特率9600kbit/s,允许接收 
}

/* 主程序 */
void main()

uchar i = 0;
uchar tmp = 0xff;
P1= 0xff;
addr = P1&0x0f; // 获取本机地址
P23 = 1; // 发光管不亮

init_serial(); // 串口初始化 

EA = 1; // 关闭所有中断

/* 进入设备应答 */
while(1)
{
SM2 = 1; // 只接收地址帧

/* 如果接收到的地址帧不是本机地址,则继续等待 */
while (tmp!=addr)
{
RI = 0;
while(!RI)
tmp = SBUF;
RI = 0;
}
SM2 = 0; // 允许接收数据

/* 数据接收 */
       tmp = recvdata();
   //if(buf!=0x00)
    
if (tmp==0x00)
{  
         P0=buf;
/* 绿灯亮,持续500ms,表示接收数据成功 */
P23 = 0;
delay(30);
P23 = 1;

}     
// 如果接收数据时发现地址帧,则重新开始整个接收过程
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     135373  2007-11-05 01:06  多机通信\dj.DSN

     文件       1982  2008-10-15 16:26  多机通信\dj.PWI

     文件     141943  2007-11-05 00:54  多机通信\Last Loaded dj.DBK

     文件       1461  2007-11-22 14:37  多机通信\proc\PMPDataR.c

     文件        430  2007-11-22 14:37  多机通信\proc\PMPDataR.h

     文件       4853  2007-11-05 01:16  多机通信\proc\PMPDataR.LST

     文件       5759  2007-11-05 01:16  多机通信\proc\PMPDataR.OBJ

     文件       5517  2007-11-05 01:16  多机通信\proc\PMPDataRPro

     文件        924  2007-11-05 01:16  多机通信\proc\PMPDataRPro.hex

     文件         51  2007-11-05 01:16  多机通信\proc\PMPDataRPro.lnp

     文件       5938  2007-11-05 01:16  多机通信\proc\PMPDataRPro.M51

     文件       1883  2008-08-31 14:41  多机通信\proc\PMPDataRPro.Opt

     文件        199  2008-08-31 14:41  多机通信\proc\PMPDataRPro.plg

     文件       2154  2008-08-31 05:38  多机通信\proc\PMPDataRPro.Uv2

    .......      1885  2008-08-31 05:38  多机通信\proc\PMPDataRPro_Opt.Bak

     文件       3031  2007-11-05 01:17  多机通信\proc\PMPDataT.c

     文件        563  2007-11-03 17:39  多机通信\proc\PMPDataT.h

     文件       9379  2007-11-05 01:09  多机通信\proc\PMPDataT.LST

     文件       7577  2007-11-05 01:09  多机通信\proc\PMPDataT.OBJ

     文件       6781  2007-11-05 01:09  多机通信\proc\PMPDataTPro

     文件       1090  2007-11-05 01:09  多机通信\proc\PMPDataTPro.hex

     文件         51  2007-11-05 01:09  多机通信\proc\PMPDataTPro.lnp

     文件       9371  2007-11-05 01:09  多机通信\proc\PMPDataTPro.M51

     文件       1126  2008-08-31 14:30  多机通信\proc\PMPDataTPro.Opt

     文件        225  2008-08-31 14:30  多机通信\proc\PMPDataTPro.plg

     文件       2154  2008-08-31 05:39  多机通信\proc\PMPDataTPro.Uv2

    .......      1725  2008-08-31 05:39  多机通信\proc\PMPDataTPro_Opt.Bak

     目录          0  2008-08-31 14:41  多机通信\proc

     目录          0  2009-04-26 13:12  多机通信

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论