⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r2.c

📁 基于51的RS485的多机发送和接收的通信程序
💻 C
字号:
//proteus仿真论坛:proteus.5d6d.com

#include <reg51.h>
#include <absacc.h>

#define NODE2_ADDR 2
#define uchar unsigned char

bit flag=0;
sbit P0_0=P0^0;
sbit P0_4=P0^4;

uchar code table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
					  0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

void display(uchar ch)
{
	if((ch>=48)&&(ch<=57))
	{
		P1=table[ch-48];
	}
	else if((ch>=65)&&(ch<=70))
		{
			P1=table[ch-55];
		}
}		

main()
{
	SCON=0xf0;		//串行口工作方式3,,REG=1,SM2=1
	TMOD=0x20;
	TH1=0xfd;
	TR1=1;
	ET1=0;
	ES=1;
	EA=1;
	while(1)
	{
		while(flag==0);
		flag=0;
//		display(VAL);
	}
}

void receive(void) interrupt 4 using 3
{
	RI=0;
	if(RB8==1)
	{
		if(SBUF==NODE2_ADDR) 
		{
			SM2=0;
			P0_4=!P0_4;
		}
		return;
	}
	P0_0=!P0_0;
	display(SBUF);
	flag=1;
	SM2=1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -