ex8-2ac.c

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

C
42
字号
#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 + =
减小字号Ctrl + -
显示快捷键?