1、*这是一个使用单片机串行通信口通过 RS232 总线与 PC 进行通信的测试程序,无需扩展.可将 DB9 的第 2 和第 3 脚短路,进行自收自发测试.采用串行中断接收,速率:9600,通信方式 2,晶振使用:osc=11.0592MHz。使用 SW1-SW6 键盘发送文本数字 1-6,数码管显示接收的ASCII 数据*/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_dow
2、n();SBUF=tablea;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_
3、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);参考链接:http:/