ex8-3bc.c

来自「《增强型8051单片机实用开发技术》例程代码」· C语言 代码 · 共 36 行

C
36
字号
#include "stc12c5a.h"        //包含STC12C5A60S2单片机寄存器定义文件

unsigned char xdata ADDRR[10];
unsigned char SLAVE,num=0x0a,rdata,*mypdata;

void main (void)
{
	SCON=0xF0;
	TMOD=0x20;
	TH1=0xFA;
	TL1=0xFA;
	mypdata=ADDRR;
    SLAVE=5;		//设定从机地址
	TR1=1;
	ES=1;
 	EA=1;
	while(1);		//等待中断
}
void Serial_ISR(void) interrupt 4 
{
	RI=0;
	rdata=SBUF;		//将接收缓冲区的数据保存到rdata变量中
	if(RB8)			//RB8=1说明收到的信息是地址
    {
   		if(rdata==SLAVE)	//如果地址相等,则SM2=0
		SM2=0;
	}
    else					//接收到的信息是数据
    {
		*mypdata=rdata;
		mypdata++;
		num--;
		if(num==0x00)		//所有数据接收完毕,令SM2=1,为下一次接收地址信息作准备
		SM2=1;
    }
}

⌨️ 快捷键说明

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