![單片機(jī)原理部分課后習(xí)題解_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba6/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba61.gif)
![單片機(jī)原理部分課后習(xí)題解_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba6/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba62.gif)
![單片機(jī)原理部分課后習(xí)題解_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba6/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba63.gif)
![單片機(jī)原理部分課后習(xí)題解_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba6/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba64.gif)
![單片機(jī)原理部分課后習(xí)題解_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-12/1/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba6/1c0a91bd-c1b7-4f33-94f3-bd98d9513ba65.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.16 8051芯片需要外擴(kuò)4kb程序存儲(chǔ)器,要求地址范圍為10001fffh,以便和內(nèi)部程序存儲(chǔ)器地址相銜接。所用芯片除了地址線和數(shù)據(jù)線外,只有一個(gè)片選控制端/cs,畫(huà)出擴(kuò)展系統(tǒng)的連接圖。解:3.17 在圖3.13中,若因某種原因,p2.2、p2.1、p2.0誤接為p2.5、p2.4、p2.3,這時(shí)所接的eprom尋址區(qū)是如何分布的?解: 誤接后,a10,a9,a8則分別與p2.5,p2.4,p2.3相接,p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0 p0.7p0.0 * * 0 0 0 * * * 0000000011111111* * 0 0 1 *
2、* * 0000000011111111 * * 0 1 0 * * * 0000000011111111* * 0 1 1 * * * 0000000011111111* * 1 0 0 * * * 0000000011111111* * 1 0 1 * * * 0000000011111111* * 1 1 0 * * * 0000000011111111* * 1 1 1 * * * 0000000011111111所以地址分布為:0000h00ffh, 0800h08ffh, 1000h10ffh, 1800h18ffh, 2000h20ffh,2800h28ffh, 3000h30f
3、fh, 3800h38ffh4.8 編寫程序,進(jìn)行兩個(gè)16位數(shù)的減法:6f5dh13b4h,結(jié)果存至內(nèi)部ram的30h和31h單元。30h單元存差的低8位。解:mov a, #5dhclr csubb a, #0b4hmov 30h, amov a, #6fhsubb a, #13hmov 31h, asjmp $4.9 編寫程序,若累加器內(nèi)容分別滿足一下條件,則程序轉(zhuǎn)至label存儲(chǔ)單元。(1)a10 (2) a10 (3) a10 (4) a10解:(1) clr ccjne a, #10, loopsjmp labelloop: jnc label sjmp $(2) cjne a, #
4、10, loopsjmp $loop: jnc label sjmp $(3) cjne a, #10, loopsjmp labelloop: jc label sjmp $(4) cjne a, #10, loopsjmp $loop: jc label sjmp $4.10 已知sp=25h,pc=2345h,(24h)=12h,(25h)=34h,(26h)=56h,問(wèn)在這種條件下執(zhí)行ret指令以后,sp,pc分別是多少?解: 在執(zhí)行ret指令后說(shuō)明是一個(gè)子函數(shù)執(zhí)行結(jié)束,則進(jìn)行pop操作,于是sp在執(zhí)行ret指令后變?yōu)?3h,因?yàn)?25h)=34h, (24h)=12h,所以pc=34
5、12h,因?yàn)樵谶M(jìn)入堆棧的時(shí)候是先壓入低8位,然后進(jìn)入堆棧的是高8位,出堆棧的時(shí)候正好相反。所以最后結(jié)果是:sp=23h,pc=3412h4.11 若sp=25h,pc=2345h,標(biāo)號(hào)label所在的地址為3456h,問(wèn)執(zhí)行長(zhǎng)調(diào)用指令 lcall label 之后,堆棧指針和堆棧內(nèi)容發(fā)生什么變化?pc是多少?解: 在進(jìn)行長(zhǎng)調(diào)用指令 lcall label,則要進(jìn)行堆棧保護(hù),而lcall指令是三字節(jié)的指令,所以pc在進(jìn)入堆棧之前變?yōu)?348h,在執(zhí)行完長(zhǎng)指令lcall之后,pc進(jìn)入子函數(shù)程序,則進(jìn)入之前的地址要首先保護(hù)起來(lái),所以sp=27h,堆棧的內(nèi)容(26h)=48h,(27h)=23h,此時(shí)
6、pc將要指向子函數(shù)label的入口地址,即pc=3456h。4.12 在4.11中的lcall指令能否直接換成“acall label”指令?為什么?解:不能,因?yàn)閍call是短調(diào)用指令,子程序調(diào)用的范圍為圍繞調(diào)用指令的2kb內(nèi),即它們的地址高5位應(yīng)該是相同的?;蛘哒f(shuō),在執(zhí)行acall指令時(shí),子程序入口地址的高5位是不能任意定的,只能由acall指令所在的位置來(lái)確定,例如4.11在調(diào)用子函數(shù)之前的地址為2345h,即高5位是00100,所以acall調(diào)用的地址范圍為:2000h27ffh,而label所在的地址為3456h已經(jīng)超出調(diào)用范圍,所以不能替換。4.13 試編寫程序,查找在內(nèi)部ram的
7、20h50h單元中是否有0aah這一數(shù)據(jù),若有這一數(shù)據(jù),則將51h單元置為01h,若未找到,則使51h單元置0。解:參考程序如下:m0v r0,#31hm0v r1,#20hloop: mov a,r1clr ccjne a,#0aah,loop1sjmp l00p2loop1: inc r1 djnz r0,loopm0v a,#00hsjmp loop3loop2: mov a,#01hloop3: mov 51h,a sjmp $4.14 試編寫程序,查找在內(nèi)部ram的20h50h單元內(nèi)部出現(xiàn)00h的次數(shù),并將查找的結(jié)果存入51h單元。解:參考程序如下:mov r0,#31hmov r1
8、,#20hmov r2,#00hloop: mov a,r1cjne a,#00h,loop1inc r2loop1: inc r1 djnz r0,loop m0v 51h,r2 sjmp $5.6 從20h單元開(kāi)始存放一組帶符號(hào)數(shù),其數(shù)目已經(jīng)存在1fh單元。要求統(tǒng)計(jì)出其中大于0,等于0和小于0的數(shù)的個(gè)數(shù),并把統(tǒng)計(jì)結(jié)果分別存入one,two,three三個(gè)單元。解:參考程序如下:one data #1chtwo data #1dhthree data #1ehmov one,#00hmov two,#00hmov three,#00hmov r0,#20hmov r1,1fhmov a,r1
9、 /*判斷是否存有數(shù)*/jz finishiloop: mov a,r0clr ccjne a,#00h,loop1inc twosjmp loop3loop1: jnc loop2 /*a>0時(shí)*/ inc three /*a<0時(shí)*/ sjmp loop3loop2: inc oneloop3: djnz r1,loopfinishi: sjmp $5.14 外部數(shù)據(jù)ram從2000h開(kāi)始有100個(gè)數(shù)據(jù),現(xiàn)要將它們移到從2030h開(kāi)始的區(qū)域,試編寫有關(guān)程序。解:參考程序如下(1):mov dptr,#2000hmov a,#63hmov r0,#100add a,dplmov
10、dpl,aloop: movx a,dptr /*取出最后一個(gè)數(shù)*/push dplpush amov a,dpladd a,#30hmov dpl,apop amovx dptr,apop dpldec dpldjnz r0,loopsjmp $參考程序如下(2):mov r0,#100mov dptr,#2063hloop: movx a,dptrmov r1,amov a,dpladd a,#30hmov dpl,amov a,r1movx dptr,amov a,dplsubb a,#30hmov dpl,adec dpldjnz r0,loopsjmp $5.15 從內(nèi)部數(shù)據(jù)ram的
11、block開(kāi)始有一個(gè)無(wú)符號(hào)數(shù)數(shù)據(jù)塊,長(zhǎng)度存于len單元,求出數(shù)據(jù)塊中的最小元素,并將其存入mini單元。要求使用比較條件轉(zhuǎn)移指令cjne。解: 參考程序如下:len data 20hmini data 21hblock data 22hmov r0,lenmov r1,#blockmov a,r0 /*檢查數(shù)據(jù)長(zhǎng)度是否0*/jz finishmov mini,r1loop: mov a,r1 inc r1clr ccjne a,mini,loop1sjmp loop2loop1: jnc,loop2 mov mini,aloop2: djnz r0,loopfinish: sjmp $5.20
12、 若累加器a中存放的是一個(gè)十六進(jìn)制數(shù),則將它轉(zhuǎn)換為相應(yīng)的ascii碼,并將結(jié)果存入20h ram單元,若a中存放的不是十六進(jìn)制數(shù),則將20h單元置為ffh,試編寫有關(guān)程序。解:參考程序入下:mov r1, aanl a, #0f0hcjne a, #00h,relclr ccjne a, #09h, loopsjmp loop1 (=9)loop: jc lo0p1 (<9) add a,#07h (>9)loop1: add a,#30h mov 20h,a sjmp $rel: mov 20h,#0ffhsjmp $7.1 用8031單片機(jī)的p1口和微型打印機(jī)連接以輸出數(shù)據(jù)。數(shù)
13、據(jù)傳送采用中斷方式?,F(xiàn)要把外部數(shù)據(jù)ram中從20h單元開(kāi)始的100個(gè)數(shù)據(jù)送到打印機(jī)中去打印。試寫出有關(guān)的程序,包括主程序和中斷服務(wù)程序。解:本題采用中斷方式,用ack加到into作為中斷請(qǐng)求信號(hào),用一個(gè)4輸入譯碼器進(jìn)行部分地址譯碼,系統(tǒng)的硬件連接圖如下圖所示:主程序: setb ea setb ex0 setb px0 setb it0 mov ro,#20h mov r1,#0f0h mov r2,#99 movx a,r0 movx r1,a loop: sjmp $中斷服務(wù)程序: org 0003h ljmp int0 int0: push psw push acc inc r0 mov
14、x a,r0 movx r1,a dec r2 mov a,r2 jnz next clr exo next: pop acc pop psw reti7.3 用8255芯片擴(kuò)展單片機(jī)的i/0口。8255的a口用做輸入,a口的每一位接一個(gè)開(kāi)關(guān),用b口作為輸出,輸出的每一位接一個(gè)顯示發(fā)光二極管。現(xiàn)要求某個(gè)開(kāi)關(guān)接1時(shí),相應(yīng)位上的發(fā)光二極管就亮(輸出為0),試編寫相應(yīng)的程序。解:設(shè)8255的a口地址為70h, b口地址為71h, c口地址為72h, 控制寄存器地址為73h。8255的工作方式為: a口:方式0,輸入 b口:方式0,輸出 c口:無(wú)關(guān)由此可以確定8255的工作方式控制字為10010000
15、h,即90h。有關(guān)程序如下:mov ro,#73hmov a,#90hmovx r0,aloop: mov ro,#70hmovx a,r0cpl ainc romovx r0,a sjmp loop7.8 外部ram以dat1開(kāi)始的數(shù)據(jù)區(qū)中有100個(gè)數(shù),現(xiàn)要求每隔150ms向內(nèi)部ram以dat2開(kāi)始的數(shù)據(jù)區(qū)中傳送10個(gè)數(shù)。通過(guò)10次傳送把數(shù)據(jù)全部傳送完。以定時(shí)器1作為定時(shí),8155作為接口芯片。試編寫有關(guān)的程序。單片機(jī)時(shí)鐘頻率為6mhz。解:現(xiàn)要求定時(shí)值為150ms,在單片機(jī)時(shí)鐘頻率為6mhz的情況,這個(gè)值已超過(guò)定時(shí)器可能提供的最大定時(shí)值。為了能夠?qū)崿F(xiàn)150ms的定時(shí)值,可采用定時(shí)器定時(shí)和軟
16、件計(jì)數(shù)器相結(jié)合的方法。本題可設(shè)定時(shí)器的定時(shí)值為50ms,另設(shè)一個(gè)軟件計(jì)數(shù)器,初值為3。每50ms定時(shí)時(shí)間到時(shí),產(chǎn)生中斷,在中斷服務(wù)程序中使軟件計(jì)數(shù)器減1,這樣到軟件計(jì)數(shù)器減到0時(shí),就獲得了150ms的定時(shí)。先計(jì)算50ms定時(shí)所需的定時(shí)初始值。這時(shí)需采用定時(shí)器方式1,即16位計(jì)數(shù)器方式。故定時(shí)器初值為:x=216-(50*10-3/(2*10-6)= 65536-25000 = 40536 = 95e8h本題采用定時(shí)器1定時(shí),工作方式為1,th1初值為9eh,tl1初值為58h。中斷服務(wù)程序入口為001bh。相關(guān)程序如下:org 001bhljmp brt1start: org 2000h mov tmod,#01h mov th1,#9eh mov t
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子圖書(shū)出版與運(yùn)營(yíng)手冊(cè)
- 房屋租賃三方合同格式
- 焊接工藝與材料選擇作業(yè)指導(dǎo)書(shū)
- 成本合同管理大全
- 生物科技居間合同協(xié)議書(shū)
- 有關(guān)事業(yè)單位合同
- 2025年呼和浩特貨運(yùn)從業(yè)資格證模擬考試題下載
- 2025年南昌從業(yè)資格貨運(yùn)資格考試題庫(kù)答案解析
- 2025年龍巖a2駕駛證貨運(yùn)從業(yè)資格證模擬考試
- 電力市場(chǎng)策略合同(2篇)
- 【立高食品公司的償債能力現(xiàn)狀及問(wèn)題分析(論文9000字)】
- 銷量返點(diǎn)合同范本
- 裝飾施工圖審查要點(diǎn)
- 家庭生活中的安全隱患及預(yù)防方法
- 食堂炊事員聘用合同
- 信用信息平臺(tái)建設(shè)方案
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
- 大地保險(xiǎn)理賠標(biāo)準(zhǔn)
- 車險(xiǎn)經(jīng)營(yíng)情況分析報(bào)告模板
- 農(nóng)業(yè)一張圖建設(shè)方案
- 冀教版數(shù)學(xué)七年級(jí)下冊(cè)綜合訓(xùn)練100題含答案
評(píng)論
0/150
提交評(píng)論