232.c

来自「VB与8051通信,内有VB和8051的源码」· C语言 代码 · 共 100 行

C
100
字号
#include <AT89X51.h>
void main(void)
{
unsigned int i;
char r;
SCON= 0x40;                //串口方式1
PCON=0;                     //SMOD=0
REN=1;                     //允许接收
TMOD= 0x20;                //定时器1定时方式2
TH1= 0xe6;                //12MHz 1200波特率
TL1= 0xe6;
TI= 1; 

TR1= 1;                  //启动定时器
start:

if (P3_2==0)	 {	goto L1; }
if (P3_3==0)	 {	goto L2; }
if (P3_4==0)	 {	goto L3; }
if (P3_5==0)	 {	goto L4; }
if (RI==1)	 {	goto Receive; }
goto start; 

Receive:
RI=0;
r=SBUF;
for(i=0;i<10000;i++);

if (r=='0') 
{
P1_0=0;
RI=0;
}
else if	  (r=='1') 
{
P1_0=1	;
RI=0;
}
else
{
goto start;
}

L1:

SBUF='2';
for(i=0;i<50000;i++);
if (P3_2==1)
{
SBUF='A';
for(i=0;i<50000;i++);
goto start;
}
else
{
goto L1;
}

L2:
SBUF='3';
for(i=0;i<50000;i++); 
if (P3_3==1)
{
SBUF='B';
for(i=0;i<50000;i++);
goto start;
}
else
{
goto L2;
}
L3:
SBUF='4';
for(i=0;i<50000;i++); 
if (P3_4==1)
{
SBUF='C';
for(i=0;i<50000;i++);
goto start;
}
else
{
goto L3;
}
L4:
SBUF='5';
for(i=0;i<50000;i++); 
if (P3_5==1)
{
SBUF='D';
for(i=0;i<50000;i++);
goto start;
}
else
{
goto L4;
}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?