📄 ex8-3bc.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -