<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          單片機(jī)通訊程序

          作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
          發(fā)送機(jī)發(fā)送按鍵信息,接收機(jī)把接受的信息用數(shù)碼管顯示出來(lái)

          本文引用地址:http://www.ex-cimer.com/article/201611/316785.htm

          發(fā)送機(jī)程序

          #include
          #define uchar unsigned char
          #define uint unsigned int
          void delay(uint);
          void SET_SYSTEM(void);
          uchar KEY_scan(void);


          void main()
          {
          uchar data i;
          delay(100);
          SET_SYSTEM();
          while(1)
          {
          i=KEY_scan();
          if(i)
          {
          TI=0;
          SBUF=i;
          while(!TI);
          }
          }
          }
          /*************************************************************************************/
          void delay(uint t) /* 延時(shí)子程序 */
          {
          uchar i;
          while(t--)
          {
          for(i=0;i<125;i++) {}; /* 12 MHz 晶振大約是 1 ms */
          }
          }
          /*************************************************************************************/
          uchar KEY_scan(void) /*鍵盤掃描程序 (獨(dú)立式)*/
          {
          uchar data key;

          P1=0xff;
          key=P1;
          if(key==0xff) return 0;
          else
          {
          delay(10);
          key=P1;
          if(key==0xff) return 0;
          else
          {
          switch(key)
          {
          case 0xfe: return 1;break;
          case 0xfd: return 2;break;
          case 0xfb: return 3;break;
          case 0xf7: return 4;break;
          case 0xef: return 5;break;
          case 0xdf: return 6;break;
          case 0xbf: return 7;break;
          case 0x7f: return 8;break;
          default : return 9;
          }
          }
          }
          }
          /*************************************************************************************/
          void SET_SYSTEM(void)
          {
          TMOD=0x20; /* 定時(shí)器1工作于方式2 */
          PCON=PCON&0x07;
          TH1=0xfe; /* 設(shè)置波特率 */
          TL1=0xfe;
          SCON=0x50;
          IE=0x00; /* 即 EA=0;關(guān)所有中斷 */
          TI=0;
          RI=0;
          TR1=1;
          }
          /*************************************************************************************/

          接收機(jī)程序

          #include
          #define uchar unsigned char
          #define uint unsigned int
          void delay(uint);
          void SET_SYSTEM(void);
          uchar KEY_scan(void);
          void LED_display(uchar ,uchar);
          uchar xdata IO_8155_order _at_ 0x2100;
          uchar xdata IO_8155_PA _at_ 0x2101;
          uchar xdata IO_8155_PB _at_ 0x2102;
          uchar xdata IO_8155_PC _at_ 0x2103;
          uchar data dt=0;
          uchar code dig_num[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /*共陰級(jí)數(shù)碼管的段選碼*/
          void main()
          {
          delay(200);
          SET_SYSTEM();
          IO_8155_order=0x0d; /* 8155 初始化 */
          while(1)
          {
          LED_display(0,dt);
          P1=dt;
          }
          }
          /*************************************************************************************/
          void delay(uint t) /* 延時(shí)子程序 */
          {
          uchar i;
          while(t--)
          {
          for(i=0;i<125;i++) {}; /* 12 MHz 晶振大約是 1 ms */
          }
          }
          /*************************************************************************************/
          void LED_display(uchar d_bit,uchar digit) /* LED 數(shù)碼管顯示子程序*/
          { /*d_bit 表示位選碼,digit 表示要顯示的數(shù)字 */
          IO_8155_PC=d_bit; /* 位選碼輸出*/
          IO_8155_PA=dig_num[digit]; /* 段選碼輸出*/
          delay(10);
          }
          /*************************************************************************************/
          void SET_SYSTEM(void)
          {
          TMOD=0x20; /* 定時(shí)器1工作于方式2 */
          PCON=PCON&0x07;
          TH1=0xfe; /* 設(shè)置波特率 */
          TL1=0xfe;
          SCON=0x50;
          IE=0x90; /* 即 EA=1;ES=1;ET1=0;開了串行口中斷,關(guān)定時(shí)器1 的中斷 */
          TI=0;
          RI=0;
          TR1=1;
          }
          /*************************************************************************************/
          void RI_RI(void) interrupt 4
          {
          RI=0;
          dt=SBUF;
          }



          關(guān)鍵詞: 單片機(jī)通訊程

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();