📄 ex8-2ac.c
字号:
#include "stc12c5a.h" //包含STC12C5A60S2单片机寄存器定义文件
unsigned char xdata ADDRT[128];
unsigned char num=0,retval;
unsigned char *mypdata;
void main (void)
{
PCON=0x80;
SCON=0x90;
ES=1;
EA=1;
mypdata=ADDRT;
ACC=*mypdata; //将要发送的数据送到ACC中,以反映奇偶性
TB8=P; //数据补偶,虽然在汇编语言中不能这样用,但在C语言中可以
SBUF=ACC;
while(1);
}
void Serial_ISR(void) interrupt 4
{
if(RI) //若RI=1,说明是接收中断
{
RI=0; //将中断标志清零
retval = SBUF; //将串行口缓冲器中的内容读到retval中
if(retval!=0) //如果retval不等于0,重新发送原数据
{
ACC=*mypdata;
TB8 = P;
SBUF = ACC;
}
else
{
mypdata++;
ACC=*mypdata;
TB8=P;
SBUF=ACC;
if(num++ == 0x7F) ES=0;
}
}
else
TI = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -