资源简介
基于两个at89c52之间的并行通讯,附电路图

代码片段和文件信息
//////////////////////////////////////////////////////////////////////////////////////////
//自定义通讯协议设置四个标记引脚分别为u1_outu1_in_over;u2_outu2_in_over表示通讯线路空闲
//u1_out为单片机1发送数据标记u1_in_over表示接收数据完毕由单片机1控制
//u2_out为单片机2发送数据标记u2_in_over表示接收数据完毕由单片机2控制
//最后为了以防传输时:当通讯线空闲时两个单片同时发送数据而造成的死机设置一个引脚为时间片
// time_patch.由单片机1控制time_patch = 0为单片机1发送时间片1为单片机2发送时间片
/////////////////////////////////////////////////////////////////////////////////////////
/*-------------单片机1---------------------*/
#include
#define uchar unsigned char
#define data_line P1
#define data_try P2
sbit u1_out = P3^0;
sbit u1_in_over = P3^3;
sbit u2_in_over =P3^4;
sbit time_patch = P3^5;
uchar temp;
void nop(void){}
void delayMs (uchar ms)
{
uchar i;
while (--ms)
{
for (i = 0; i < 125; i++);
}
}
void get_data(void) interrupt 0
{
EX0 = 0;
data_line = 0xff; //初始化引脚
nop();
temp = data_line;
u1_in_over = 1;//接收完毕
nop();
u1_in_over = 0;
data_try = temp;
EX0 = 1;
}
void tp(void) interrupt 1
{
time_patch =~time_patch;
TH0 = 0xfe;TL0= 0x0c;
}
void send_data(uchar ch)
{
while(u1_out);//等待总线空闲
while(time_patch);//等待时间片的到来
u1_out = 1;
data_line = 0xff;
nop();
data_line = ch;
while(u2_in_over);//等待U2接收完毕
u1_out = 0;
}
void main(void)
{
uchar ii;
ET0 = 1;EX0 = 1;EA=1;
IT0 = 1;
TMOD = 0x01;
TH0 = 0xfe;TL0= 0x0c;
TR0 = 1;
u1_out = 0; u1_in_over = 0;
for(ii = 0;ii<255;ii++)
{send_data(ii);
delayMs(50);
}
send_data(ii);
while(1);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 6376 2009-08-30 18:27 单片机通讯(并行-半双工)\单片机1\STARTUP.A51
文件 3966 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1
文件 1745 2009-08-30 20:45 单片机通讯(并行-半双工)\单片机1\U1.c
文件 486 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1.hex
文件 36 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1.lnp
文件 3832 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1.LST
文件 6021 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1.M51
文件 4402 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机1\U1.OBJ
文件 1008 2009-08-30 20:45 单片机通讯(并行-半双工)\单片机1\U1.Opt
文件 6436 2009-08-30 20:47 单片机通讯(并行-半双工)\单片机1\U1.plg
文件 2095 2009-08-30 20:45 单片机通讯(并行-半双工)\单片机1\U1.Uv2
....... 1008 2009-08-30 20:41 单片机通讯(并行-半双工)\单片机1\U1_Opt.Bak
....... 2095 2009-08-30 20:40 单片机通讯(并行-半双工)\单片机1\U1_Uv2.Bak
....... 6376 2009-08-30 18:27 单片机通讯(并行-半双工)\单片机2\STARTUP.A51
文件 3361 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2
文件 1589 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.c
文件 393 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.hex
文件 36 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.lnp
文件 3480 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.LST
文件 5282 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.M51
文件 3722 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.OBJ
文件 967 2009-08-30 20:42 单片机通讯(并行-半双工)\单片机2\U2.Opt
文件 4234 2009-08-30 20:47 单片机通讯(并行-半双工)\单片机2\U2.plg
....... 2095 2009-08-30 18:27 单片机通讯(并行-半双工)\单片机2\U2.Uv2
....... 966 2009-08-30 20:30 单片机通讯(并行-半双工)\单片机2\U2_Opt.Bak
....... 2095 2009-08-30 18:27 单片机通讯(并行-半双工)\单片机2\U2_Uv2.Bak
文件 66587 2009-08-30 19:43 单片机通讯(并行-半双工)\电路\Last Loaded U1&U2.DBK
文件 66587 2009-08-30 20:29 单片机通讯(并行-半双工)\电路\U1&U2.DSN
文件 1052 2009-08-30 20:47 单片机通讯(并行-半双工)\电路\U1&U2.PWI
目录 0 2009-08-30 20:45 单片机通讯(并行-半双工)\单片机1
............此处省略6个文件信息
- 上一篇:傅立叶描述子 提取边界特征
- 下一篇:清华大学校园地图高清3D版本
相关资源
- delphi 串口通讯
- Omron ETN21模块进行modbustcp通讯
- modbus通讯协议详解
- NRF24L01实现51与STM32双向通讯
- 数据库VFP课程设计
- 单片机与PC机串口通讯仿真
- DSP与PC通讯的几种方法
- C 实现的即时通讯工具源码
- 数据结构课程设计同学通讯录系统
- 基于三菱PLC-松下A6伺服485通讯-读编码
- 西门子smart200 485通讯有注释.smart
-
NModbus4 通讯类库(fr
amework4.5版本) - 西门子S7-1200 MODBUS-TCP通讯编程
- smart和labview通讯(smart_connet.vi)
- 台达PLC与485温控仪通讯
- AB PLC 通讯协议
- PLC通讯与接口
- 欧姆龙PLC与上位机通讯共享库
- plc通讯测试.doc
- 200PLC与电表自由口通讯程序.mwp
- 用Verilog语言写的CPLD和MCU通讯的SPI接口
- 中兴通讯IP over WDM解决方案
- 水资源监测数据通讯规约SZY206-2016.p
- 3G展力促融合中兴通讯推IMS解决方案
- 中兴通讯推IMS解决方案
- 三菱Q系列 EIP功能模块--CIM通讯
- 三菱PLC的专用通讯协议的485通讯
- FX3U 以太网通讯开发 MC协议
- modbus通讯,用DELPHI编写
- 中兴通讯电信短消息服务SMS应用
评论
共有 条评论