标题: 利用串口进行双机通讯+pro仿真 [打印本页]

作者: gooooi·    时间: 2016-12-13 13:31
标题: 利用串口进行双机通讯+pro仿真

乙机的K1,K2,K3分别控制甲机的LED1和LED2 ,数码管则显示乙机的K4按下次数
附件中有程序与仿真图(8.0画的)
副本是乙机,不是副本的是甲机
7).rar (78.48 KB, 下载次数: 59)


作者: 月亮下的弯耳朵    时间: 2016-12-13 16:55
串行通讯把时间传输出去怎么弄?
作者: admin    时间: 2017-1-7 01:19
程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. sbit K1=P2^0;
  4. sbit K2=P2^1;
  5. sbit K3=P2^2;
  6. sbit K4=P2^3;
  7. uchar deng=0x01;
  8. unsigned int kon=0;



  9. void delay(uchar x)
  10. {
  11.         while(x--);
  12. }

  13. void UART_Init()
  14. {
  15.         SCON= 0x40;               //串口方式1        //REN=1; 允许接收
  16.         PCON=0x00;                //SMOD=0
  17.         TMOD= 0x20;               //定时器1定时方式2
  18.         TH1= 0xFD;                //11.0592MHz  模块默认波特率为9600bps
  19.         TL1= 0xFD;                                                                                 
  20.         TR1= 1;                   //启动定时器
  21.         EA=1;        
  22. }
  23. void shuchu(uchar deng)
  24. {  
  25.    SBUF=deng;       
  26.    while(TI==0);
  27.    TI=0;
  28.    
  29. }
  30. void main(void)
  31. {        UART_Init();
  32.         while(1)
  33.         { delay(1000);
  34.         delay(1000);
  35.           if(K1==0){shuchu(0x01);}
  36.           if(K2==0){shuchu(0x02);}
  37.           if(K3==0){shuchu(0x03);}
  38.                   if(K4==0){
  39.                           delay(10);
  40.                           if(K4==0){
  41.                                   shuchu(0x04);
  42.                           }while(!K4);
  43.                 }
  44.          }
  45. }





复制代码








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1