版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、四川大學(xué)電氣信息學(xué)院實驗報告課程:通信系統(tǒng)原理實驗名稱:通信系統(tǒng)原理設(shè)計件實驗課任老師:張奕專業(yè):通信工程年級:2013級余佩學(xué)生姓名:學(xué)號:20理解信源編碼和解碼的原理、步驟以及方法復(fù)習(xí)并更加熟練地掌握匯編語言的編程方法學(xué)習(xí)在EMCF發(fā)工具下編程學(xué)習(xí)使用EM78P259微控制器通過觀測示波器了解編碼:、編碼實驗1、雙極性不歸零碼(1)實驗原理1碼和0”碼都有電流,但是“1”碼是正電流,0碼是負(fù)電流,正和負(fù)的幅度相等,極性相反,故稱為雙極性碼。此時的判決門限為零電平,接收端使用零判決器或正負(fù)判決器,接收信號的值若在零電平以上為正,判為1碼;若在零電平以下為負(fù),判為0碼。(2)實驗流程圖將Byt
2、e2和Byte1暫存聲和ata_temp2和Data_temp1NDatatemp2,7=1?輸出正電平Y(jié)Data_temp2和Data_temp1分別左移編碼計數(shù)值不為0?N輸出零電平結(jié)束輸出負(fù)電平中并設(shè)置編碼計數(shù)值輸出零電平(3)實驗思路需要在單極性不歸零碼的基礎(chǔ)上,在程序的開始和結(jié)束時添加調(diào)用零電平的程序即可(4)實驗程序/*雙極性不歸零碼子程序*/Coding_Bi_NRZ:MOVA,Byte2MOVData_temp2,A;將Byte2中的數(shù)據(jù)暫存于Data_temp2中MOVA,Byte1MOVData_temp1,A;將Byte2中的數(shù)據(jù)暫存于Data_temp1中MOVA,16
3、MOVtemp,A;Byte2,Byte1中的信息共計16位需要編碼輸出callpulse_zero;=輸出16位編碼=Bi_NRZ_LOOP:JBSData_temp2,7CALLPulse_negative;Data_temp2.7=0,調(diào)用負(fù)脈沖子程序JBCData_temp2,7CALLPulse_positive;Data_temp2.7=1,調(diào)用正脈沖子程序;信息左移1位:RLCData_temp1RLCData_temp2;R(n)-R(n+1),R(7)-C=Data_temp1.7;C=Data_temp1.7-R(0),R(n)-R(n+1),R(7)-CDJZtemp;t
4、emp-1=0?JMPBi_NRZ_LOOP;NO,繼續(xù)編碼輸出callpulse_zeroRET;NRZ編碼輸出完畢/*/(5)實驗結(jié)果圖一圖二(6)調(diào)試分析如圖一所示,輸入十六進(jìn)制碼3456(相應(yīng)的二進(jìn)制為0011010001010110),再打開示波器,波形如圖二所示。2 .傳號差分碼(1)實驗原理傳號差分碼的編碼規(guī)則是用“1”和“0”表示發(fā)生電平跳變和電平不跳變,電平跳變用“1”表示,電平不跳變用“0”表示。(2)實驗流程圖開始將Byte2和Byte1普解磬Dafe_temp2和Data_temp1中,設(shè)置編碼計數(shù)值和存放極性的寄存器YP并置0上一位電平與當(dāng)前位電N平是否改變?輸出正電
5、平/.輸出負(fù)電平temp左移電平;若異或結(jié)果為0,同之前比電位沒改變,則輸出負(fù)電平。每次只能讀出一位,所以最后再左移存放極性的寄存器,然后再進(jìn)行下一次循環(huán)。(4)實驗程序/*傳號差分碼子程序*/Coding_DE_Mark:;傳號差分碼子程序;(對存放在Byte2,Byte1中的信息進(jìn)行編碼輸出)MOVA,Byte2MOVData_temp2,A;將Byte2中的數(shù)據(jù)暫存于Data_temp2中MOVA,Byte1MOVData_temp1,A;將Byte2中的數(shù)據(jù)暫存于Data_temp1中MOVA,16MOVtemp,A;Byte2,Byte1中的信息共計16位需要編碼輸出callpuls
6、e_negativeYP=0x24CLRYP;=輸出16位編碼=DE_Mark_LOOP:MOVa,Data_temp2XORYP,aJBSyp,7CALLPulse_negativeJBCyp,7CALLPulse_positiveRLCData_temp1RLCData_temp2DJZtemp;Data_temp2.7=0,調(diào)用負(fù)脈沖子程序;Data_temp2.7=1,調(diào)用正脈沖子程序;R(n)-R(n+1),R(7)-C=Data_temp1.7;C=Data_temp1.7-R(0),R(n)-R(n+1),R(7)-C;temp-1=0?JMPDE_Mark_LOOP;NO,繼續(xù)
7、編碼輸出callpulse_negativeRET;傳號差分編碼輸出完畢/*/(5)實驗結(jié)果圖三圖四(6)調(diào)試分析如圖三所示,輸入十六進(jìn)制碼55D3(相應(yīng)的二進(jìn)制為0101010111010011),經(jīng)過傳號差分碼編碼后的二進(jìn)制結(jié)果為0110011010011101。打開示波器,波形如圖四所示。,理解并學(xué)會活用給新寄存器賦值,學(xué)會CLR3 .空號差分碼(1)實驗原理空號差分碼的編碼規(guī)則是用“0”和“1”表示發(fā)生電平跳變和電平不跳變。與傳號差分碼相反,空號差分碼中,電平跳變用“0”表示,電平不跳變用“1”表示。(2)實驗流程圖開始1將Byte2和Byte1暫存于Data_temp2和Data_t
8、emp1中,設(shè)置編碼計數(shù)值和存放極性的寄存器YP1置1輸出零電平上一位電平與當(dāng)前位電平是否改變?輸出負(fù)電平temp左移輸出正電平Y(jié)N(3)實驗思路結(jié)束編碼計數(shù)值不為0?輸出零電平由于空號差分碼正電平和負(fù)電平的編碼規(guī)則與傳號差分碼的正好相反,所以空號差分碼的程序段需要在傳號差分碼的基礎(chǔ)上添加一個取反的語句,即MOVA,0XFFXORYP1,A,將上一步驟的異或結(jié)果取反。將異或取反后的結(jié)果置于寄存器YP1中,輸t出emp的最高位再左移temp,然后再進(jìn)行下一次的循環(huán)。(4)實驗程序/*空號差分碼子程序*/Coding_DE_Space:;空號差分碼子程序;(對存放在Byte2,Byte1中的信息進(jìn)
9、行HDB3編碼輸出)MOVA,Byte2MOVData_temp2,A;將Byte2中的數(shù)據(jù)暫存于Data_temp2中MOVA,Byte1MOVData_temp1,A;將Byte2中的數(shù)據(jù)暫存于Data_temp1中MOVA,16MOVtemp,A;Byte2,Byte1中的信息共計16位需要編碼輸出callpulse_positiveYP1=0x25MOVA,0xFFMOVYP1,ADE_Space_LOOP:MOVA,0xFFXORYP1,AMOVa,Data_temp2XORYP1,aJBCyp1,7CALLPulse_negative;Data_temp2.7=0,調(diào)用負(fù)脈沖子程序
10、JBSyp1,7CALLPulse_positive;Data_temp2.7=1,調(diào)用正脈沖子程序RLCData_temp1;R(n)-R(n+1),R(7)-C=Data_temp1.7RLCData_temp2;C=Data_temp1.7-R(0)R(n)-R(n+1),R(7)-CDJZtemp;temp-1=0?JMPDE_Space_LOOP;NO,繼續(xù)編碼輸出callpulse_negative*/ret/*(5)實驗結(jié)果圖五圖六(6)調(diào)試分析如圖五所示,輸入十六進(jìn)制碼4723(相應(yīng)的二進(jìn)制為0100011100100011),經(jīng)過空號差分碼的編碼后,二進(jìn)制結(jié)果為1101000
11、010010111。打開示波器,波形如圖六所示。在設(shè)定新的寄存器時,沒有掌握好寄存器的定義,將新寄存器先置0了再將立即數(shù)存進(jìn)去,這樣就沒意義,編碼就是要求精簡而準(zhǔn)確。4 .AMI碼(1)實驗原理AMI碼屬于單極性碼的變形,當(dāng)遇0碼時為零電平,當(dāng)遇1碼則存在兩種交替轉(zhuǎn)換器極性,這樣確保正負(fù)極性個數(shù)相等。編碼規(guī)則:遇到編碼為0時就只出現(xiàn)0;消息代碼中的1傳輸碼中的+1、-1交替。例如:消息代碼:1011010111AMI碼:+10-1+10-10+1-1+1(2)實驗流程圖開始將Byte2和Byte1暫存于Data_temp2和Data_temp12文檔來源為:歡陶湃超強(qiáng).word版本可編輯.輸出
12、零電平(3)實驗思路輸入為0的時候輸出為零電平,輸入為1的時候為了滿足極性交替的規(guī)律,需要設(shè)置標(biāo)志位,給標(biāo)志位計數(shù)。設(shè)標(biāo)志位為1時輸出正電平,標(biāo)志位為0時輸出負(fù)電平。同時還要在輸出正電平時改變標(biāo)志位加1為0,輸出負(fù)電平時改變標(biāo)志位加1為1。(4)實驗程序/*AMI碼子程序*/Coding_AMI:;AMI碼子程序;(對存放在Byte2,Byte1中的信息進(jìn)行HDB3編碼輸出)MOVA,Byte2MOVData_temp2,A;將Byte2中的數(shù)據(jù)暫存于Data_temp2中MOVA,Byte1MOVData_temp1,A;將Byte2中的數(shù)據(jù)暫存于Data_temp1中MOVA,16MOVt
13、emp,A;Byte2,Byte1中的信息共計16位需要編碼輸出CALLPULSE_ZEROYP2=0x26CLRYP2AMI_LOOP:JBSData_temp2,7JMPYYJBCDATA_TEMP2,7INCYP2JBCYP2,0CALLPULSE_POSITIVEJBSYP2,0CALLPULSE_NEGATIVEJMPYY2YY:CALLPULSE_ZEROYY2:RLCData_temp1RLCData_temp2DJZtemp;R(n)-R(n+1),R(7)-C=Data_temp1.7;C=Data_temp1.7-R(0),R(n)-R(n+1),R(7)-C;temp-1
14、=0?JMPAMI_LOOP;NO,callpulse_zero繼續(xù)編碼輸出RET/*/(5)實驗結(jié)果圖八圖七(6)調(diào)試分析5.HDB3040將這個碼元稱為(2)實驗流程圖開始輸出零電平NYData_temp2=0NYY記零寄存器是否N輸出+BBY輸出零電平N的碼元串時“破壞碼元”4個或4個以上連(1)實驗原理極性標(biāo)志寄存器是否為0?如圖七所示,的編碼后,結(jié)果為實際上比較簡單,直接調(diào)用零電平,數(shù)值標(biāo)志寄存器是否為0?,并用符號“V”耒的符號也是極性交替:V”之間有偶數(shù)個非0”碼元串的第4文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯將輸入的原碼變換成AMI的情況,當(dāng)沒有發(fā)現(xiàn)個或4個以上連V表示
15、“1”。為了保證相鄰“V碼元時,這是能夠保證的。當(dāng)相鄰要求。這時,需插入補(bǔ)性碼,將這個連的符號與前一個非“0”碼元的符號相反,最后讓之后的非替變化,從而就能得到HDB綱。“0”碼元同極性的表示“+1”,用“之間有奇數(shù)個非“0三,即用“+V”當(dāng)相鄰“V。然后4位4位的進(jìn)行判斷,檢查AMI碼中連“0”時,則不作改變,AMI碼就是HDB3碼。當(dāng)發(fā)現(xiàn)輸入十六進(jìn)制碼4123(相應(yīng)的二進(jìn)制為0100000100100011),經(jīng)過AMI00+10000-100+1000-1+1。打開示波器,波形如圖八所示。AMI碼主要就是要學(xué)會分情況討論,然后設(shè)置好跳轉(zhuǎn)的程序,這里出現(xiàn)0位一種出現(xiàn)1的時候則判斷1的奇偶數(shù)
16、,后面HDB3的程序也可以出這里得到靈將Byte2和Byte1暫存于Data_temp2和Data_temp1定義編碼時所需的各種寄存器“0”碼元時,不符合此“極性交替”1個“0”變成“+B”或“B”。B0”碼元符號從V碼元開始再交輸出-V輸出+V標(biāo)志寄存器置0標(biāo)志寄存器置1標(biāo)志寄存器置0標(biāo)志寄存器置1BU寄存器是否為0插入補(bǔ)性碼Data_temp2和Data_temp1左移一位編碼計數(shù)值不為0?(3)實驗思路輸出零電平結(jié)束根據(jù)HDB3碼的規(guī)則,首先判斷連0的情況,若小于4則程序正常運(yùn)行,調(diào)用脈沖,出現(xiàn)1時候,則開始計數(shù),根據(jù)判斷存器計數(shù),根據(jù)奇偶性判斷正負(fù),的存在,其余的正常輸出。B寄存器的
17、奇偶性判斷輸出正負(fù),當(dāng)連0大等于4則對V寄調(diào)用脈沖,同時對BU計數(shù),統(tǒng)計1的個數(shù),判斷補(bǔ)信碼(4)實驗程序/*Hdb3碼子程序*/Coding_HDB3:MOVA,0X43MOVData_temp2,AMOVA,0X05MOVData_temp1,AMOVA,16MOVtemp,Ab=0x27;定義寄存器b,用于計數(shù)B和B的個數(shù)及判斷極性v=0x28;定義寄存器v,用于判斷V碼的個數(shù)和極性bu=0x29;定義寄存器bu,用于計數(shù)B,B;V;的個數(shù)及極性MOVA,0MOVb,AMOVv,AMOVbu,ALOOP_HDB3:JBCData_temp2,4JMPOutput_normalJBSDat
18、a_temp2,4;若Data_temp2第四位不為0,跳轉(zhuǎn)正常輸出JBCData_temp2,5JMPOutput_normalJBSData_temp2,5;若Data_temp2第五位不為0,跳轉(zhuǎn)正常輸出JBCData_temp2,6JMPOutput_normal;若Data_temp2第六位不為0,跳轉(zhuǎn)正常輸出JBSData_temp2,6JBCData_temp2,7JMPOutput_normal若Data_temp2第七位不為0,跳轉(zhuǎn)正常輸出BSData_temp2,4INCvdecbJBSbu,0BSData_temp2,7JBSData_temp2,7JMPOutput_n
19、ormalJBCData_temp2,7incbuincb;出現(xiàn)四個連0;判斷寄存器bu的值是奇數(shù)還是偶數(shù);偶數(shù)時,則存在補(bǔ)信碼B;奇數(shù)時,無補(bǔ)信碼B;沒有加入補(bǔ)信碼,跳轉(zhuǎn)正常輸出Output_buxinma:JBCb,0CALLPulse_negativeJBSb,0CALLPulse_positiveJMPOutput_zuoyiOutput_normal:JBSData_temp2,7CALLPulse_zeroJBSData_temp2,7JMPOutput_zuoyiJBCData_temp2,7INCbINCbuJBCb,0CALLPulse_positiveJBSb,0CALLP
20、ulse_negativeOutput_zuoyi:RLCData_temp1RLCData_temp2BSData_temp1,7DJZtemp;R(n)-R(n+1),R(7)-C=Data_temp1.7;C=Data_temp1.7-R(0),R(n)-R(n+1),R(7)-C;temp-1=0?JMPLoop_HDB3;(學(xué)生編寫程序段)RET;16位編碼輸出完畢/*/(5)實驗結(jié)果圖H一圖十二(6)調(diào)試分析如圖H一所示,輸入十六進(jìn)制碼861E(相應(yīng)的二進(jìn)制為1000011000011110),經(jīng)過HDB3編碼后,結(jié)果為+B000+V-B+B-B00-V+B-B+B-B0打開示波器
21、,波形如圖十二所示。HDB新就是將前面的碼綜合運(yùn)用,所以分情況比較多,并且復(fù)雜。因此我的思路就是四位四位地比較,但是這樣就出現(xiàn)了一些考慮不周的情況導(dǎo)致錯誤的情況錯誤一:沒有考慮第一為為0的情況,直接給B碼計數(shù),導(dǎo)致不能滿足首位為0的情況錯誤二:在用B碼計數(shù)的時候沒有考慮每次計數(shù)之后當(dāng)左移再次到達(dá)該數(shù)的時候多記了一次1.因此輸出為錯誤,后面添加DECB從而得到正確情況錯誤三:沒有考慮最后一位為0的情況,這樣16位左移完了之后,會自動補(bǔ)0會多出現(xiàn)4位0的情況,從而影響,之后在每次左移之后加入BSDATA_TEMP)17從而解決6.漢明碼的編碼(7,4碼的編碼)(1)實驗原理漢明碼是d0=3、高效的
22、(7,4)線性分組碼,它有糾正單個隨機(jī)差錯或檢測兩個錯誤的能力。(2)實驗流程圖開始定理例修器調(diào)用漢胡芋程序輸出8韁用碼(3)實驗思路根據(jù)線性分組碼的計算規(guī)則,得到十進(jìn)制0至15所對應(yīng)的漢明碼,如下圖所示:利用RETL語句和以上表格中的數(shù)據(jù)即可編出漢明碼的編碼。(4)實驗程序/*漢明碼白*編碼*/Coding_T8:MOVA,8MOVtemp3,A;(7,4)線性分組碼;定義輸出計零寄存器CALLPulse_zeroCALLHamming_Code;將累加器A中的漢明碼存放到temp1中;輸出漢明碼查表=;將輸入數(shù)據(jù)從Byte1中存入累加器A中;通過累加器A查表得出漢明碼MOVtemp1,AC
23、ircle:JBCtemp1,7CALLPulse_positiveJBStemp1,7CALLPulse_negativeRLCtempiDJZtemp3JMPCircleCALLPulse_zeroRET尸=Hamming_Code:MOVA,Byte1ADDR2_SP,ARETL0;0RETL11;1RETL21;2RETL30;3RETL38;4RETL45;5RETL51;6RETL56;7RETL71;8RETL76;9RETL82;ARETL89;BRETL97;CRETL106;DRETL116;ERETL127;F/*/(5)實驗結(jié)果圖十三圖十四;=查表=Hamming_Co
24、de:7,漢明碼的解碼(1)實驗原理漢明碼是d0=3、高效的(7,4)線性分組碼,它有糾正單個隨機(jī)差錯或檢測兩個錯誤的能力。(2)實驗思路輸入8位十六進(jìn)制的數(shù)存于Byte2中,再將Byte2中的數(shù)值與表中存放的漢明碼數(shù)值相異或,再統(tǒng)計異或結(jié)果中“1”的個數(shù),即碼距。若“1”的個數(shù)為一個或是0個則此時所取的漢明碼的原碼是所解碼的數(shù)值。最后再把解碼出的數(shù)值置于Bytel中輸出。(3)實驗流程圖異或結(jié)果有0個1Y輸出該漢明碼對應(yīng)的原碼(4)實驗程序/*開始Byte2與蒯酎期解表中的數(shù)值進(jìn)行異或異或結(jié)果有一個輸出該漢明碼對應(yīng)的原碼Coding_T8:;(7,4)線性分組碼提取下一個神碼漢明碼白解碼*/
25、將存放于Byte2中的信息碼字(bit3bit0)合法碼字存入Byte1(bit6bit0),并通過轉(zhuǎn)換為(7,4)碼的合法碼字,Signal口輸出到示波器;(學(xué)生編寫程序段)MOVA,7MOVTEMP,Amova,Byte2callencode74movByte1,acallencode74_outputretencode74:movA,Byte2addR2_SP,Aretl0b00000000;0000retl0b00001011;0001retl0b00010101;0010retl0b00011110;0011retl0b00100110;0100retl0b00101101;0101
26、retl0b00110011;0110retl0b00111000;0111retl0b01000111;1000retl0b01001100;1001retl0b01010010;1010retl0b01011001;1011retl0b01100001;1100retl0b01101010;1101retl0b01110100;1110retl0b01111111;1111RETencode74_output:JBSByte1,6callPulse_negativeJBCByte1,6CALLPulse_positiveRLCByte1DJZtempJMPencode74_outputRE
27、T/*/Coding_T8:rrr=0x30;收到的碼字aaa=0x31;存放查表指針hanming=0x32;存放正確碼字ccc=0x33;存放查表得到的碼字yihuoqs=0x34;存放異或后結(jié)果sum=0x35;碼距clrrrrclraaaclrcccclrhanmingclryihuoqsmova,1movsum,a;給各寄存器賦初始狀態(tài)值loop_qs:jbsaaa,4;aaa.4=0,還沒有判斷完16位碼,繼續(xù)nopjbcaaa,4;aaa.41,已經(jīng)判斷完16位漢明碼后仍無匹配結(jié)果,程序自動結(jié)束ret;已經(jīng)判斷完16位漢明碼后自主結(jié)束。mova,Byte2movrrr,a;將輸入
28、信息放到rrrcallencode74;調(diào)用查表子程序JMPjudge74;跳轉(zhuǎn)到判斷碼距程序K1:JMPoutput74;跳轉(zhuǎn)到解碼輸出程序K2:ret;漢明碼解碼輸出完畢encode74:nop/*子程序段*/movA,aaa;查表指針給到A,根據(jù)指針查表,將查得結(jié)果又放到A中addR2_SP,Aretl0b00000000;0000retl0b00001011;0001retl0b00010101;0010retl0b00011110;0011retl0b00100110;0100retl0b00101101;0101retl0b00110011;0110retl0b00111000;0111retl0b01000111;1000retl0b01001100;1001retl0b01010010;1010retl0b01011001;1011retl0b01100001;1100retl0b01101010;1101retl0b01110100;1110retl0b01111111;1111RET;查表程序結(jié)束judge74:movccc,a;將查表結(jié)果放至
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勤工助學(xué)工作總結(jié)15篇
- 酒店實習(xí)報告模板錦集10篇
- 愛話題作文15篇
- 紋身操作手法課程設(shè)計
- 高中信息技術(shù) 鍵盤和鍵盤操作教案
- DB2301T 193-2024林糧間作技術(shù)規(guī)程
- 動脈導(dǎo)管未閉課件
- 借證協(xié)議書(2篇)
- 兒童故事版權(quán)使用合同(2篇)
- 婦幼保健計劃生育服務(wù)中心傳染病衛(wèi)生應(yīng)急預(yù)案
- DB63-T 1672-2018+瀝青路面整治工程新舊路面聯(lián)結(jié)層技術(shù)規(guī)范
- 基于CAN通訊的儲能變流器并機(jī)方案及應(yīng)用分析報告-培訓(xùn)課件
- 園藝療法共課件
- 布氏、韋氏、洛氏硬度換算表
- 鋼筋混凝土地下通道課程設(shè)計
- 韓流對中國文化的影響課件
- 檢驗檢測服務(wù)公司市場營銷計劃
- 醫(yī)務(wù)人員外出進(jìn)修流程圖
- DB32∕T 2349-2013 楊樹一元立木材積表
- 昌樂二中271高效課堂培訓(xùn)與評價ppt課件
- 豬場名詞及指標(biāo)講義
評論
0/150
提交評論