资源简介
基于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个文件信息
相关资源
- at89c51单片机+矩阵键盘编写的计算器
- 云龙51单片机视频教程,目前国内公认
- 51单片机简易秒表的设计(仿真图、程
- 51单片机超声波测距KEIL+proteus.rar
- STC89C52单片机实用程序30个C语言10个汇
- 基于STC89C51单片机的DS18B20的温度报警
- 基于keil5和protues仿真的智能温度控制
- 郭天祥十天学会C51单片机视频教程地
- MCS-51单片机C语言编程100例
- 单片机原理与应用及C51程序设计 谢维
- 51单片机生成二维码(QR Code)+12864并
- C语言 51单片机4x4矩阵键盘扫描程序
- 51单片机数字时钟—源程序+仿真电
- 51单片机与液晶显示LCD1602接口、C语言
- 智能浇花系统设计说明书+51单片机+详
- 51单片机:信号发生器
- 基于51单片机的spwm波形产生程序
- M26短信猫 发短信(51单片机)
- 51单片机计数器仿真加程序
- 51单片机四位数码管显示
- 基于51单片机的智能计算器(实现两个
- RS485通信:利用串口调试助手经过US
- hx711+51单片机+lcd1602显示测试例程
- DHT11温湿度传感器51单片机在LCD1602.d
- 51单片机巫妖王板子测试程序-串口收
- 51单片机万用表原理图PCB
- 51单片机播放WAV
- 51单片机实现电子书
- 51单片机及温度传感器DS18B20来设计
- 步进电机驱动程序(51单片机可编程电
评论
共有 条评论