




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
僦《應(yīng)打少大舉TAIYUANUNIVERSITYOFTECHNOLOGY本科實驗報告課程名稱:單片機原理實驗項目:定時/計數(shù)器實驗地點:北區(qū)跨越機房專業(yè)班級:通信工程1101學(xué)號:學(xué)生姓名:溫景國指導(dǎo)教師:陳凡2023年04月28日等于后項則進(jìn)入下一個內(nèi)循環(huán),否則互換前后單元的內(nèi)容。這樣循環(huán)完畢后即可完畢了數(shù)組的從小到大排列。七、實驗心得通過本次上機實驗,使我對MCS-51指令系統(tǒng)更加了解,掌握了程序的設(shè)計方法,掌握了排序程序算法,并且掌握了使用循環(huán)程序?qū)崿F(xiàn)數(shù)據(jù)排序的基本方法。更重要的是,通過實踐與錯誤,我深深感覺到對于算法的編程實現(xiàn)一定要畫出流程圖,搞清楚算法的原理,對于匯編語言而言,還要做好寄存器作用的規(guī)劃,用到堆棧時還要做好堆棧的規(guī)劃……雖然看似多了很多環(huán)節(jié)和考慮,但是事實上是節(jié)省了時間的,由于假如不這么做就很容易犯錯,而要去排除一個錯誤,是很花費時間精力的,不如在設(shè)計規(guī)劃階段就做好準(zhǔn)備,仔細(xì)思考,從而事半功倍。實驗四定期計數(shù)器一、實驗?zāi)康暮鸵?guī)定(1)加深對MCS-51單片機定期/計數(shù)器內(nèi)部結(jié)構(gòu)、工作原理和工作方式的理解。(2)掌握定期計數(shù)器工作在定期和計數(shù)兩種狀態(tài)下的用法。(3)掌握中斷服務(wù)程序的設(shè)計方法。二、實驗內(nèi)容和原理在使用12MHz晶振的條件下,用T1產(chǎn)生50ms定期,兩個7段LED數(shù)碼管從''00〃開始顯示,沒1$力口1,至九達(dá)''59〃后,再從''00〃開始,完畢60s定期功能。在定期工作狀態(tài)下,輸入的時鐘脈沖是由晶體蕩器的輸出經(jīng)12分頻取得的,因此,定期器看作是對單片機及其周期的計數(shù)器。若晶振頻率為12MHz,賊定期器的加1計數(shù)器每隔1ustnlo力口1計數(shù)器計滿溢出時才申請中斷,所以在給加1計數(shù)器賦予計數(shù)初值時,輸入的是加1計數(shù)器計數(shù)的最大值與這一計數(shù)值的差值。定期器初始化程序定期器涉及兩個控制寄存器TMOD和TCON,向TMOD和TCON寫入相應(yīng)設(shè)立各個定期器的操作模式和控制功能。啟動定期器的環(huán)節(jié)如下:(1)設(shè)定TMOD的值:TMOD=10H,設(shè)立T1工作于定期方式1。(2)設(shè)定IE的值:啟動中斷SETBETlo(3)設(shè)定TL1和TH1的值:TL1=OBOH,TH1=3CH。(4)啟動T1定期:SETBTRI。三、重要儀器設(shè)備計算機一臺,操作系統(tǒng):Windows98/2023/XP,應(yīng)用軟件:WAVE6000?四、源程序與調(diào)試環(huán)節(jié)實驗程序:ORG0000HAJMPSTART;跳到START處開始執(zhí)行ORG001BH;定期/計數(shù)器1中斷入口地址AJMPTIME1ORG003OHSTART:;跳轉(zhuǎn)到中斷執(zhí)行程序MOVSP,#60H;設(shè)立堆棧起始地址MOVTMOD,#10H;設(shè)定T1工作于定期方式1SETBEA;啟動總中斷SETBET1;啟動T1中斷M0VR3,#60;設(shè)定期60s
MOVR0,#0MOVRl,#0MOVTH1,#3cHMOVTL1,#0B0HSETBTRIAJMP$TIME1:PUSHACCPUSHPSWINCROMOVA,R0CJNEA,#20,T_LP2MOVR0,#0MOVRl,#0MOVTH1,#3cHMOVTL1,#0B0HSETBTRIAJMP$TIME1:PUSHACCPUSHPSWINCROMOVA,R0CJNEA,#20,T_LP2為十進(jìn)制數(shù)輸出MOVA,R1MOVB,#10DIVABSWAPAADDA,BMOVPl,AINCR1CJNERI,#60,LP0M0VR1,#()0H;初始化軟件計數(shù)器2;裝入定期器計數(shù)初值;定期時間為50ms;啟動T1定期;等待中斷;ACC入棧;PSW入棧;軟件計數(shù)器I加1;R0-*A;1s到了嗎到了則輸出LED把;R1-A;10-*B;A/BfAA%BfB;將得到十位數(shù)乘以10-A;A+B-*A;把A中的值輸出到Pl;軟件計數(shù)器2加1;判斷軟件計數(shù)器2是否到達(dá)60;達(dá)成60則清零;軟件計數(shù)器1清零;重新裝入定期器計數(shù)初值;定期50msLPO:MOVR0,#00HT_LP2:MOVTH1,#3CHLPO:MOVR0,#00HT_LP2:MOVTH1,#3CHMOVTLI,"OBOHPOPPSWPOPACC;返回;返回RETI;返回五、實驗結(jié)果與分析由于本次實驗的條件規(guī)定為12MHz的晶振,所以機器周期為lum,定期器工作在1狀態(tài)時,最大定期量為65.5ms,所以采用了軟件計數(shù)器。將定期器的定期時間設(shè)立為5()ms,當(dāng)軟件計數(shù)器從零計數(shù)到20時,就完畢了1s的定期功能。分析程序運營結(jié)果時,當(dāng)把斷點設(shè)立在INCR0。時,可以看到軟件計數(shù)器1的變化為0-20,理論上每50ms增長1,完畢的是1s的定期功能。當(dāng)把斷點設(shè)立在INCR1時,可以看到軟件計數(shù)器2的變化為0-60,理論上每1s增長1,完畢的是60s的計數(shù)功能。程序運營結(jié)果與分析一致。六、實驗心得定期器/計數(shù)器這一章內(nèi)容是復(fù)雜的,涉及到定期器、計數(shù)器的工作原理、各種寄存器的配置、中斷程序的編寫等,但同時也是用處非常大的一章,讓我看到了走進(jìn)實際的,與之前不同的特點。此外,通過敲程序,分析結(jié)果,我對定期器/計數(shù)器有了更加清楚的結(jié)識,不再是理論上的理解,有大牛說:編程這種事情,看一百遍不如敲一遍。我想,對于我們這些初學(xué)者而言,最重要的不再是方法是否對的也不在于聰明與否,一切都是代碼行數(shù)說了算。當(dāng)有了幾萬行的編程體驗,語法問題也就不再是問題了。實驗雙字節(jié)BCD加法實驗實驗雙字節(jié)BCD加法實驗1、通過常用指令的使用,進(jìn)一步理解并掌握MCS-51單片機的指令系統(tǒng)。2、學(xué)習(xí)并掌握雙字節(jié)BCD加法的程序設(shè)計。3.學(xué)習(xí)匯編語言的程序設(shè)計基本方法。二、實驗內(nèi)容和原理編寫并調(diào)試一個雙字節(jié)加法程序完畢運算:A(0030H,0O31H)+B(0032H,0033HAe(0034H,0035H)兩數(shù)的低位相加后保存進(jìn)位位,高位數(shù)相加時,將低位的進(jìn)位加上。三、重要儀器設(shè)備計算機一臺,操作系統(tǒng):Windows98/2023/XP,應(yīng)用軟件:WAVE6000o四、源程序與調(diào)試環(huán)節(jié)源程序:;程序名稱:ADD.ASM;功能:完畢雙字節(jié)加法運算A(0030H,0031H)+B(0032H,0033H)=C(0034H,()()35H)0RG0000HMJMPMAIN°“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í)行觀測結(jié)果是否對的。五、實驗數(shù)據(jù)記錄與解決在執(zhí)行單步時,低位的運算結(jié)果在0034H中,結(jié)果是OOH((()()3()H)+(0032H)),高位結(jié)果在0035H中,結(jié)果為13H((0031H)+(0033H)+(CY))0實驗結(jié)果與實驗預(yù)期結(jié)果同樣。六、實驗結(jié)果與分析當(dāng)進(jìn)行低位加法時,加下來的結(jié)果自動產(chǎn)生進(jìn)位,并且在狀態(tài)字的最高位中,所以,在進(jìn)行高位相加時要帶進(jìn)位進(jìn)行相加,否則結(jié)果與預(yù)期的不同樣。七、實驗心得通過對雙字節(jié)BCD加法編程的練習(xí),進(jìn)一步理解并掌握MCS-51單片機的指令系統(tǒng),并且熟悉了WAVE6000軟件的使用,對匯編語言的程序設(shè)計更加熟悉。通過具體實踐,對于裝載指令ORG,帶進(jìn)位加法指令A(yù)DDC有了更明確的理解。寫程序時常犯的錯誤是忘掉了單片機復(fù)位后pc指向0000H,需要在0000h單元存放跳轉(zhuǎn)指令跳轉(zhuǎn)到程序入口繼續(xù)執(zhí)行。此外一個體會就是程序調(diào)試的重要性,一個程序,寫好了,編譯好了,只算是成功了一半,另一半在于調(diào)試,程序執(zhí)行出了問題光靠盯著屏幕很難找到問題所在,要通過度析判斷,合理調(diào)試才干發(fā)現(xiàn)和解決問題。實驗二子程序調(diào)用一、實驗?zāi)康?1、通過常用指令的編輯練習(xí),進(jìn)一步理解并掌握MCS—51單片機的指令系統(tǒng)。2、學(xué)習(xí)并掌握子程序調(diào)用的程序設(shè)計。3、掌握子程序調(diào)用過程中保護(hù)現(xiàn)場與恢復(fù)現(xiàn)場以及調(diào)用程序與被調(diào)用程序之間的參數(shù)傳遞。4、學(xué)習(xí)匯編語言的程序設(shè)計基本方法二、實驗內(nèi)容:編寫程序,計算Y='a:ala2/……,alO存放在內(nèi)部RAM的20H開始的存儲區(qū)內(nèi),計算所得結(jié)果放入R2和R3中。三、實驗設(shè)備:計算機一臺;操作系統(tǒng):Windowsxp;應(yīng)用軟件:WAVE6000四、實驗源程序:ORG0000IIAJMPMAINORG8000HMAIN:MOVRO,#20HMOVR7,#10MOVR3,#0MOVR2,#0LOOP:MOVA,@ROACALLSORT;調(diào)用求平方子程序ADDA,R2MOVR2,A;書上源程序有錯誤,已更正CLRAADDCA,R3
MOVR3,A;未完,繼續(xù);;未完,繼續(xù);進(jìn)入子程序查平方表;返主程序SJMP$SORT:MOVDPTR,#TABMOVCA,@A+DPTRRETTAB:DB0,1,4,9,16DB25,36,49,64,81EN:NOPEND五、實驗結(jié)果與分析程序執(zhí)行完畢時,R2中為1D,R3中為01,結(jié)果為011DH(285)與分析結(jié)果一致即:0+1+4+9+16+25+36+49+64+81=285。程序以R7(10)作為計數(shù)變量,通過子程序的查表功能,依次讀取各數(shù)的平方并相加。特別留意的是,高位相加時要用ADDC指令,加上低位的進(jìn)位。六、實驗總結(jié):通過本次子程序調(diào)用程序的練習(xí),加深了對子程序的理解,即如何保護(hù)和恢復(fù)現(xiàn)場以及如何在調(diào)用程序與被調(diào)用程序之間傳遞參數(shù)。子程序有助于提高編碼效率,縮短了源程序與目的程序的長度,節(jié)省了程序存儲的空間,使程序模塊化、通用化,便于閱讀、交流與共享。此外,通過本次實驗我對于wave6000平臺下程序的編譯、執(zhí)行以及數(shù)據(jù)查看有了進(jìn)一步的結(jié)識,理論與實踐的結(jié)合讓我對書本知識有了更好的理解。實驗三冒泡排序?qū)嶒炓?、實驗?zāi)康暮鸵?guī)定(1)熟悉MCS-51指令系統(tǒng),掌握程序設(shè)計方法。(2)掌握排序程序算法。(3)掌握用循環(huán)程序?qū)崿F(xiàn)數(shù)據(jù)排序的基本方法。二、實驗內(nèi)容和原理編寫并調(diào)試一個通用排序子程序,其功能為將RAM的40H?4FH單元16個字,節(jié)無符號二進(jìn)制整數(shù)按從小到大順序排序,將排序后的數(shù)據(jù)存放在50H?5FH緩沖區(qū)中。從20H單元的第一個數(shù)開始依次和相鄰單元的另一個數(shù)比較,假如順序?qū)?,則不作任何操作;假如順序不對,則將這兩個數(shù)互換位置。這樣,在完畢第一遍n-1次比較后,n—1次比較后n-1遍比較就可完畢排序。在比較中設(shè)立一個標(biāo)志位flag清零,在循環(huán)結(jié)束時,若flag=1說明排序未完畢,進(jìn)入外循環(huán);若flag=O,說明排序完畢,程序結(jié)束。三、重要儀器設(shè)備計算機一臺,操作系統(tǒng):Windows98/2023/XP,應(yīng)用軟件:WAVE6000或其他。四、源程序與調(diào)試環(huán)節(jié)源程序:。。;程序名稱:MAOPAO.ASM。。;功能:用冒泡算法實現(xiàn)長度為16的數(shù)列由小到大排列
源程序:。ORG0()OOHMOVR7,#IOH;數(shù)列長度MOVRO,#40H;R()指向首地址MOVRI,#60HSTART:MOVA,R1MOVSTART:MOVA,R1MOV@R0,ADECRIDJNZR7,STARTMOVR7,#()FHLPO:MOVRO,#4OHMOVA,R7MOVR6,ACLR7FH;設(shè)定7fh位為flag并置0LP1:MOVA,@R0MOV20H,@R0INCROMOV21H,@R0CLRCSUBBA,21HJCLP2;假如前者大于后者則進(jìn)行互換SETB7FHMOV@R(),2OHDECROMOV@RO,21HINCROLP2:DJNZR6,LP1;判斷是否達(dá)成內(nèi)循環(huán)次數(shù)JNB7FH,LP3DJNZR7,LPO;判斷是否達(dá)成外循環(huán)次數(shù)LP3:MOVR7,#10H;傳輸個數(shù)為16MOVR0,#40HMOVRI,#50HLP4:MOVA,@R0MOV@R1,AINCROINCRIDJNZR7,LP4SJMP$END先進(jìn)行復(fù)位,進(jìn)行單步執(zhí)行,觀測結(jié)果。五、實驗數(shù)據(jù)記錄和解決程序執(zhí)行之前,數(shù)據(jù)排序為:1OH03
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 營運車輛買賣合同協(xié)議
- 8《安全記心上》第2課時 教學(xué)設(shè)計-2023-2024學(xué)年道德與法治三年級上冊統(tǒng)編版
- 信息技術(shù)(財經(jīng)商貿(mào)類) 試卷 教學(xué)檢測二
- 3《公民意味著什么》(第1課時)(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版道德與法治六年級上冊
- 勞動合同樣本
- 3 我們班他們班(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版道德與法治四年級上冊
- 14健康過冬天(教學(xué)設(shè)計)-部編版道德與法治一年級上冊
- 6-1《老子》四章(教學(xué)設(shè)計)高二語文同步高效課堂(統(tǒng)編版 選擇性必修上冊)
- 12 盤古開天地 教學(xué)設(shè)計-2024-2025學(xué)年語文四年級上冊統(tǒng)編版
- 20《肥皂泡》教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版語文三年級下冊
- 甘草種植技術(shù)課件
- 冀教版英語九年級Unit 5 單詞短語預(yù)習(xí)復(fù)習(xí)單
- 公司安全生產(chǎn)監(jiān)督管理辦法
- 鋼筋工工藝與實習(xí)(第二版)課件匯總?cè)珪娮咏贪竿暾嬲n件最全幻燈片(最新)課件電子教案幻燈片
- 煤礦從業(yè)人員考試題庫全答案(word版)
- 洞頂回填技術(shù)交底
- 最簡易的帕累托圖制作方法簡介PPT通用課件
- 城市軌道交通應(yīng)急處理課程標(biāo)準(zhǔn)
- 初二下分式混合計算練習(xí)1(附答案)
- (完整版)振幅調(diào)制與解調(diào)習(xí)題及其解答
- 抗震支架施工安裝合同
評論
0/150
提交評論