multipoint_data_transmission.rar

  • zhuoyue0407
    了解作者
  • C/C++
    开发工具
  • 36KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2009-08-20 10:47
    上传日期
单片机实现点对多点的数据传输,初学者有很到的帮助。
multipoint_data_transmission.rar
  • 单片机实现点对多点的数据传输
  • 电路原理图
  • PMPDATAT.SCH
    10.5KB
  • PMPDATAR.SCH
    14.9KB
  • PROC
  • PMPDATARPRO.OPT
    1.3KB
  • PMPDATATPRO_OPT.BAK
    1.3KB
  • PMPDATATPRO
    6.5KB
  • PMPDATAR.C
    2.7KB
  • PMPDATAT.H
    559B
  • PMPDATARPRO.LNP
    51B
  • PMPDATARPRO_OPT.BAK
    1.3KB
  • PMPDATATPRO.UV2
    1.9KB
  • PMPDATAT.OBJ
    7KB
  • PMPDATAR.OBJ
    7.1KB
  • PMPDATARPRO.PLG
    394B
  • PMPDATARPRO.M51
    8KB
  • PMPDATAR.H
    600B
  • PMPDATARPRO_UV2.BAK
    1.9KB
  • PMPDATATPRO.OPT
    1.3KB
  • PMPDATATPRO.M51
    7.4KB
  • PMPDATATPRO_UV2.BAK
    1.8KB
  • PMPDATATPRO.PLG
    394B
  • PMPDATAT.C
    2.1KB
  • PMPDATARPRO.UV2
    1.9KB
  • PMPDATATPRO.LNP
    51B
  • PMPDATAR.LST
    7.7KB
  • PMPDATARPRO
    6.8KB
  • PMPDATAT.LST
    6.1KB
内容介绍
/*****************************************/ /* Copyright (c) 2005, 通信工程学院 */ /* All rights reserved. */ /* 作 者:戴 佳 */ /*****************************************/ #include "PMPDataR.h" /* 延时t毫秒 */ void delay(uint t) { uint i; while(t--) { /* 对于11.0592M时钟,约延时1ms */ for (i=0;i<125;i++) {} } } /* 发送数据函数 */ uchar recvdata(uchar *buf) { uchar i,tmp; uchar len; // 保存数据长度 uchar ecc; // 保存校验字节 /* 接收数据长度字节 */ RI = 0; while(!RI); if (RB8==1) return 0xee; // 若接收的为地址帧,则返回0xee len = SBUF; RI = 0; /* 使用len的值为校验字节ecc赋初值 */ ecc = len; /* 接收数据 */ for (i=0;i<len;i++) { while(!RI); if (RB8==1) return 0xee; // 若接收的为地址帧,则返回0xee *buf = SBUF; ecc = ecc^(*buf); // 进行字节校验 RI = 0; buf++; } *buf = 0; // 表示数据结束 /* 接收校验字节 */ while(!RI); if (RB8==1) return 0xee; // 若接收的为地址帧,则返回0xee tmp = SBUF; RI = 0; /* 进行数据校验 */ ecc = tmp^ecc; if (ecc!=0) // 如果校验错误 { *(buf-len) = 0; // 清空数据缓冲区 /* 发送校验错误信号ERR */ TI = 0; TB8 = 0; SBUF = ERR; while(!TI); TI = 0; return 0xff; // 返回0xff表示校验错误 } /* 发送校验成功信号SUCC */ TI = 0; TB8 = 0; SBUF = SUCC; while(!TI); TI = 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; addr = P1&0x0f; // 获取本机地址 P20 = 1; // 发光管不亮 init_serial(); // 串口初始化 EA = 0; // 关闭所有中断 /* 进入设备应答 */ while(1) { SM2 = 1; // 只接收地址帧 /* 如果接收到的地址帧不是本机地址,则继续等待 */ tmp = addr-1; while (tmp!=addr) { RI = 0; while(!RI) tmp = SBUF; RI = 0; } /* 发送本机地址作为应答信号,准备接收数据 */ TI = 0; TB8 = 0; // 主机不检测该位 SBUF = addr; while(!TI); TI = 0; SM2 = 0; // 允许接收数据 /* 数据接收 */ tmp = 0xff; while(tmp==0xff) // 如果校验失败则重新接收数据 { /* 校验失败返回0xff,检测到地址帧则返回0xee,接收成功返回0 */ tmp = recvdata(buf); } if (tmp==0x00) // 校验正确,表示接收成功 { /* 绿灯亮,持续500ms,表示接收数据成功 */ P20 = 0; delay(500); P20 = 1; } // 如果接收数据时发现地址帧,则重新开始整个接收过程 } }
评论
    相关推荐
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路
    • VHDL 的实例程序,共44个.rar
      经典VHDL 的实例程序,共44个!要下载的尽快
    • USBtoRS232Driver.rar
      USB转串口驱动程序,可以用在笔记本电脑上,方便的通过串口给单片机下载程序!
    • 模糊控制程序.rar
      模糊PID控制程序的源码,是作业,有讲解,
    • 串口编程源代码.rar
      这是本人最近几年所编写的串行通讯的代码集,可以供大家参考学习。
    • DELTA_PLC.rar
      台达PLC Modbus协议通信dll com控件
    • hongwaigooog.rar
      单片机红外遥控最全的资料,包含很多当前电视遥控专用芯片的解码方式,C语言和汇编语言编写的解码范例程序,看完了你就会了!
    • MF500绝密.rar
      非接触式IC卡开发板源程序,包括原理图/PCB图;源程序在KEIL环境下编译,打开压缩包后直接点击PRJ文件,即可编译使用。 这是个保密文件,做Mifare one卡开发人基本上都用过到这个源代码。
    • 20078251299410.rar
      C51实用程序(45个) I/O、定时器、中断、看门狗、计数器、软件AD、VB串口、93c06驱动、24c02系列驱动、7219、20045、软件陷阱、串口中断、码值转换、AVR通讯、IIC、DS1302、DS1820、SPI、1602、12232、12864、T6963、1330、PC键、键盘输入法、智能化、飞机游戏、贪吃蛇、多级菜单实例等
    • mcudesign.rar
      单片机设计,毕业设计 16×16点阵(滚动显示)论文+程序 cdma通信系统中的接入信道部分进行仿真与分析 LED显示屏动态显示和远程监控的实现 MCS-51单片机温度控制系统 USB接口设计 毕业设计(论文)OFDM通信系统基带数据 仓库温湿度的监测系统 单片机串行通信发射机 单片机课程设计__电子密码锁报告 单片机控制交通灯 电动智能小车(完整论文 电气工程系06届毕业设计开题报告 电信运营商收入保障系统设计与实现 电子设计大赛点阵电子显示屏(A题 电子时钟 火灾自动报警系统设计 基于GSM短信模块的家庭防盗报警系统 基于GSM模块的车载防盗系统设计 TC35i 资料 基于网络的虚拟仪器测试系统 门控自动照明电路 全遥控数字音量控制的D类功率放大器 数控直流稳压电源完整论文 数字密码锁设计 数字抢答器(数字电路) 数字时钟 水箱单片机控制系统 同步电机模型的MATLAB仿真 温度监控系统的设计 用单片机控制直流电机 用单片机实现温度远程显示 智能家用电热水器控制器 智能型充电器电源和显示的设计 自动加料机控制系统