都快一个月了,还是一点反应都没有,用串口调试助手发送和接收都为空其中T0用做8251对89C52的发送接收中断信号<br />#define _TEST_C_<br />#include "reg52.h"<br />#include "stdlib.h"<br />#include "absacc.h"<br />#include "intrins.h"<br />#include "test.h"<br /><br />#define uchar unsigned char<br />#define uint unsigned int<br />#define COM8251 XBYTE[0x8601]<br />#define DAT8251 XBYTE[0x8600]<br />uchar data_temp[10]={0xAA,10,22,32,0,0};<br />uchar i,s;<br />void initmcu(void);<br /><br /><br />void main(void) <br />{ EA = 1;<br /> initmcu(); <br /> COM8251 = 0x00;<br /> COM8251 = 0x00;<br /> COM8251 = 0x00;<br /> COM8251 = 0x4e;<br /> COM8251 = 0x37; <br /> <br /> <br />}<br />void initmcu(void)<br />{<br /> TMOD = 0x06; //9600波特11.0592MHz,方式2<br /> TL0 = 0XFF; TH0 = 0XFF; <br /> TCON = 0x01; IP = 0x02; ET0 = 1;<br />}<br /><br />void Trans8251() interrupt 1 using 2<br />{<br /> <br /> <br /> for(;;)<br /> {<br /> for(i=0;i<4;i++)<br /> {<br /> do<br /> {<br /> s = COM8251;<br /> }while((s&0x01)==0);<br /> <br /> <br /> DAT8251 = data_temp;<br /> <br /> }<br /> for(i=0;i<4;i++)<br /> {<br /> do <br /> {<br /> s = COM8251;<br /> }while((s&0x02) == 1);<br /> }<br /> data_temp = DAT8251;<br /> }<br />}<br /> |
|