版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本科試驗(yàn)報(bào)告課程名稱:?jiǎn)纹瑱C(jī)原理試驗(yàn)項(xiàng)目:定時(shí)/計(jì)數(shù)器試驗(yàn)地點(diǎn):北區(qū)跨越機(jī)房專業(yè)班級(jí):通信工程1101學(xué)號(hào):001365學(xué)生姓名:溫景國指引教師:陳凡04月28日試驗(yàn)一雙字節(jié)BCD加法試驗(yàn)試驗(yàn)?zāi)繕?biāo)和要求1、通過常用指令的使用,深入了解并掌握MCS-51單片機(jī)的指令系統(tǒng)。2、學(xué)習(xí)并掌握雙字節(jié)BCD加法的程序設(shè)計(jì)。3.學(xué)習(xí)匯編語言的程序設(shè)計(jì)基本措施。二、試驗(yàn)內(nèi)容和原理編寫并調(diào)試一個(gè)雙字節(jié)加法程序完成運(yùn)算:A(0030H,0031H)+B(0032H,0033H)=C(0034H,0035H)兩數(shù)的低位相加后保存進(jìn)位位,高位數(shù)相加時(shí),將低位的進(jìn)位加上。三、重要儀器設(shè)備計(jì)算機(jī)一臺(tái),操作系統(tǒng):Windows98//XP,應(yīng)用軟件:WAVE6000。四、源程序與調(diào)試步驟源程序:;程序名稱:ADD.ASM;功效:完成雙字節(jié)加法運(yùn)算A(0030H,0031H)+B(0032H,0033H)=C(0034H,0035H) ORG0000H AJMPMAIN ORG0040HMAIN:MOV0030H,#01HMOV0031H,#11H;A=1101HMOV0032H,#0FFHMOV0033H,#01H;B=01FFHMOVA,0030HADDA,0032H;A的低位與B的低位相加MOV0034H,AMOVA,0031HADDCA,0033H;A的高位與B的高位相加并加上進(jìn)位CyMOV0035H,AEND源程序編寫完后,然后進(jìn)行復(fù)位,單步執(zhí)行觀測(cè)成果是否正確。五、試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)與處理在執(zhí)行單步時(shí),低位的運(yùn)算成果在0034H中,成果是00H((0030H)+(0032H)),高位成果在0035H中,成果為13H((0031H)+(0033H)+(CY))。試驗(yàn)成果與試驗(yàn)預(yù)期成果同樣。六、試驗(yàn)成果與分析當(dāng)進(jìn)行低位加法時(shí),加下來的成果自動(dòng)產(chǎn)生進(jìn)位,并且在狀態(tài)字的最高位中,因此,在進(jìn)行高位相加時(shí)要帶進(jìn)位進(jìn)行相加,否則成果與預(yù)期的不一樣樣。七、試驗(yàn)心得通過對(duì)雙字節(jié)BCD加法編程的練習(xí),深入了解并掌握MCS-51單片機(jī)的指令系統(tǒng),并且熟悉了WAVE6000軟件的使用,對(duì)匯編語言的程序設(shè)計(jì)愈加熟悉。通過詳細(xì)實(shí)踐,對(duì)于裝載指令ORG,帶進(jìn)位加法指令A(yù)DDC有了更明確的了解。寫程序時(shí)常犯的錯(cuò)誤是忘掉了單片機(jī)復(fù)位后pc指向0000H,需要在0000h單元存儲(chǔ)跳轉(zhuǎn)指令跳轉(zhuǎn)到程序入口繼續(xù)執(zhí)行。另外一個(gè)體會(huì)就是程序調(diào)試的重要性,一個(gè)程序,寫好了,編譯好了,只算是成功了二分之一,另二分之一在于調(diào)試,程序執(zhí)行出了問題光靠盯著屏幕極難找到問題所在,要通過度析判斷,合理調(diào)試才能發(fā)覺和處理問題。試驗(yàn)二子程序調(diào)用試驗(yàn)?zāi)繕?biāo):1、通過常用指令的編輯練習(xí),深入了解并掌握MCS-51單片機(jī)的指令系統(tǒng)。2、學(xué)習(xí)并掌握子程序調(diào)用的程序設(shè)計(jì)。3、掌握子程序調(diào)用過程中保護(hù)現(xiàn)場(chǎng)與恢復(fù)現(xiàn)場(chǎng)以及調(diào)用程序與被調(diào)用程序之間的參數(shù)傳遞。4、學(xué)習(xí)匯編語言的程序設(shè)計(jì)基本措施試驗(yàn)內(nèi)容:編寫程序,計(jì)算Y=Σai2試驗(yàn)設(shè)備:計(jì)算機(jī)一臺(tái);操作系統(tǒng):Windowsxp;應(yīng)用軟件:WAVE6000試驗(yàn)源程序:ORG0000HAJMPMAINORG8000HMAIN:MOVR0,#20HMOVR7,#10MOVR3,#0MOVR2,#0LOOP:MOVA,@R0ACALLSORT;調(diào)用求平方子程序ADDA,R2MOVR2,A;書上源程序有錯(cuò)誤,已更正CLRAADDCA,R3MOVR3,AINCR0DJNZR7,LOOP;未完,繼續(xù)SJMP$SORT:MOVDPTR,#TAB;進(jìn)入子程序查平方表MOVCA,@A+DPTRRET;返主程序TAB:DB0,1,4,9,16DB25,36,49,64,81EN:NOPEND試驗(yàn)成果與分析程序執(zhí)行完成時(shí),R2中為1D,R3中為01,成果為011DH(285)與分析成果一致即:0+1+4+9+16+25+36+49+64+81=285。程序以R7(10)作為計(jì)數(shù)變量,通過子程序的查表功效,依次讀取各數(shù)的平方并相加。尤其留心的是,高位相加時(shí)要用ADDC指令,加上低位的進(jìn)位。試驗(yàn)總結(jié):通過本次子程序調(diào)用程序的練習(xí),加深了對(duì)子程序的了解,即怎樣保護(hù)和恢復(fù)現(xiàn)場(chǎng)以及怎樣在調(diào)用程序與被調(diào)用程序之間傳遞參數(shù)。子程序有利于提升編碼效率,縮短了源程序與目標(biāo)程序的長度,節(jié)約了程序存儲(chǔ)的空間,使程序模塊化、通用化,便于閱讀、交流與共享。另外,通過本次試驗(yàn)我對(duì)于wave6000平臺(tái)下程序的編譯、執(zhí)行以及數(shù)據(jù)查看有了深入的認(rèn)識(shí),理論與實(shí)踐的結(jié)合讓我對(duì)課本知識(shí)有了愈加好的了解。試驗(yàn)三冒泡排序試驗(yàn)一、試驗(yàn)?zāi)繕?biāo)和要求(1)熟悉MCS-51指令系統(tǒng),掌握程序設(shè)計(jì)措施。(2)掌握排序程序算法。(3)掌握用循環(huán)程序?qū)崿F(xiàn)數(shù)據(jù)排序的基本措施。二、試驗(yàn)內(nèi)容和原理編寫并調(diào)試一個(gè)通用排序子程序,其功效為將RAM的40H~4FH單元16個(gè)字,節(jié)無符號(hào)二進(jìn)制整數(shù)按從小到大次序排序,將排序后的數(shù)據(jù)存儲(chǔ)在50H~5FH緩沖區(qū)中。從20H單元的第一個(gè)數(shù)開始依次和相鄰單元的另一個(gè)數(shù)比較,假如次序?qū)?,則不作任何操作;假如次序不對(duì),則將這兩個(gè)數(shù)互換位置。這么,在完成第一遍n-1次比較后,n-1次比較后n-1遍比較就可完成排序。在比較中設(shè)置一個(gè)標(biāo)志位flag清零,在循環(huán)結(jié)束時(shí),若flag=1闡明排序未完成,進(jìn)入外循環(huán);若flag=0,闡明排序完成,程序結(jié)束。三、重要儀器設(shè)備計(jì)算機(jī)一臺(tái),操作系統(tǒng):Windows98//XP,應(yīng)用軟件:WAVE6000或其他。四、源程序與調(diào)試步驟源程序: ;程序名稱:MAOPAO.ASM ;功效:用冒泡算法實(shí)現(xiàn)長度為16的數(shù)列由小到大排列源程序: ORG0000HMOVR7,#10H;數(shù)列長度MOVR0,#40H;R0指向首地址MOVR1,#60HSTART:MOVA,R1MOV@R0,AINCR0DECR1DJNZR7,STARTMOVR7,#0FHLP0:MOVR0,#40HMOVA,R7MOVR6,ACLR7FH;設(shè)定7fh位為flag并置0LP1:MOVA,@R0MOV20H,@R0INCR0MOV21H,@R0CLRCSUBBA,21HJCLP2;假如前者不小于后者則進(jìn)行互換SETB7FHMOV@R0,20HDECR0MOV@R0,21HINCR0LP2:DJNZR6,LP1;判斷是否達(dá)成內(nèi)循環(huán)次數(shù)JNB7FH,LP3DJNZR7,LP0;判斷是否達(dá)成外循環(huán)次數(shù)LP3:MOVR7,#10H;傳輸個(gè)數(shù)為16MOVR0,#40HMOVR1,#50HLP4:MOVA,@R0MOV@R1,AINCR0INCR1DJNZR7,LP4SJMP$END先進(jìn)行復(fù)位,進(jìn)行單步執(zhí)行,觀測(cè)成果。五、試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)和處理程序執(zhí)行之前,數(shù)據(jù)排序?yàn)椋?0H,03H,04H,08H,09H,0FH,0CH,0EH,01H,02H,05H,07H,06H,0AH,0BH,0DH排序之后的數(shù)據(jù)次序?yàn)閺牡偷礁?,?01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH,10H六、試驗(yàn)成果與分析冒泡法排序通過雙層循環(huán)完成了數(shù)組從小到大的排列,假設(shè)數(shù)組長度為N,則外層循環(huán)計(jì)數(shù)次數(shù)應(yīng)為N-1,內(nèi)層循環(huán)次數(shù):第一次比較N-1次,第二次比較N-2次,。。。第N-1次比較一次。在每次內(nèi)循環(huán)中進(jìn)行大小比較,滿足前項(xiàng)小于等于后項(xiàng)則進(jìn)入下一個(gè)內(nèi)循環(huán),否則互換前后單元的內(nèi)容。這么循環(huán)完成后即可完成了數(shù)組的從小到大排列。七、試驗(yàn)心得通過本次上機(jī)試驗(yàn),使我對(duì)MCS-51指令系統(tǒng)愈加了解,掌握了程序的設(shè)計(jì)措施,掌握了排序程序算法,并且掌握了使用循環(huán)程序?qū)崿F(xiàn)數(shù)據(jù)排序的基本措施。更重要的是,通過實(shí)踐與錯(cuò)誤,我深深感覺到對(duì)于算法的編程實(shí)現(xiàn)一定要畫出流程圖,搞清楚算法的原理,對(duì)于匯編語言而言,還要做好存儲(chǔ)器作用的規(guī)劃,用到堆棧時(shí)還要做好堆棧的規(guī)劃……雖然看似多了諸多步驟和考慮,不過實(shí)際上是節(jié)約了時(shí)間的,因?yàn)榧偃绮贿@么做就很輕易犯錯(cuò),而要去排除一個(gè)錯(cuò)誤,是很花費(fèi)時(shí)間精力的,不如在設(shè)計(jì)規(guī)劃階段就做好準(zhǔn)備,仔細(xì)思考,從而事半功倍。試驗(yàn)四定期計(jì)數(shù)器一、試驗(yàn)?zāi)繕?biāo)和要求(1)加深對(duì)MCS-51單片機(jī)定期/計(jì)數(shù)器內(nèi)部結(jié)構(gòu)、工作原理和工作方式的了解。(2)掌握定期計(jì)數(shù)器工作在定期和計(jì)數(shù)兩種狀態(tài)下的使用方法。(3)掌握中斷服務(wù)程序的設(shè)計(jì)措施。二、試驗(yàn)內(nèi)容和原理在使用12MHz晶振的條件下,用T1產(chǎn)生50ms定期,兩個(gè)7段LED數(shù)碼管從“00”開始顯示,沒1s加1,抵達(dá)“59”后,再從“00”開始,完成60s定期功效。在定期工作狀態(tài)下,輸入的時(shí)鐘脈沖是由晶體蕩器的輸出經(jīng)12分頻取得的,因此,定期器看作是對(duì)單片機(jī)及其周期的計(jì)數(shù)器。若晶振頻率為12MHz,賊定期器的加1計(jì)數(shù)器每隔1us加1。加1計(jì)數(shù)器計(jì)滿溢出時(shí)才申請(qǐng)中斷,因此在給加1計(jì)數(shù)器賦予計(jì)數(shù)初值時(shí),輸入的是加1計(jì)數(shù)器計(jì)數(shù)的最大值與這一計(jì)數(shù)值的差值。定期器初始化程序定期器包括兩個(gè)控制存儲(chǔ)器TMOD和TCON,向TMOD和TCON寫入對(duì)應(yīng)設(shè)置各個(gè)定期器的操作模式和控制功效。開啟定期器的步驟如下:(1)設(shè)定TMOD的值:TMOD=10H,設(shè)置T1工作于定期方式1。(2)設(shè)定IE的值:開啟中斷SETBET1。(3)設(shè)定TL1和TH1的值:TL1=0B0H,TH1=3CH。(4)開啟T1定期:SETBTR1。三、重要儀器設(shè)備計(jì)算機(jī)一臺(tái),操作系統(tǒng):Windows98//XP,應(yīng)用軟件:WAVE6000。四、源程序與調(diào)試步驟試驗(yàn)程序:ORG0000HAJMPSTART;跳到START處開始執(zhí)行ORG001BH;定期/計(jì)數(shù)器1中斷入口地址AJMPTIME1;跳轉(zhuǎn)到中斷執(zhí)行程序ORG0030HSTART:MOVSP,#60H;設(shè)置堆棧起始地址MOVTMOD,#10H;設(shè)定T1工作于定期方式1SETBEA;開啟總中斷SETBET1;開啟T1中斷MOVR3,#60;設(shè)定期60sMOVR0,#0;初始化軟件計(jì)數(shù)器1MOVR1,#0;初始化軟件計(jì)數(shù)器2MOVTH1,#3CH;裝入定期器計(jì)數(shù)初值MOVTL1,#0B0H;定期時(shí)間為50msSETBTR1;開啟T1定期AJMP$
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)應(yīng)用培訓(xùn)
- 有關(guān)企業(yè)尊重與關(guān)愛演講稿(3篇)
- 溝通技巧的案例(21篇)
- 設(shè)計(jì)院實(shí)習(xí)報(bào)告15篇
- 護(hù)士勞動(dòng)合同書(31篇)
- 高中開學(xué)第一課班會(huì)課教案(14篇)
- 高二學(xué)生開學(xué)典禮演講稿
- 貨物裝車運(yùn)輸合同(3篇)
- oem購銷合同范本
- 隱匿性肝性腦病管理
- 家長教育心得課件
- 肝膽外科科室現(xiàn)狀調(diào)研總結(jié)與三年發(fā)展規(guī)劃匯報(bào)
- 大豆種子買賣合同
- 人工智能介紹英文版【優(yōu)質(zhì)PPT】
- 全國市政金杯示范工程評(píng)選辦法及實(shí)施細(xì)則
- 有理數(shù)運(yùn)算說課
- 小學(xué)數(shù)學(xué)教師職稱評(píng)審答辯題(高段)
- 葫蘆島鵬翔生物科技(集團(tuán))有限公司年產(chǎn)農(nóng)藥系列產(chǎn)品3700噸、年產(chǎn)胡椒環(huán)2000噸建設(shè)項(xiàng)目環(huán)評(píng)報(bào)告
- 民營醫(yī)院職稱崗位工資級(jí)崗位招聘分級(jí)表
- 《堤防工程施工規(guī)范》(SL260-2014)
- 人工智能在中學(xué)英語教學(xué)中的應(yīng)用探索共3篇
評(píng)論
0/150
提交評(píng)論