測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)實(shí)驗(yàn)指導(dǎo)書_第1頁
測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)實(shí)驗(yàn)指導(dǎo)書_第2頁
測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)實(shí)驗(yàn)指導(dǎo)書_第3頁
測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)實(shí)驗(yàn)指導(dǎo)書_第4頁
測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

東南大學(xué)儀器科學(xué)與工程學(xué)院2011東南大學(xué)儀器科學(xué)與工程學(xué)院2011年9月測(cè)控系統(tǒng)設(shè)計(jì)技術(shù)驗(yàn)指導(dǎo)書東南大學(xué)儀器科學(xué)與工程學(xué)院 祝學(xué)云2011東南大學(xué)儀器科學(xué)與工程學(xué)院 祝學(xué)云2011年9月i=r本教程適用于測(cè)控類及弱電類專業(yè)大學(xué)本科生以下課程的實(shí)驗(yàn)和實(shí)踐教學(xué):《智能儀器原理與設(shè)計(jì)技術(shù)》、《測(cè)控技術(shù)及系統(tǒng)設(shè)計(jì)》等;也適用于測(cè)控類及弱電類專業(yè)碩士研究生以下課程的實(shí)驗(yàn)和實(shí)踐教學(xué):《智能儀器設(shè)計(jì)》、《智能測(cè)控系統(tǒng)設(shè)計(jì)》等。實(shí)驗(yàn)裝置采用模塊化設(shè)計(jì),將有相互聯(lián)系的各專業(yè)課程的實(shí)驗(yàn)組合起來,包含這些專業(yè)課程需要的若干單個(gè)實(shí)驗(yàn),最后形成“從傳感器-前置調(diào)理、 接口電路-A/D轉(zhuǎn)換電路-計(jì)算機(jī)(單片機(jī))-后置接口、驅(qū)動(dòng)電路-測(cè)控對(duì)象”接近實(shí)際應(yīng)用系統(tǒng)的綜合實(shí)驗(yàn)。訓(xùn)練和提高學(xué)生在軟、硬件設(shè)計(jì)調(diào)試方面的能力。同時(shí),幫助學(xué)生將各專業(yè)課程內(nèi)容綜合起來,融會(huì)貫通,形成系統(tǒng)的概念,迅速邁過從理論到實(shí)際的門檻。本實(shí)驗(yàn)裝置的操作過程在設(shè)置上盡量接近實(shí)際應(yīng)用系統(tǒng)的設(shè)計(jì)調(diào)試過程。學(xué)生做完實(shí)驗(yàn)后,就能夠獨(dú)立進(jìn)行實(shí)際應(yīng)用系統(tǒng)的軟、硬件設(shè)計(jì)調(diào)試。大多數(shù)實(shí)驗(yàn)的內(nèi)容都設(shè)置了基本要求和高級(jí)要求,能夠滿足不同層次學(xué)生的需要。實(shí)驗(yàn)裝置“XYZ22型綜合實(shí)驗(yàn)儀”獲江蘇省教育廳 2000年自制實(shí)驗(yàn)儀器設(shè)備評(píng)比三等獎(jiǎng)。TOC\o"1-5"\h\z\o"CurrentDocument"第一章實(shí)驗(yàn)設(shè)備介紹 1 1二.偉福(WAVEG6M單片機(jī)仿真開發(fā)器使用簡介 1 2第二章基本程序設(shè)計(jì)實(shí)驗(yàn) 11實(shí)驗(yàn)一 數(shù)據(jù)傳送實(shí)驗(yàn) 11實(shí)驗(yàn)二 多字節(jié)十進(jìn)制加法實(shí)驗(yàn) 13\o"CurrentDocument"第三章I/O口( 8255)擴(kuò)展及外部中斷實(shí)驗(yàn) 15實(shí)驗(yàn)三 8255輸入輸出實(shí)驗(yàn) 15實(shí)驗(yàn)四 外部中斷實(shí)驗(yàn) 18\o"CurrentDocument"第四章顯示器、鍵盤及BC酸碼盤擴(kuò)展實(shí)驗(yàn) 21實(shí)驗(yàn)五 動(dòng)態(tài)LED!示實(shí)驗(yàn) 21實(shí)驗(yàn)六 BCDt碼盤擴(kuò)展實(shí)驗(yàn) 25實(shí)驗(yàn)七 鍵盤顯示器擴(kuò)展實(shí)驗(yàn) 28\o"CurrentDocument"第五章計(jì)數(shù)器定時(shí)器實(shí)驗(yàn) 32實(shí)驗(yàn)八 計(jì)數(shù)器實(shí)驗(yàn) 32實(shí)驗(yàn)九 定時(shí)器(時(shí)鐘)實(shí)驗(yàn) 35\o"CurrentDocument"第六章串行通信實(shí)驗(yàn) 39實(shí)驗(yàn)十 串行口實(shí)驗(yàn) 39實(shí)驗(yàn)十一鍵盤鍵值遠(yuǎn)距離傳輸實(shí)驗(yàn) 4449第七章D/A實(shí)驗(yàn)49實(shí)驗(yàn)十二 D/A轉(zhuǎn)換實(shí)驗(yàn)(DAC0832 49實(shí)驗(yàn)十三 程控放大器實(shí)驗(yàn) 51實(shí)驗(yàn)十四 程控信號(hào)發(fā)生器實(shí)驗(yàn) 54495962第八章A/D495962實(shí)驗(yàn)十五A/D轉(zhuǎn)換實(shí)驗(yàn)(ADC0809實(shí)驗(yàn)十六A/D轉(zhuǎn)換實(shí)驗(yàn)(ICL7135)TOC\o"1-5"\h\z第九章數(shù)據(jù)處理程序設(shè)計(jì)實(shí)驗(yàn) 66實(shí)驗(yàn)十七 數(shù)字濾波程序設(shè)計(jì)實(shí)驗(yàn) 66實(shí)驗(yàn)十八 非線性校正及標(biāo)度變換程序設(shè)計(jì)實(shí)驗(yàn) 72第十章測(cè)量與控制實(shí)驗(yàn) 81實(shí)驗(yàn)十九 頻率測(cè)量實(shí)驗(yàn) 81實(shí)驗(yàn)二十 溫度測(cè)量實(shí)驗(yàn) 86實(shí)驗(yàn)二十一 溫度測(cè)量控制實(shí)驗(yàn) 99第十一章自主設(shè)計(jì)型實(shí)驗(yàn) 125實(shí)驗(yàn)二十二 簡易數(shù)字電壓表設(shè)計(jì) 125實(shí)驗(yàn)二十三 簡易溫度測(cè)量系統(tǒng)設(shè)計(jì) 127實(shí)驗(yàn)二十四 簡易溫度測(cè)量控制系統(tǒng)設(shè)計(jì) 130附錄實(shí)驗(yàn)儀面板示意圖 133第一章實(shí)驗(yàn)設(shè)備介紹實(shí)驗(yàn)設(shè)備的聯(lián)接圖1-1設(shè)備聯(lián)接1、單片機(jī)仿真開發(fā)器通信電纜接PC機(jī)用行口1或2;2、單片機(jī)仿真開發(fā)器仿真頭接實(shí)驗(yàn)儀;3、根據(jù)實(shí)驗(yàn)需要,實(shí)驗(yàn)儀接或不接測(cè)量控制對(duì)象;4、先接通仿真器電源,再接通實(shí)驗(yàn)儀電源;5、實(shí)驗(yàn)過程中,需要連接硬件模塊的,先關(guān)閉電源再接線,檢查正確后打開電源。拆除接線前先關(guān)閉電源。二、偉福(WAVE)G6W型單片機(jī)仿真開發(fā)器使用簡介1、G6W型單片機(jī)仿真開發(fā)器為MCS—51型仿真開發(fā)器;2、可選擇不同配置的仿真頭仿真不同的CPU(如8031、89C51等);3、仿真頭上有一個(gè)晶振跳線器(選用內(nèi)、外晶振),出廠設(shè)置選用內(nèi)晶振;4、光盤安裝編譯器軟件;5、進(jìn)入編譯器時(shí)自動(dòng)進(jìn)入“仿真器設(shè)置”菜單(檢查仿真器設(shè)置、仿真器狀態(tài)及聯(lián)絡(luò)通信);也可在編譯器菜單里人工進(jìn)入“仿真器設(shè)置”菜單(實(shí)驗(yàn)過程中如果關(guān)閉過仿真器、實(shí)驗(yàn)儀電源的需要人工進(jìn)入“仿真器設(shè)置”菜單聯(lián)絡(luò)通信) ;6、仿真器設(shè)置1)偉福匯編器;G6W型仿真器;POD-51型仿真頭;8031CPU;5)不使用偉福軟件模擬器;6)12M晶振;7)程序空間在仿真器上、數(shù)據(jù)空間在用戶板上;8)PC機(jī)與仿真器連接的串行端口為1或2。7、仿真器設(shè)置失敗原因1)設(shè)置內(nèi)容錯(cuò)誤;PC機(jī)用行口故障;PC機(jī)與仿真器、仿真器與仿真頭連接故障;仿真器與實(shí)驗(yàn)儀未打開電源;仿真器與實(shí)驗(yàn)儀打開電源順序有誤;仿真器或仿真頭損壞;查無原因的關(guān)閉電源重新進(jìn)行。編輯、編譯、執(zhí)行及修改文件編輯及修改新建一個(gè)文件或打開一個(gè)文件,對(duì)此文件進(jìn)行編輯及修改,最后將其保存。匯編文件的文件名后綴為.ASM。編譯對(duì)當(dāng)前窗口文件進(jìn)行編譯、校驗(yàn),并將程序(機(jī)器碼)傳至仿真器;如果程序文件有錯(cuò),信息窗口將提示出錯(cuò)信息,以便用戶修改。執(zhí)行與退出包括全速、跟蹤、單步、執(zhí)行到光標(biāo)處等幾種程序執(zhí)行方式;執(zhí)行前可設(shè)置斷點(diǎn);退出有暫停和復(fù)位。9、在“窗口”中檢查RAM及特殊功能寄存器的內(nèi)容全速運(yùn)行程序后,要先“暫?!痹僭凇按翱凇敝袡z查存儲(chǔ)器內(nèi)容;CPU窗口包含源程序的反匯編代碼、特殊功能寄存器狀態(tài)等;數(shù)據(jù)窗口包含內(nèi)部RAM和外部RAM的狀態(tài)等。三、綜合實(shí)驗(yàn)儀介紹電源部分外接220V交流電源;實(shí)驗(yàn)板上有以下電源插孔:+2.5V,+5V,+12V,-5V,-12V及0V(GND);實(shí)驗(yàn)板上每一硬件模塊的電源獨(dú)立控制,由短路塊連通。測(cè)量電橋(見下頁圖1-2)電源+2.5V;Rx為熱敏電阻Pt100(調(diào)試時(shí)接電阻箱);輸出Vout11、Vout12;WR3為調(diào)零電位器。測(cè)量放大器(見下頁圖 1-3)電源+12V,-12V;輸入Vin41、Vin42,輸出Vout4;WR5為增益調(diào)整電位器,WR6為調(diào)零電位器。電壓衰減器(見下頁圖 1-4)電源+12V,-12V;輸入Vin2,輸出Vout2;WR4調(diào)節(jié)衰減系數(shù)。圖1-2測(cè)量電橋圖1-3測(cè)量放大器圖圖1-65、D/A轉(zhuǎn)換電路(DAC0832)電源+5V,+12V,-12V;輸入D7?D0,輸出Vout3;寫信號(hào)/WR,片選信號(hào)/CS,標(biāo)準(zhǔn)電壓端VREF,反饋電阻端RFB,反饋端FG。圖1-5 D/A轉(zhuǎn)換電路(DAC0832)6、A/D轉(zhuǎn)換電路(ADC0809)電源+5V;輸入IN0?IN7,輸出D0?D7;讀信號(hào)/RD,寫信號(hào)/WR,時(shí)鐘信號(hào)CLK,轉(zhuǎn)換結(jié)束信號(hào)EOC,片選信號(hào)/CS;地址A、B、C已接D0、D1、D2。7、四位半A/D轉(zhuǎn)換電路(ICL7135)電源+2.5V,+5M-5V。輸入Vin5。使用單端輸入INH1,INL0(負(fù)端輸入)已接地。輸入范圍為0V~1.9999V,對(duì)應(yīng)的輸出數(shù)據(jù)為00000~19999(BCD碼)。轉(zhuǎn)換狀態(tài)信號(hào)BUSY。A/D轉(zhuǎn)換時(shí)為高電平,轉(zhuǎn)換結(jié)束時(shí)為低電平,可供查詢或中斷申請(qǐng)用。時(shí)鐘CLKIN。接1/8ALE,單片機(jī)晶振頻率為12MHZ,則1/8ALE為250KHZ,轉(zhuǎn)換頻率約為6次/秒。轉(zhuǎn)換控制端R/H已接高電平,表示ICL7135將連續(xù)自動(dòng)轉(zhuǎn)換。過量程標(biāo)志OVER。當(dāng)輸入信號(hào)超過1.9999V時(shí),輸出高電平。欠量程標(biāo)志UNDER。當(dāng)輸入信號(hào)小于量程的9%(0.1800V)時(shí),輸出高電平。但在單端輸入時(shí),輸入信號(hào)在0V~0.1800V時(shí)并不影響A/D轉(zhuǎn)換器的正常工作。位狀態(tài)輸出D5、D4、D3、D2、D1。轉(zhuǎn)換結(jié)束以后的任一時(shí)刻,只有一位輸出高電平,其它輸出低電平。分別表示現(xiàn)時(shí)數(shù)據(jù)輸出為萬、千、百、十、個(gè)位。數(shù)據(jù)輸出B8、B4、B2、B1。以BCD碼形式輸出(0000~1001),分時(shí)輸出萬、千、百、十、個(gè)位數(shù)據(jù)(00000~19999)。WR7調(diào)整ICL7135第2腳(標(biāo)準(zhǔn)電壓端VREF)電壓為1.0000V。WWY WUTST徵團(tuán) MbeWWY WUTST徵團(tuán) Mbe awixrrCEEF-UIIKL?I3SPCL*V-VEST南OHD圖1-7A/D轉(zhuǎn)換電路(ICL7135)8、8031擴(kuò)展I/O口8255(1)電源+5V;8031引出端/INT0>/INT1、T0、T1、/WR、/RD、P0.0~P0.7;8255(1)片選信號(hào)為/CS,PA口為PA7~PA0,PB口為PB7~PB0,PC口為PC7~PC0譯碼電路74138輸出/Y3~/Y7,地址范圍為6000H~FFFFH;雙分頻電路74393輸出為1/2ALE、1/4ALE、1/8ALE(輸入已接ALE)。原理圖見下頁圖1-8。八■--I岑口gIaltetel至舌舌三七三ESEESSSSME站YEE八■--I岑口gIaltetel至舌舌三七三ESEESSSSME站YEE上沒1W?■聲中『Gm*:臺(tái)叫?.?21;l3<?---I-CEb_io^OEfcsos^ofEsaastMi'-TTregM"TTregM"圖1-88031擴(kuò)展8255(1)原理圖9、利用8255(2)擴(kuò)展LED顯示器及行列式鍵盤電源+5V;8255(2)片選信號(hào)為/CS;LED顯示器為共陰極,MC1413為反向驅(qū)動(dòng)器,三極管9013為正向驅(qū)動(dòng)原理圖見下頁圖1-9。RH「■HREWaTnRFikFG-Q口一rjkTBApa,一爐弋展0我*堂里堂EXEEkm:圖1-98255(2)擴(kuò)展LED顯示器及行列式鍵盤原理圖10、RS-422用行口電源+5V;輸入為IN(+/-),輸出為OUT(+/-)。圖圖1-12555脈沖電路UlMIM比我記圖1-10RS-422用行口11、固態(tài)繼電器(負(fù)載)控制電路電源+5V;控制信號(hào)輸入為CONin,輸出為CONout(+/-);控制信號(hào)CONin為高時(shí),負(fù)載接通電源。圖1-11固態(tài)繼電器控制電路12、555脈沖電路電源+5V;輸出為Fout;WR8調(diào)節(jié)輸出信號(hào)頻率。見圖1-12。13、撥碼盤電路電源+5V;輸出為高位“8421”端口和低位“8421”端口圖1-1314、鈕子開關(guān)電路電源+5V;輸出為K0?K7;鈕子開關(guān)撥向上方時(shí)輸出為高“1”,撥向下方時(shí)輸出為低“0”15、LED發(fā)光二極管電路電源+5V;輸入為L0?L7;輸入為高時(shí)發(fā)光二極管亮,輸入為低時(shí)發(fā)光二極管滅(7406為反向驅(qū)動(dòng)器)圖1-15LED發(fā)光二極管電路16、單脈沖輸出電路電源+5V;K為按鈕。圖1-16單脈沖輸出電路第二章基本程序設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)一數(shù)據(jù)傳送實(shí)驗(yàn)一、目的:熟悉單片機(jī)仿真開發(fā)器的使用;掌握編程的方法;掌握8031內(nèi)部RAM的數(shù)據(jù)操作。二、內(nèi)容:內(nèi)部RAM40H~4FH單元置數(shù)A0H~AFH,然后將40H~AFH單元中內(nèi)容送到內(nèi)部RAM50H~5FH單元中。編輯、編譯、運(yùn)行程序,檢查內(nèi)部RAM中的結(jié)果。三、參考程序:ORG0000HRESET:AJMPMAINORG003FHMAIN:MOVR0,#40HMOVR2,#10HMOVA,#0A0HA1:MOV@R0,AINCR0INCADJNZR2,A1MOVR0,#40HMOVR1,#50HMOVR2,#10HA2:MOVA,@R0MOV@R1,AINCR0INCR1DJNZR2,A2A3:SJMPA3四、分析以上程序五、運(yùn)行程序后(暫停),檢查并記錄相關(guān)單元內(nèi)容*六、按以上步驟,驗(yàn)證教材中程序設(shè)計(jì)的例題實(shí)驗(yàn)二多字節(jié)十進(jìn)制加法實(shí)驗(yàn)一、目的:掌握MCS-51匯編語言程序設(shè)計(jì)方法。二、內(nèi)容:多字節(jié)的十進(jìn)制加法。加數(shù)存儲(chǔ)單元首地址由R0指出,被加數(shù)和結(jié)果的存儲(chǔ)單元首地址由R1指出,字節(jié)數(shù)由R2指出。編輯、編譯、運(yùn)行程序,檢查內(nèi)部RAM中的結(jié)果。三、參考程序:加數(shù)存儲(chǔ)單元為:31H、30H,被加數(shù)存儲(chǔ)單元為:21H、20H,結(jié)果存儲(chǔ)單元為:22H、21H、20H。ORG0000HRESET:AJMPMAINORG0100HMAIN:MOVSP,#60HMOVR0,#31HMOV@R0,#22DECR0MOV@R0,#33MOVR1,#21HMOV@R1,#44DECR1MOV@R1,#55MOVR2,#02HACALLDACEHERE:SJMPHEREDACE:CLRCDAL:MOVA,@R0ADDCA,@R1DAAMOV@R1,AINCR0INCR1DJNZR2,DALCLRAMOVACC.0,CMOV@R1,ARET四、分析以上程序。五、運(yùn)行程序后(暫停),檢查并記錄相關(guān)單元內(nèi)容。六、修改加數(shù)和被加數(shù)(十進(jìn)制數(shù)),重復(fù)以上過程七、填寫下列單元地址及內(nèi)容:TOC\o"1-5"\h\z加數(shù)單元地址 ()()加數(shù)單元地址 ()()結(jié)果單元地址( )()()加數(shù)數(shù)值加數(shù)數(shù)值結(jié)果數(shù)值*八、按以上步驟,驗(yàn)證作業(yè)中程序設(shè)計(jì)的習(xí)題第三章I/O口(8255)擴(kuò)展及外部中斷實(shí)驗(yàn)實(shí)驗(yàn)三8255輸入輸出實(shí)驗(yàn)一、目的:掌握8031單片機(jī)并行口擴(kuò)展方法;熟悉8255芯片性能,掌握其編程方法。二、內(nèi)容:8255(1)從PA口輸入,從PB口輸出。硬件連接框圖見圖3-1。相關(guān)電路原理見第一章圖1-8、圖1-14和圖1-15。圖3-1三、實(shí)驗(yàn)步驟:1、硬件連接:鈕子開關(guān)K0~K7連接8255(1)的PA0~PA7;發(fā)光二極管L0~L7連接8255(1)的PB0~PB7;8255(1)片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通2、軟件設(shè)計(jì):8255(1)初始化,數(shù)據(jù)從PA口輸入,取反后從PB口輸出3、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。四、參考程序框圖見圖3-2。*五、查詢資料,了解其它常用的并行I/O口芯片。圖3-2參考程序框圖六、參考程序:參考程序中8255(1)片選信號(hào)/CS連接/Y3ORG0000HAJMPMAINORG0100HMAIN:MOVDPTR,#6003HMOVA,#90HMOVX@DPTR,AL1: MOVDPTR,#6000HMOVXA,@DPTRCPLAMOVDPTR,#6001HMOVX@DPTR,ASJMPL1實(shí)驗(yàn)四外部中斷實(shí)驗(yàn)一、目的:了解單片機(jī)中斷原理、中斷過程、中斷方式的選擇及編程方法。二、內(nèi)容:利用單脈沖輸出電路的脈沖,通過/INTO向CPU申請(qǐng)外部中斷,CPU響應(yīng)中斷后,執(zhí)行中斷服務(wù)子程序。中斷服務(wù)子程序內(nèi)容為:從8255(1)PA口輸入數(shù)據(jù),取反后從PB口輸出。硬件連接框圖見圖3-3。相關(guān)電路原理圖見第一章圖1-8、圖1-14、圖1-15和圖1-16。圖3-3三、實(shí)驗(yàn)步驟:1、硬件連接:鈕子開關(guān)K0~K7連接PA0~PA7;發(fā)光二極管L0~L7連接PBO~PB7;8255(1)片選信號(hào)/CS連接/Y3~/Y7(任選其一);單脈沖輸出電路負(fù)脈沖輸出端連接 /INTO;將相關(guān)硬件模塊的電源短路塊接通。2、軟件設(shè)計(jì):主程序中等待外部中斷;中斷服務(wù)子程序中數(shù)據(jù)從PA口輸入,取反后從PB口輸出。3、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。四、參考程序框圖見圖3-4。*五、8051單片機(jī)5個(gè)中斷源的中斷矢量入口地址?哪些中斷申請(qǐng)標(biāo)志由CPU自動(dòng)清除?哪些中斷申請(qǐng)標(biāo)志必須由軟件清除?圖3-4參考程序框圖六、參考程序:參考程序中8255(1)片選信號(hào)/CS連接/Y3org0000hajmpmainorg0003hajmpintorg0100hmain:movdptr,#6003hmova,#90hmovx@dptr,a ;8255PA口輸入PB口輸出setbeasetbex0setbit0 ;/INT0邊沿觸發(fā)nopnopsjmp$int: movdptr,#6000hmovxa,@dptrcplamovdptr,#6001hmovx@dptr,areti第四章顯示器、鍵盤及BCD撥碼盤擴(kuò)展實(shí)驗(yàn)實(shí)驗(yàn)五動(dòng)態(tài)LED顯示實(shí)驗(yàn)一、目的:了解動(dòng)態(tài)LED顯示器電路的結(jié)構(gòu)。通過實(shí)驗(yàn)掌握動(dòng)態(tài)LED顯示器軟硬件設(shè)計(jì)方法。二、內(nèi)容:設(shè)計(jì)程序在六位LED顯示器上顯示字符“123456'硬件連接框圖見圖4-1。LED顯示器電路原理圖見第一章圖1-9。三、實(shí)驗(yàn)步驟:1、硬件連接:8255(2)圖4-1片選信號(hào)三、實(shí)驗(yàn)步驟:1、硬件連接:8255(2)圖4-1片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通。2、2、軟件設(shè)計(jì):1)8255(2)PAHPA7控制小數(shù)點(diǎn)(正向驅(qū)動(dòng)),PA6~PA0控制1)字形(反向驅(qū)動(dòng));8255(2)PB口PB5~PB0控制字位(反向驅(qū)動(dòng));LED顯示器為共陰極。)2ms軟件延時(shí)子程序:DELAY2MS:MOVR3,#04HDELAY0:MOVR4,#0FFHDELAY1:DJNZR4,DELAY1DJNZR3,DELAY0RET)字形碼(0~F):DB40H,79H,24H,30HDB19H,12H,02H,78HDB00H,10H,08H,03HDB46H,21H,0EH,41H、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。四、參考程序框圖見下頁圖4-2。*五、高級(jí)要求:、顯示小數(shù)點(diǎn)。在左邊第3位后面增加小數(shù)點(diǎn)的顯示,該位字形碼如何確定?修改程序,觀察結(jié)果。、設(shè)計(jì)程序,使顯示器產(chǎn)生動(dòng)感顯示效果,顯示字符從左向右移動(dòng)。

