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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)系統(tǒng)實(shí)現(xiàn)故障診斷

          用單片機(jī)系統(tǒng)實(shí)現(xiàn)故障診斷

          作者: 時間:2012-03-19 來源:網(wǎng)絡(luò) 收藏

          4.軟件

          用Franklin C51[4]編制BP程序關(guān)鍵部分如下:
          uchar data i,j;
          float xdata show[17]; //征兆
          float xdata fault[11]; //類型
          float xdata weight[10][17]; //輸入層與隱含層間的權(quán)重
          float xdata vweight[11][10]; //隱含層與輸出層間的權(quán)重
          //這兩種權(quán)重已在PC機(jī)中訓(xùn)練好,燒錄在EPROM中。
          float xdata Inet[10];
          …… //初始化,從采集濾波保存的信號中讀取show[17]
          for(i=0; i10; i++)
          for(j=0; j17; j++)
          Inet[i] += weight[i][j]*show[j];
          for(i=0; i11; i++)
          for(j=0; j10; j++)
          fault[i] += vweight[i][j] / (1.0 + exp(-Inet[j]));
          for(i=0; i11; i++)
          { if(fault[i] > 0.1)
          …… // 顯示出并調(diào)用通信程序上位機(jī)
          // 進(jìn)行通信告知故障
          }

          通信功能的主要程序如下:
          //這里略去了中斷服務(wù)程序的初始化
          uchar idata transmit_buf[8] = fault1;
          uchar idata receive_buf[8];
          void transmit_data(void)
          { uchar p, i;
          transmit_ready = 0;
          do{ p = 0; //清校驗(yàn)和
          for(i=0; i8; i++)
          { SBUF = transmit_buf[i];//發(fā)送一數(shù)據(jù)
          p += transmit_buf;
          while(TI != 1);
          TI = 0;
          }
          SBUF = p; //發(fā)送校驗(yàn)和
          while(TI == 0); TI = 0;
          while(RI == 0); RI = 0;
          }while (SBUF != 0)//接收不正確,重新發(fā)送
          SM2 = 1; //設(shè)置監(jiān)聽狀態(tài)
          ES = 1; //開串行口中斷
          }
          void receive_data(void)
          {
          uchar p, i;
          receive_ready = 0;
          while(1)
          {
          p=0; //清校驗(yàn)和
          for(i=0; i8; i++)
          {
          while(RI != 1); RI = 0;
          receive_buf[i] = SBUF; //接收一數(shù)據(jù)
          p += receive_buf[i];
          }
          while(RI != 1); RI = 0;
          if(SBUF==p) {SBUF=0x00; break;}
          //校驗(yàn)和相同,發(fā)00
          else{
          SBUF=0xff; //校驗(yàn)和不同,發(fā)0FF
          while(TI == 0); TI = 0;}
          }
          SM2 = 1;
          ES = 1;
          }



          評論


          相關(guān)推薦

          技術(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); })();