资源简介
基于51单片机多节点RS485通信(带Protues仿真),KeilC开发,C代码,Pretues仿真,RS485的DATASHEET都有,对于学习RS485通信,最好的参考资料。

代码片段和文件信息
#include
#include
#include
#define uchar unsigned char
unsigned char serial_receiver;
#define uint unsigned int
uchar table0;
uchar table1=0x01;
uchar table2=0x0f;
sbit P3_5=P3^5;
uchar flag=0;
void delayms(uint t)
{
uint i;
uint j;
for(i=0;i for(j=0;j<125;j++);
}
/****************************************
串行口中断子程序
****************************************/
void send1 (void)
{
ES=0;
RI=0;
P3_5=1; //将487控制端置位准备好发送
SM2=0; //将数据发送控制位置0
P1=table1;//将要发送的数据显示在P1口
TB8=0;
SBUF=table1;//发送数据
while(TI!=1);TI=0;//等待并判断数据发送完毕
SM2=1;//将数据地址控制位置1为接收地址做准备
ES=1; //开中断
P3_5=0;//将487设置为接收模式
delayms(1000);
P1=0x00;
}
void send2 (void)
{
ES=0;
RI=0;
P3_5=1; //将487控制端置位准备好发送
SM2=0; //将数据发送控制位置0
TB8=0;
P1=table2;//将要发送的数据显示在P1口
SBUF=table2;//发送数据
while(TI!=1);TI=0;//等待并判断数据发送完毕
SM2=1;//将数据地址控制位置1为接收地址做准备
ES=1; //开中断
P3_5=0;//将487设置为接收模式
delayms(1000);
P1=0x00;
}
void serial (void) interrupt 4 using 1
{
ES=0;
RI=0;
SM2=1;
table0=SBUF;
if(RB8)
{
if(table0==0x01)send1();
if(table0==0x02)send2();
}
ES=1; //开中断
}
/*****************主程序******************/
void main(void)
{
P1=0x00;
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;
PCON=0x00;
TR1=1;
SCON=0xf0;
EA=1;
ES=1;
P3_5=0;
P2=0X00;
while(1)
{
//
_nop_();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5712 2011-03-09 15:09 rs485通信\dizhi1#
文件 1690 2011-03-09 14:44 rs485通信\dizhi1#.c
文件 999 2011-03-09 15:09 rs485通信\dizhi1#.hex
文件 31 2011-03-09 15:09 rs485通信\dizhi1#.lnp
文件 4790 2011-03-09 15:09 rs485通信\dizhi1#.LST
文件 6851 2011-03-09 15:09 rs485通信\dizhi1#.M51
文件 6090 2011-03-09 15:09 rs485通信\dizhi1#.OBJ
文件 988 2011-03-09 15:09 rs485通信\dizhi1#.Opt
文件 1808 2011-03-09 15:09 rs485通信\dizhi1#.plg
文件 2145 2011-03-08 13:58 rs485通信\dizhi1#.Uv2
文件 986 2011-03-08 19:28 rs485通信\dizhi1#_Opt.Bak
文件 1992 2007-10-27 05:04 rs485通信\dizhi1#_Uv2.Bak
文件 5712 2011-03-09 14:44 rs485通信\dizhi2#
文件 1678 2011-03-09 14:44 rs485通信\dizhi2#.c
文件 999 2011-03-09 14:44 rs485通信\dizhi2#.hex
文件 31 2011-03-09 14:44 rs485通信\dizhi2#.lnp
文件 4757 2011-03-09 14:44 rs485通信\dizhi2#.LST
文件 6851 2011-03-09 14:44 rs485通信\dizhi2#.M51
文件 6090 2011-03-09 14:44 rs485通信\dizhi2#.OBJ
文件 986 2011-03-09 15:10 rs485通信\dizhi2#.Opt
文件 1648 2011-03-09 15:10 rs485通信\dizhi2#.plg
文件 2145 2011-03-08 13:58 rs485通信\dizhi2#.Uv2
文件 988 2011-03-08 19:28 rs485通信\dizhi2#_Opt.Bak
文件 1992 2007-11-12 00:05 rs485通信\dizhi2#_Uv2.Bak
文件 5788 2011-03-09 14:42 rs485通信\dizhi3#
文件 1690 2011-03-09 15:10 rs485通信\dizhi3#.c
文件 1005 2011-03-09 14:42 rs485通信\dizhi3#.hex
文件 31 2011-03-09 14:42 rs485通信\dizhi3#.lnp
文件 4783 2011-03-09 14:42 rs485通信\dizhi3#.LST
文件 6886 2011-03-09 14:42 rs485通信\dizhi3#.M51
............此处省略41个文件信息
相关资源
- C51单片机技术教程(304页)
- C51单片机交通
- 单片机电子密码锁
- 51单片机数码管四层电梯模拟系统
- 基于51单片机的温控系统
- rs485通信双工,可直接用,波特率可达
- 51单片机protues文件(KST-51.DSN)
- 51单片机交通灯设计
- 基于51单片机的简易计算器
- 基于51单片机多路超声波报警设计
- 51单片机红外智能小车
- qt上位机采集51单片机温湿度数据
- 基于51单片机射频RFID卡考勤上课上班
- 基于51单片机的888光立方设计.rar
- 51单片机DS18B20温度计C语言程序附详解
- 郭天祥51单片机C语言教程配套光盘
- 新概念51单片机C语言教程第2版郭天祥
- C语言实现51单片机和ADC0809芯片的AD模
- C语言实战——基于51单片机的RFID射频
- 基于51单片机的c语言程序 电机转速测
- 基于80C51单片机的20多个仿真实验
- 基于51单片机汽车尾灯设计论文
- 51单片机C语言编程入门(详讲版)
- 轻松玩转51单片机c语言
- 51单片机C编程100例
- 基于51系列单片机的电子罗盘设计总结
- 郭天祥51单片机C语言教程配套光盘内
- 51单片机C语言程序设计教程 王云书本
- 51单片机程序大全C语言写的150个程序
- 基于51单片机的教室计数系统 C语言程
评论
共有 条评论