圖4-2程序框圖六、參考程序:參考程序中8255(2)片選信號(hào)/CS接N3。org0000hajmpmainorg0100hmain:movdptr,#6003h ;8255(2) 初始化mova,#80h;PA 口PB口輸出movx@dptr,a;loop2:movr7,#06h;LEDmovr6,#01h ;movr5,#01h ;loop1:mova,r6 ;PBmovdptr,#6001h ;movx@dptr,a ;mova,r5;movdptr,#dsp ;movca,@a+dptr ;movdptr,#6000h ;movx@dptr,a ;acalldelay2ms ;mova,r6;rla ;movr6,a;incr5 ;djnzr7,loop1;ajmploop2;delay2ms:movr3,#04h;2MSdelay0:movr4,#0ffh;delay1:djnzr4,delay1;djnzr3,delay0;ret ;dsp: db40h,79h,24h,30h;db19h,12h,02h,78hdb00h,10h,08h,03hdb46h,21h,06h,0eh顯示六位從左邊第一位開始顯示從“1”開始顯示口送位碼查字形碼送字形碼延時(shí)2MS指向下一位顯示下一個(gè)數(shù)六位顯示完?六位顯示完,重新開始延時(shí)子程序字形表實(shí)驗(yàn)六BCD撥碼盤擴(kuò)展實(shí)驗(yàn)一、目的:掌握BCD撥碼盤的擴(kuò)展方法。二、內(nèi)容:讀入兩位BCD撥碼盤的數(shù)據(jù),在LED顯示器上顯示硬件連接框圖見圖4-3。相關(guān)原理圖見第一章圖1-8、圖1-9及圖1-12。圖4-3三、實(shí)驗(yàn)步驟:1、硬件連接:將BCD撥碼盤高位、低位“8421”輸出分別接8255(1)PA口的PA7~PA4PA3~PA0;8255(1)片選信號(hào)/CS連接/Y3~/Y7(任選其一);8255(2)片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通。2、軟件設(shè)計(jì):8255(1)PA口輸入;8255(2)PA口PA7控制小數(shù)點(diǎn),8255(2)PA口PA6~PA0控制字形(反向驅(qū)動(dòng));8255(2)PB口PB5~PB0控制字位(反向驅(qū)動(dòng));LED顯示器為共陰極。*四、高級(jí)要求:將兩位BCEB據(jù)讀入后相乘,積送去顯示。(先把BCM變換成16進(jìn)制數(shù),相乘后再變換成BC則,送去顯示。)五、參考程序:參考程序中8255(1)片選信號(hào)/CS連接/Y7;8255(2)片選信號(hào)/CS連接/Y3oORG0000HAJMPSTARTORG0100HSTART:MOVR0,#50HMOVR2,#06HLOOP0:MOV@R0,#10HINCR0DJNZR2,LOOP0MOVDPTR,#6003HMOVA,#80HMOVX@DPTR,AMOVA,#90HMOVDPTR,#0E003HMOVX@DPTR,AMAIN:ACALLLEDMOVDPTR,#0E000HMOVXA,@DPTRMOVB,AANLA,#0F0HSWAPAMOV50H,AMOVA,BANLA,#0FHMOV51H,AAJMPMAINLED:MOVR0,#01HMOVR1,#50HLOOP:MOVA,R0MOVDPTR,#6001HMOVX@DPTR,AMOVA,@R1MOVDPTR,#SEGMOVCA,@A+DPTRMOVDPTR,#6000HMOVX@DPTR,AACALLDELAYMOVA,#7FHMOVX@DPTR,AINCR1MOVA,R0RLA;給顯示緩沖區(qū)50H-55H賦值;顯示全黑;對(duì)8255(2)進(jìn)行初始化 (接LED顯示器);對(duì)8255(1)進(jìn)行初始化 (接BCD撥盤);調(diào)顯示子程序。;讀BCD值。;位碼;顯示緩沖區(qū)首址;送位碼;送段碼;清黑;指向下一位MOVR0,ACJNER0,#04H,LOOP ;兩位顯示完返回RETDELAY:MOVR7,#02HDELAY0:MOVR6,#0FFHDELAY1:DJNZR6,DELAY1DJNZR7,DELAY0RETSEG:DB40H,79H,24H,30H,19H,12H,02H,78H;字形表DB00H,10H,08H,03H,46H,21H,06H,0EH實(shí)驗(yàn)七鍵盤顯示器擴(kuò)展實(shí)驗(yàn)一、目的:了解鍵盤顯示器擴(kuò)展電路的結(jié)構(gòu);掌握行列式鍵盤輸入程序設(shè)計(jì)方法。二、內(nèi)容:從鍵盤上輸入0?9及A~F,在LED顯示器上顯示硬件連接框圖見圖4-4。鍵盤顯示器原理圖見第一章圖1-9。圖4-4三、實(shí)驗(yàn)步驟:1、硬件連接:8255(2)片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通。2、軟件設(shè)計(jì):8255(2)PA口PA7控制小數(shù)點(diǎn),8255(2)PA口PA6~PA0控制字形(反向驅(qū)動(dòng));8255(2)PB口PB5~PB0控制字位(反向驅(qū)動(dòng));LED顯示器為共陰極。8255(2)PC口PC7~PC4為行列式鍵盤的行線;PC3~PC0為行列式鍵盤的列線;行線、列線均由上拉電阻接+5V。行線輸出全零時(shí)讀列線輸入;列線輸出全零時(shí)讀行線輸入。4)鍵值表(0~9及A~F鍵按下時(shí),PC7~PC4、PC3~PC0輸入合并后的數(shù)值)DB7EH,0BEH,0BDH,0BBHDB0DEH,0DDH,0DBH,0EEHDB0EDH,0EBH,0E7H,0D7HDB0B7H,77H,7BH,7DH3、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。*四、高級(jí)要求:查詢資料,舉出其它形式的鍵盤、顯示器軟硬件設(shè)計(jì)方法。分析優(yōu)缺點(diǎn)。五、參考程序:參考程序中8255(2)片選信號(hào)/CS接/Y3。ORG0000HAJMPSTARTORG0100HSTART:MOVA,#06HMOVR0,#75H六位顯示緩沖區(qū)(75H-7AH清零CLE:MOV@R0,#00H;INCR0;DECA;JNZCLE;KEY:ACALLLEDMOVDPTR,#6003H;MOVA,#88H;PAMOVX@DPTR,A;PCMOVDPTR,#6002H;PC調(diào)顯示子程序掃描鍵盤。8255口PB口輸出(2)初始化(LED顯示器)口高四位輸入低四位輸出(行列式鍵盤)口低四位輸出零MOVA,#00HMOVX@DPTR,A;MOVXA,@DPTR;PC口高四位輸入ANLA,#0F0HMOV74H,ACJNEA,#0F0H,READ;AJMPKEYREAD:MOVDPTR,#6003HMOVA,#81HMOVX@DPTR,A;PCMOVDPTR,#6002H;PC鍵值高四位送 74H鍵值高四位非全“1”有鍵按下鍵值高四位全“1”無鍵按下;有鍵按下。8255(2)初始化(行列輸入輸出交換),PAHPB口輸出(LED顯示器),口高四位輸出低四位輸入(行列式鍵盤)口高四位輸出零MOVA,#00HMOVX@DPTR,AMOVXA,@DPTR;PC口低四位輸入ANLA,#0FHADDA,74HMOV74H,AACALLDELAY12MS;KEY1:ACALLLEDMOVDPTR,#6003H;MOVA,#88H ;MOVX@DPTR,AMOVDPTR,#6002H;鍵值低四位送 74H軟件延時(shí)再掃描一次MOVA,#00H ;MOVX@DPTR,A;MOVXA,@DPTR;ANLA,#0F0H ;MOV73H,A ;MOVDPTR,#6003H;MOVA,#81H ;MOVX@DPTR,A;MOVDPTR,#6002H;MOVA,#00H ;MOVX@DPTR,A;MOVXA,@DPTR;ANLA,#0FH ;ADDA,73H ;CLRC;SUBBA,74H ;JZKEY1;MOVR1,#00H ;MOVR5,#10H ;16兩次值相同去再掃描一次(按鍵未松)按鍵已松。R1作計(jì)數(shù)器個(gè)鍵SEARCH:MOVDPTR,#KTABLEB值表首址MOVA,R1 ;MOVCA,@A+DPTR;CLRC ;SUBBA,74H ;JZFIND ;INCR1;DJNZR5,SEARCH;AJMPKEY ;16FIND:MOVA,R1;MOVR5,A ;R1MOVR7,#05H ;MOVR0,#79H ;MOVR1,#7AH ;ROL:MOVA,@R0 ;MOV@R1,A ;DECR0 ;DECR1 ;DJNZR7,ROL;MOV75H,R5 ;AJMPKEY;查鍵表值比較讀入鍵值與鍵值表數(shù)據(jù)相同則鍵值有效,去處理顯示緩沖區(qū)不相同比較下一個(gè)鍵值表數(shù)據(jù)個(gè)鍵值表數(shù)據(jù)比較完鍵值有效準(zhǔn)備顯示數(shù)值與鍵盤標(biāo)稱值(0-F)相同顯示緩沖區(qū)(7AH-75H數(shù)據(jù)向前移位新讀鍵盤標(biāo)稱值(0-F)送顯示緩沖區(qū) 75HLED:MOVDPTR,#6003h;顯示子程序MOVA,#80h ;8255 (2)初始化MOVX@DPTR,ASHOW:MOVR0,#75h ;顯示緩沖區(qū)首地址MOVR2,#01h ;位碼MOVA,R2;LOOP:MOVDPTR,#6001H;位碼送PB口MOVX@DPTR,A;MOVDPTR,#6000H;PA口送全黑字形碼MOVA,#7FH;MOVX@DPTR,A;字形表首地址取顯示緩沖區(qū)值取字形碼字形碼送字形表首地址取顯示緩沖區(qū)值取字形碼字形碼送PA口軟件延時(shí)指向下一顯示緩沖區(qū)地址第六位顯示完?未完顯示下一位第六位顯示完返回MOVA,@R0 ;MOVCA,@A+DPTR;MOVDPTR,#6000H;MOVX@DPTR,A;ACALLDELAY1MSINCR0;MOVA,R2JBACC.5,LOOP1RLA ;MOVR2,A;AJMPLOOPLOOP1:RETDELAY12MS:MOVR3,#0FFH;DLAY0:MOVR4,#0FFHDLAY1:DJNZR4,DLAY1DJNZR3,DLAY0RETDELAY1MS:MOVR3,#02H;DELAY0:MOVR4,#0FFHDELAY1:DJNZR4,DELAY1DJNZR3,DELAY0RETLTABLE:DB40H,79H,24H,30H,19H;字形表DB12H,02H,78H,00H,10HDB08H,03H,46H,21H,06HDB0EHKTABLE:DB7EH,0BEH,0BDH,0BBH鍵值表;DB0DEH,0DDH,0DBH,0EEHDB0EDH,0EBH,0E7H,0D7HDB0B7H,77H,7BH,7DHEND第五章計(jì)數(shù)器定時(shí)器實(shí)驗(yàn)實(shí)驗(yàn)八計(jì)數(shù)器實(shí)驗(yàn)、目的:掌握計(jì)數(shù)器的使用方法,學(xué)會(huì)計(jì)數(shù)器工作方式的設(shè)置、內(nèi)容:利用計(jì)數(shù)器對(duì)單脈沖電路產(chǎn)生的脈沖進(jìn)行計(jì)數(shù),并在 LED顯示器上顯示硬件連接框圖見圖5-1。相關(guān)電路原理圖見第一章圖1-9及圖1-16。圖5-1三、實(shí)驗(yàn)步驟:1、硬件連接:將單脈沖電路的正脈沖輸出端連接8031計(jì)數(shù)器T0的輸入端T0;8255(2)片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通。2、軟件設(shè)計(jì):定時(shí)器/計(jì)數(shù)器T0設(shè)置成計(jì)數(shù)方式,工作方式為方式1,計(jì)數(shù)初值0000H,軟件啟動(dòng);對(duì)單脈沖電路的正脈沖進(jìn)行計(jì)數(shù),并將計(jì)數(shù)值在 LED顯示器上顯示;8255(2)PADPA7控制小數(shù)點(diǎn),PA6~PA0控制字形(反向驅(qū)動(dòng));8255(2)PB口PB5~PB0控制字位(反向驅(qū)動(dòng));LED顯示器為共陰極。3、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。*四、高級(jí)要求:要求將計(jì)數(shù)器中的數(shù)值以十進(jìn)制數(shù)的形式顯示。修改程序,觀察結(jié)果。五、參考程序:參考程序中8255(2)片選信號(hào)/CS接/Y3ORG0000HAJMPSTARTORG0100HSTART:MOVTMOD,#05H;T0初始化。計(jì)數(shù)方式 1,軟件啟動(dòng)MOVTH0,#00H; 初值MOVTL0,#00H;CLREA; 關(guān)中斷CLRET0;SETBTR0; 啟動(dòng)計(jì)數(shù)器MOVDPTR,#6003H; 8255初始化(擴(kuò)展LED顯示器)MOVA,#80HMOVX@DPTR,AMOVR7,#06H;顯示緩沖區(qū)清 0MOVR1,#70H;CLE:MOV@R1,#00H;INCR1DJNZR7,CLEREADT0:ACALLLED;MOVA,TH0; 讀計(jì)數(shù)器MOV41H,A;MOVA,TL0;MOV40H,A;MOVA,41H;CJNEA,TH0,READT0;處理進(jìn)位MOV73H,A; 高位拆字ANLA,#0FHMOV72H,AMOVA,73HANLA,#0F0HSWAPAMOV73H,A低位拆字MOVA,40H;低位拆字MOV71H,AANLA,#0FHMOV70H,AMOVA,71HANLA,#0F0HSWAPAMOV71H,AAJMPREADT0顯示子程序顯示緩沖區(qū) 顯示子程序顯示緩沖區(qū) 75H-70H位碼B口位選MOVR0,#75H;MOVR2,#01h;MOVA,R2LOOP:MOVDPTR,#6001H;MOVX@DPTR,AMOVDPTR,#LTABLE;查字形碼MOVA,@R0MOVCA,@A+DPTRMOVDPTR,#6000H;A口字選MOVX@DPTR,AACALLDELAY2MSDECR0;MOVA,R2RLAMOVR2,ADJNZR7,LOOP;RETDELAY2MS:MOVR3,#04HDELAY0:MOVR4,#0FFHDELAY1:DJNZR4,DELAY1DJNZR3,DELAY0RETLTABLE:DB40H,79H,24H,30HDB19H,12H,02H,78HDB00H,10H,08H,03HDB46H,21H,06H,0EH實(shí)驗(yàn)九定時(shí)器(時(shí)鐘)實(shí)驗(yàn)一、目的:掌握定時(shí)器的使用方法,學(xué)會(huì)定時(shí)器工作方式的設(shè)置二、內(nèi)容:在LED顯示器上顯示時(shí)、分、秒。硬件連接框圖見圖5-2。LED顯示器電路原理圖見第一章圖1-9。圖5-2三、實(shí)驗(yàn)步驟:1、硬件連接:將8255(2)片選信號(hào)/CS連接/Y3~/Y7(任選其一);將相關(guān)硬件模塊的電源短路塊接通。2、軟件設(shè)計(jì):定時(shí)器/計(jì)數(shù)器T1設(shè)置成定時(shí)方式,工作方式為方式1,軟件啟動(dòng),允許中斷(晶振頻率為12M);利用定時(shí)器T1產(chǎn)生50MS定時(shí)中斷,20次中斷后秒加1,60秒后分加1,60分后時(shí)加1,24時(shí)后恢復(fù)0時(shí);將時(shí)、分、秒送入LED顯本器顯??;8255(2)PADPA7控制小數(shù)點(diǎn),PA6~PA0控制字形(反向驅(qū)動(dòng));PB口PB5~PB0控制字位(反向驅(qū)動(dòng));LED顯示器為共陰極。3、執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。*四、高級(jí)要求:1、利用鍵盤設(shè)置時(shí)鐘初值,并利用鍵盤控制時(shí)鐘的暫停和啟動(dòng)。修改程序,觀察結(jié)果。2、查詢資料,了解專用時(shí)鐘芯片及其與8031單片機(jī)的連接方式。五、參考程序:參考程序中8255(2)片選信號(hào)/CS接/Y3o

