<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用單片機系統實(shí)現故障診斷

用單片機系統實(shí)現故障診斷

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

4.軟件

用Franklin C51[4]編制BP程序關(guān)鍵部分如下:
uchar data i,j;
float xdata show[17]; //征兆
float xdata fault[11]; //類(lèi)型
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)
…… // 顯示出并調用通信程序上位機
// 進(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; //清校驗和
for(i=0; i8; i++)
{ SBUF = transmit_buf[i];//發(fā)送一數據
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; //設置監聽(tīng)狀態(tài)
ES = 1; //開(kāi)串行口中斷
}
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; //接收一數據
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;
}



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>