色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

          4.軟件

          用Franklin C51[4]編制BP程序關鍵部分如下:
          uchar data i,j;
          float xdata show[17]; //征兆
          float xdata fault[11]; //類型
          float xdata weight[10][17]; //輸入層與隱含層間的權重
          float xdata vweight[11][10]; //隱含層與輸出層間的權重
          //這兩種權重已在PC機中訓練好,燒錄在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)用通信程序上位機
          // 進行通信告知故障
          }

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



          評論


          相關推薦

          技術專區(qū)

          關閉