ORG0000HAJMPMAIN;ORG001BH ;T1AJMPSERVE;的中斷入口地址轉(zhuǎn)向中斷服務(wù)程序的中斷入口地址轉(zhuǎn)向中斷服務(wù)程序MAIN:MOVTMOD,#10H;設(shè)T1工作于定時(shí)模式1MOVTH1,#3CHMOVTL1,#0B0H ; 賦計(jì)數(shù)初值(12MHz寸50MSMOVDPTR,#6003H;8255(2)初始化MOVA,#80HMOVX@DPTR,ATOC\o"1-5"\h\zMOV20H,#14H ;CLRAMOV30H,A ;MOV31H,A ;MOV32H,A ;SETBET1 ;SETBEA ;SETBTR1 ;LOOP:ACALLLED裝入中斷次數(shù)(20裝入中斷次數(shù)(20次)時(shí)單元清 0(時(shí)分秒初值)分單元清 0秒單元清 0允許T1中斷允許CPU^斷啟動(dòng)定時(shí)器 T1調(diào)用顯示子程序(等待中斷)LED:MOVA,30HANL30H,#0F0HMOV40H,30HMOV30H,AANL30H,#0FHMOV41H,30HMOVA,31HANL31H,#0F0HMOV42H,31HMOV31H,AANL31H,#0FHMOV43H,31HMOVA,32HANL32H,#0F0HMOV44H,32HMOV32H,A顯示子程序40與41單元將分單元拆為42與43單元將秒單元拆為44與45單元ANL32H,#0FHMOV45H,32HMOVR0,#40H ; MOVR0,#40H ; R0MOVR1,#01H ;MOVR5,#06H ; R5指向顯示緩沖區(qū)首位送位碼到R1作計(jì)數(shù)器,顯示 6位LOOP1:MOVDPTR,#6001H;8255的PB口送位選碼MOVA,R1MOVX@DPTR,AMOVDPTR,#SEGMOVA,@R0MOVCA,@A+DPTR;8255的PA;8255的PA口送段選碼調(diào)用延時(shí)子程序指向下一個(gè)緩沖區(qū)指向下一個(gè)顯示位INCR0 ;MOVA,R1RLA ;MOVR1,ADJNZR5,LOOP1RETDELAY1MS:MOVR7,#02H ;延時(shí)1毫秒DELAY0:MOVR6,#0FFHDELAY1:DJNZR6,DELAY1DJNZR7,DELAY0RETSEG:DB40H,79H,24H,30H,19HDB12H,02H,78H,00H,10H;0-9 字形表SERVE:PUSHPSW;中斷服務(wù)子程序PUSHACC; 保護(hù)現(xiàn)場MOVTH1,#3CH重新賦計(jì)數(shù)初值秒未到,返回重置中斷次數(shù)重新賦計(jì)數(shù)初值秒未到,返回重置中斷次數(shù)DJNZ20H,RETUNT;1MOV20H,#14HMOVA,#01HADDA,32HDAATOC\o"1-5"\h\zMOV32H,A ;CJNEA,#60H,RETUNTMOV32H,#00H ;MOVA,#01HADDA,31H ;DAAMOV31H,A ;CJNEA,#60H,RETUNT;MOV31H,#00H ;MOVA,#01HADDA,30H ;DAAMOV30H,A ;CJNEA,#24H,RETUNTMOV30H,#00H ;RETUNT:POPACCPOPPSW ;RETI ;轉(zhuǎn)換為BCM未計(jì)滿60秒,返回計(jì)滿 60秒,“秒位”清 0“分位”加 1轉(zhuǎn)換為BCM未計(jì)滿60分,返回計(jì)滿60分,“分位”清 0“時(shí)位”加 1轉(zhuǎn)換為BC則未計(jì)滿24小時(shí),返回計(jì)滿24小時(shí),“時(shí)位”清 0恢復(fù)現(xiàn)場返回第六章串行通信實(shí)驗(yàn)實(shí)驗(yàn)十串行口實(shí)驗(yàn)一、目的:利用用行口實(shí)現(xiàn)單片機(jī)間的通信。二、內(nèi)容:將A單片機(jī)的內(nèi)存單元40H~4FH的內(nèi)容通過用行口傳輸?shù)紹單片機(jī)中,存放在B單片機(jī)的內(nèi)存單元50H~5FH。硬件連接框圖見圖6-1。用行口電路原理圖見第一章圖1-10。圖6-1三、實(shí)驗(yàn)步驟:1、硬件連接:A單片機(jī)實(shí)驗(yàn)儀RS-422接口輸入端IN(+,-)連接B單片機(jī)實(shí)驗(yàn)儀RS-422接口輸出端OUT(+,-);B單片機(jī)實(shí)驗(yàn)儀RS-422接口輸入端IN(+,-)連接A單片機(jī)實(shí)驗(yàn)儀RS-422接口輸出端OUT(+,-)。連接相關(guān)硬件模塊的電源短路塊。2、軟件設(shè)計(jì):A、B單片機(jī)用行口工作方式為方式1,定時(shí)器T1做波特率發(fā)生器,波特率為1200HZ(晶振頻率為12M);A機(jī)在程序中給40H~4FH單元賦值;B機(jī)接收的數(shù)據(jù)存放在50H~5FH單元中。3、執(zhí)行程序后,暫停。從窗口中檢查B機(jī)50H~5FH單元中的內(nèi)容。四、參考程序框圖見下頁圖6-2。*五、高級(jí)要求:

