软硬条件:89C51&串口调试精灵。
问题背景:想把发给单片机的端口数据(如P2 0xAA)返回到串口调试精灵。
可惜,肉包子打狗,有去无回。十分着急。
程序功能:让unsigned char c依次加1赋给P2口,并返回到精灵。
晶振 12Mhz。波特率2400,n,8,1.
程序:
#include <reg51.h>
//初始化串行口
void csh()
{
SM0=0;
SM1=1;
REN=1;
TI=0;
RI=0;
PCON=0;
TH1=0xF3;
TL1=0XF3;
TMOD=0X20;
EA=1;
ET1=0;
ES=1;
TR1=1;
}
void main()
{
int i,j;
char c;
csh();
while(1)
{
TI=0;
P2=c;
SBUF=c;
while(!TI);
TI=0;
for(j=0;j<25;j++)
for(i=0;i<5000;i++);
c++;
}
}
void intrr() interrupt 4
{
char temp;
temp=SBUF;
P3=temp;
RI=0;
}
希望各路神仙,走过路过,千万不要错过---这个助人为乐,自己快乐的好机会。
谢谢!!
东方红二天,你很搞笑嘛,这样赚分,很吃力的