永发信息网

RS-232-C的C语言程序

答案:1  悬赏:40  手机版
解决时间 2021-01-25 12:47
  • 提问者网友:箛茗
  • 2021-01-24 14:10
RS-232-C的C语言程序
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-01-24 15:40
通过RS232总线与PC进行通信的测试程序(c语言)


void main(void)
{
SCON=0x50;
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TH0=0xf4;
TL0=0x48;
ES=1;ET0=1;EA=1;
TR1=1;
TR0=1;
while(1)
{
if(!key){ Delay(30000);
a=Key_down();
SBUF=table[a];
while(TI==0);
TI=0;
}
}
}

uchar Key_down(void)
{ uchar x;
if(!sw1)x=1;
else if(!sw2)x=2;
else if(!sw3)x=3;
else if(!sw4)x=4;
else if(!sw5)x=5;
else if(!sw6)x=6;
return(x);
}
void Int_T0(void) interrupt 1
{
TH0=0xf4;
TL0=0x48;
if(count==5)count=0;
else count++;
switch(count)
{
case 0:DIG_NUM=0x7f;
LED_DISPLAY=buff_led1;
break;
case 1:DIG_NUM=0xbf;
LED_DISPLAY=buff_led2;
break;
case 2:DIG_NUM=0xdf;
LED_DISPLAY=buff_led3;
break;
case 3:DIG_NUM=0xef;
LED_DISPLAY=buff_led4;
break;
case 4:DIG_NUM=0xf7;
LED_DISPLAY=buff_led5;
break;
case 5:DIG_NUM=0xfb;
LED_DISPLAY=buff_led6;
break;
default:break;
}
}
void Int_Serial(void) interrupt 4
{
while(RI==0);

a=SBUF;RI=0;
buff_led1=buff_led2;
buff_led2=buff_led3;
buff_led3=buff_led4;
buff_led4=buff_led5;
buff_led5=buff_led6;
buff_led6=a;
}

void Delay(int t)
{while(--t);}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