要求先將A單片機(jī)的內(nèi)存單元40H~4FH的內(nèi)容通過用行口傳輸?shù)紹單片機(jī)中,存放在B單片機(jī)的內(nèi)存單元50H~5FH;然后再將B單片機(jī)的內(nèi)存單元40H~4FH的內(nèi)容通過用行口傳輸?shù)紸單片機(jī)中,存放在A單片機(jī)的內(nèi)存單元50H~5FH。A、B單片機(jī)之間利用聯(lián)絡(luò)字進(jìn)行協(xié)調(diào)。A機(jī):初始化初始化A機(jī):初始化初始化圖6-2 用行口實(shí)驗(yàn)程序流程圖(高級(jí)要求)六、參考程序:1、發(fā)送:ORG0000HAJMPMAINORG0100HMAIN: MOVR0,#40H ;40HMOVR7,#10HMOVA,#00HLOOP: MOV@R0,AINCAINCR0DJNZR7,LOOPFMT_T_S:MOVTMOD,#20H;MOVTH1,#0F3HMOVTL1,#0F3HSETBTR1MOVSCON,#50H;MOVPCON,#80H;FMT_RAM:MOVR1,#40H ;MOVR6,#00H ;MOVR5,#10H ;TX_ACK:MOVA,#06H ;MOVSBUF,AWAIT1: JBCTI,RX_YES;SJMPWAIT1RX_YES:JBCRI,NEXT1;SJMPRX_YESNEXT1: MOVA,SBUF ;CJNEA,#00H,TX_ACKTX_BYTES:MOVA,R5 ;MOVSBUF,AWAIT2: JBCTI,TX_NEWSSJMPWAIT2TX_NEWS:MOVA,@R1 ;MOVSBUF,AADDA,R6MOVR6,AINCR1;WAIT3: JBCTI,NEXT2SJMPWAIT3NEXT2: DJNZR5,TX_NEWS;TX_SUM:MOVA,R6;?4FH賦值波特率設(shè)置串行口初始化置SMOD1數(shù)據(jù)首址送 R1清累加和寄存器送字節(jié)數(shù)至 R5發(fā)呼叫信號(hào)“ 06H”等待發(fā)送完接收乙機(jī)回答判斷乙機(jī)是否同意接收向乙機(jī)發(fā)送要傳送的字節(jié)個(gè)數(shù)發(fā)送指向下一個(gè)數(shù)據(jù)判發(fā)送結(jié)束

數(shù)據(jù)發(fā)送完,發(fā)累加和給乙機(jī)MOVSBUF,AWAIT4: JBCTI,RX_0FHSJMPWAIT4RX_0FH:JBCRI,IF_0FH; 等待乙機(jī)回答SJMPRX_0FHIF_0FH:MOVA,SBUFCJNEA,#0FH,FMT_T_S;判斷傳送正確否SJMP$2、接收:ORG0000HAJMPMAINORG0100HMAIN: MOVTMOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HSETBTR1MOVSCON,#50HMOVPCON,#80HFMT_RAM:MOVR1,#50HMOVR6,#00H ;RX_ACK: JBCRI,IF_06HSJMPRX_ACKIF_06H:MOVA,SBUFCJNEA,#06H,TX_15HTX_00H:MOVA,#00HMOVSBUF,AWAIT1: JBCTI,RX_BYTESSJMPWAIT1TX_15H:MOVA,#15HMOVSBUF,AWAIT2: JBCTI,HAVE1SJMPWAIT2HAVE1: LJMPRX_ACKRX_BYTES:JBCRI,HAVE2SJMPRX_BYTESHAVE2: MOVA,SBUFMOVR5,ARX_NEWS: JBCRI,HAVE3SJMPRX_NEWSHAVE3: MOVA,SBUFMOV@R1,AINCR1ADDA,R6;;T1初始化;串行口初始化;SMOD=1數(shù)據(jù)首址送 R1清累加和寄存器接收呼叫信號(hào)判斷呼叫信號(hào)是否有誤向甲機(jī)回送同意接收信號(hào)等待應(yīng)答信號(hào)發(fā)送完向甲機(jī)報(bào)告呼叫信號(hào)不正確返回到接受呼叫信號(hào)狀態(tài)接收數(shù)據(jù)塊長度給長度寄存器賦值接收數(shù)據(jù)將接受到的數(shù)據(jù)存入RAM形成累加和MOVR6,ADJNZR5,RX_NEWS;判斷數(shù)據(jù)是否接收完畢RX_SUM: JBCRI,HAVE4;接收校驗(yàn)和SJMPRX_SUMHAVE4: MOVA,SBUF ;判斷傳送是否正確SUBBA,R6CJNEA,#00H,TX_ETX_RIGHT:MOVA,#0FH;向甲機(jī)報(bào)告?zhèn)魉驼_MOVSBUF,AWAIT3: JBCTI,GOODSJMPWAIT3TX_E: MOVA,#0F0H ;向甲機(jī)報(bào)告?zhèn)魉陀姓`MOVSBUF,AWAIT4: JBCTI,AGAINSJMPWAIT4AGAIN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論