哈爾濱工業(yè)大學單片機原理及接口技術(shù)試卷及詳細答案(五套裝)_第1頁
哈爾濱工業(yè)大學單片機原理及接口技術(shù)試卷及詳細答案(五套裝)_第2頁
哈爾濱工業(yè)大學單片機原理及接口技術(shù)試卷及詳細答案(五套裝)_第3頁
哈爾濱工業(yè)大學單片機原理及接口技術(shù)試卷及詳細答案(五套裝)_第4頁
哈爾濱工業(yè)大學單片機原理及接口技術(shù)試卷及詳細答案(五套裝)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、哈爾濱工業(yè)大學2009年7月單片機原理及接口技術(shù)試卷班級: 姓名: 學號: 成績: 一、填空題(20分,每小題2分)1、19d的二進制的補碼表示為 11101101b 。2、89c51含 4kb 掩膜rom, 128b的ram,在物理上有 4個 獨立的存儲器空間。3、通過堆棧操作實現(xiàn)子程序調(diào)用,首先要把 pc 的內(nèi)容入棧,以進行斷點保護。調(diào)用返回時再進行出棧操作,把保護的斷點彈回 pc 。4、74ls138是具有3個輸入的譯碼器芯片,其輸出作為片選信號時,最多可以選中 8 塊芯片。5、psw中rs1 rs0=10h時,r2的地址為 12h 。6、假定dptr的內(nèi)容為8100h,累加器a的內(nèi)容為

2、40h,執(zhí)行下列指令:movc a,a+dptr 后,送入a的是程序存儲器 8140h 單元的內(nèi)容。7、設(shè)sp=60h,片內(nèi)ram的(30h)=24h,(31h)=10h,在下列程序段注釋中填執(zhí)行結(jié)果。 push 30h ;sp=61h,(sp)=24h push 31h ;sp=62h,(sp)=10h pop dpl ;sp=61h,dpl=10h pop dph ;sp=60h,dph=24h mov a,#00h movx dptr,a 最后執(zhí)行結(jié)果是 執(zhí)行結(jié)果將0送外部數(shù)據(jù)存儲器的2410h單元 。8、在中斷系統(tǒng)中,t0和t1兩引腳擴展成外部中斷源時,計數(shù)初值應當是(th)=(tl)

3、= 0ffh 。9、12根地址線可尋址 4kb 存儲單元。二、選擇題(10分,每小題1分)1、mcs-51響應中斷時,下面哪一個條件不是必須的 (c) (a)當前指令執(zhí)行完畢 (b)中斷是開放的 (c)沒有同級或高級中斷服務(wù) (d)必須有reti2、執(zhí)行push acc指令,mcs-51完成的操作是 (a) (a)sp+1sp,(acc)(sp);(b)(acc)(sp),sp1sp (c)sp1sp,(acc)(sp);(d)(acc)(sp),sp+1sp3、89c51是 (c) (a)cpu (b)微處理器 (c)單片微機 (d)控制器4、關(guān)于mcs-51的堆棧操作,正確的說法是 (c)

4、 (a)先入棧,再修改棧指針 (b)先修改棧指針,再出棧(c)先修改棧指針,再入棧 (d)以上都不對5、某種存儲器芯片是8kb×4片,那么它的地址線根數(shù)是 (b) (a)11根 (b)13根 (c)12根 (d)14根6、mov c,#00h的尋址方式是 (a) (a)位尋址 (b)直接尋址 (c)立即尋址 (d)寄存器尋址7、必須進行十進制調(diào)整的十進制運算 (c) (a)有加法和減法 (b)有乘法和除法 (c)只有加法 (d)只有減法8、org 0000h ajmp 0040h org 0040h mov sp,#00h 當執(zhí)行完左邊的程序后,pc的值是 (c) (a)0040h

5、(b)0041h (c)0042h (d)0043h9、mcs-51復位時,下述說法正確的是 (d) (a)(20h)=00h (b)sp=00h (c)sbuf=00h (d)th0=00h三、簡答分析題(30分,每小題10分)1、簡述89c51定時器的四種工作模式的特點,如何選擇和設(shè)定。答:89c51定時器的四種工作模式有,模式1,模式2,模式3。模式0時:選擇定時器的高8位和低5位組成13位定時器/計數(shù)器。tl低5位溢出時向tl進位,th溢出時向中斷標志位tf0進位,并申請中斷。 定時時間t=(213初值)×振蕩周期×12;計數(shù)長度為213=8192個外部脈沖。模式1

6、時:當tmod中的m1m0置成01時,定時器工作于方式1,構(gòu)成16位定時器/計數(shù)器。定時時間t=(216初值)×振蕩周期×12;計數(shù)長度為216=65536個外部脈沖。模式2時:把tl0和tl1配置成一個可以自動重裝載的8位定時器/計數(shù)器。tl擔任8位計數(shù)器,th保存初值,tl溢出時不僅使tf0置1,而且還自動將th中的內(nèi)容重新裝載在tl中。定時時間t=(28初值)×振蕩周期×12;計數(shù)長度為28=256個外部脈沖。模式3時:方式3是兩個8位定時/計數(shù)器模式,只適用于t0。th0和tl0成為兩個獨立的8位計數(shù)器。tl0為8位計數(shù)器,功能與模式0和模式1相

7、同,可定時可計數(shù)。th0僅用作簡單的內(nèi)部定時功能,它占用了定時器t1的控制位tr1和中斷標志位tf1,啟動和關(guān)閉受tr1的控制。t1無此模式。選擇和設(shè)定:由定時器的2個控制寄存器tmod和tcon,由軟件寫入tmod和tcon 兩個8位寄存器,設(shè)置各個定時器的操作模式和控制功能。2、位地址7ch與字節(jié)地址7ch如何區(qū)別?位地址7ch具體在片內(nèi)ram中的什么位置?答:字節(jié)地址是片內(nèi)ram的單元地址,而位地址是片內(nèi)ram單元的某一位。 7ch字節(jié)地址ram的7ch單元,而7ch位地址是ram 2fh單元中的d4位。四、編程題(任選2題,20分,每題10分)1、編寫一程序,實現(xiàn)下圖中的邏輯運算電路。

8、其中p3.1、p1.1、p1.0分別是單片機端口線上的信息,rs0、rs1是psw寄存器中的兩個標志位,30h、31h是兩個位地址,運算結(jié)果由p1.0輸出。 org 0000hmov c,p3.1 anl c,p1.1 cpl c mov 20h,c;暫存數(shù)據(jù)mov c,30h orl c,/31hanl c,rs1anl c,20hanl c,rs0mov p 1.0,c;輸出結(jié)果sjmp $2、寫一個軟件延時1s和1min的子程序。設(shè)fosc=6mhz,則1個機器周期=2s。解:(1)1s=2s×5×105 5×105=250×2000=250

9、15;200×5×2org 0000h delay1s:mov r5,#5del1: mov r6,#200del2: mov r7,#250del3: djnz r7,del3 djnz r6,del2 djnz r5,del1ret (3)1min=60s,調(diào)用上面1s子程序60次org 0100h delay1m:mov r0,#60loop: lcall delay1s djnz r0,loop ret3、編一子程序,從串行接口接受一個字符解: start: mov tmod,#20h ;定時器t1工作于模式2 mov th1,#0e6h ;設(shè)置波特率為1 200b

10、/s mov tl1,#0e6h setb tr1 ;啟動t1 mov scon,#50h ;串行接口工作于方式1,允許接收 l1: jnb ri,l1 ;等待接收數(shù)據(jù),末接收到數(shù)據(jù),繼續(xù)等待 clr ri ;接收到數(shù)據(jù),清ri mov a,sbuf ;接收到數(shù)據(jù)送a ret五、設(shè)計題(任選1題,20分,評分標準硬件設(shè)計、程序設(shè)計各10分)1、利用89c51的p0口控制8個發(fā)光二極管led。相鄰的4個led為一組,使2組每隔1s交替發(fā)光一次,周而復始。設(shè)計出硬件電路圖,編寫程序。解:(1)程序設(shè)計(設(shè)fosc=12mhz)org 0100h mov a,#0fh abc: mov p0,a a

11、call delay1s swap a sjmp abc delay1s:mov r5,#04del1:mov r6,#250del2:mov r7,#250del3:nop nop djnz r7,del3 djnz r6,del2 djnz r5,del1ret;end(2)硬件電路圖如圖:2、現(xiàn)有一蜂鳴器,用89c51設(shè)計一系統(tǒng),使蜂鳴器周而復始地響20ms,停20ms,編程。解:設(shè)fosc=12mhz,電路圖如下: 定時時間:應用公式t =(2x)×foscx=216-t(fosc /12) =216-20000=45536=b1e0h程序清單:org 0000hljmp s

12、tartorg 0040h start:mov tmod,#01hmov tl0,#ob1hmov tho,#oe0hsetb tr0loop: jnb tfo,doneclr tf0done: mov tl0,#ob1hmov tho,#oe0hcpl p1.0sjmp loop哈爾濱工業(yè)大學2008年7月單片機原理及接口技術(shù)期終班級: 姓名: 學號: 成績: 一、填空題(20分,每小題2分)1、十進制數(shù)47用8位二進制補碼表示為 11010001b 。2、匯編語言中可以使用偽指令,它們不是真正的指令,只是用來對匯編過程進行某種控制。3、jbc 00h,rel 操作碼的地址為2000h,re

13、l=70h,它的轉(zhuǎn)移目的地址為2073h。4、一個機器周期= 12時鐘周期,一個時鐘周期=2個振蕩周期,一個振蕩周期=1個節(jié)拍。5、用串口擴展并行口時,串行接口工作方式應選為方式0。6、a/d轉(zhuǎn)換器的三個最重要指標是轉(zhuǎn)換速度、分辨率、轉(zhuǎn)換精度。7、當89c51的rst引腳上保持2 個 機器周期以上的低電平,8051即發(fā)生復位。8、mcs-51中,外部中斷請求標志位是ie0和ie1。9、假定(sp)=60h,(acc)=30h,(b)=70h。執(zhí)行下列指令: push acc push b 后,sp的內(nèi)容為 62h ,61h單元的內(nèi)容為 30h ,62h單元的 內(nèi)容為 70h。10、在直接尋址方

14、式中,以 8 位二進制數(shù)作為直接地址,因此其尋址對象只限于 片內(nèi)ram 。二、選擇題(10分,每小題2分)1、mcs-51在響應中斷時,下列哪種操作不會發(fā)生 (a) (a)保存累加器a (b)保護pc (c)找到中斷入口 (d)保護pc轉(zhuǎn)入中斷入口2、mcs-51上電復位后,sp的內(nèi)容是 (b) (a)00h (b)07h (c)60h (d)70h3、pc中存放的是 (a) (a)下一條指令的地址 (b)當前正在執(zhí)行的指令 (c)當前正在執(zhí)行的指令的地址 (d)下一條要執(zhí)行的指令4、當8031外擴程序存儲器8kb時,需使用eprom 2716 (c) (a)2片 (b)3片 (c)4片 (d

15、)5片5、可以為訪問程序存儲器提供或構(gòu)成地址的有 (c) (a)只有程序計數(shù)器pc (b)只有pc和累加器a (c)只有pc、a和數(shù)據(jù)指針dptr (d)pc、a、dptr和sp6、對程序存儲器的讀操作,只能使用 (d) (a)mov指令 (b)push指令 (c)movx指令 (d)movc指令7、下面哪種設(shè)備不是輸入設(shè)備 (c) (a)a/d轉(zhuǎn)換器 (b)鍵盤 (c)打印機 (d)掃描儀8、要訪問mcs-51的特殊功能寄存器應使用的尋址方式是 (a) (a)直接尋址 (b)寄存器間接尋址 (c)變址尋址 (d)相對尋址9、執(zhí)行movx a,dptr指令時,mcs-51產(chǎn)生的控制信號 (c)

16、 (a)/psen (b)ale (c)/rd (d)/wr10、下面哪種指令將mcs-51的工作寄存器置成3區(qū) (b) (a)mov psw,#13h (b)mov psw,#18h (c)setb psw.4 clr psw.3 (d)setb psw.3 clr psw.4三、簡答分析題(30分,評分標準:每小題各10分)1、89c51單片機片內(nèi)設(shè)有幾個定時器/計數(shù)器?它們是由哪些特殊功能寄存器組成?作定時器時,定時時間與哪些因數(shù)有關(guān)?作計數(shù)器時,對外界計數(shù)頻率有何限制?答: 8051單片機片內(nèi)設(shè)有2個定時器/計數(shù)器:定時器/計數(shù)器1和定時器/計數(shù)器0,由tho、tlo、th1、tl1、

17、tmod、tcon特殊功能寄存器組成。作定時器時,定時時間與定時器的工作模式、定時器的計數(shù)初值以及單片機的晶振頻率有關(guān)。作計數(shù)器時,對外界計數(shù)頻率不能高于振蕩頻率的1/24。2、簡述程序狀態(tài)字寄存器psw中各位的含義。并說出選擇工作寄存器組位的編碼。答: 程序狀態(tài)字寄存器psw:程序狀態(tài)字寄存器psw:是一個8位寄存器,用來存放當前指令執(zhí)行后操作結(jié)果的某些特征,以便為下一條指令的執(zhí)行提供依據(jù)。定義格式如下。其中,cy:進借位標志;ac:輔助進借位標志; f0:軟件標志;ov:溢出標志;f1:用戶標志位;p:奇偶校驗標志; rs1、rs0:工作寄存器組選擇(如表所示)。表 工作寄存器組選擇控制表

18、rs1 rs0寄存器組對應ram地址0 0000h07h0 1108 h0fh1 0210 h17h1 1318 h1fh3、閱讀下列程序,并要求:(1) 說明程序功能;(2) 寫出涉及的寄存器及片內(nèi)ram單元的最后結(jié)果 mov r0,#40hmov a,r0inc r0add a,r0inc r0mov r0,aclr aaddc a,#0inc r0mov r0,a 答:(1) 功能:將40h,41h單元中的內(nèi)容相加結(jié)果放在42h單元,進位放在43h, (2) (r0)=43h; (a)=1; (40h)=98h,(41h)=afh;(42h)=47h,(43h)=01h。四、編程題(任選

19、2題,20分,評分標準:每小題各10分)1、將以7000h為首址的連續(xù)100個單元清零。解: main:mov dptr,#7000h mov r0,#100 clr a next:movx dptr, ainc dptrdjnz r0,nextret2、在at89s51片內(nèi)ram20h3fh單元中有32b數(shù)據(jù),若采用方式1進行串行通訊,波特率為1200波特,fosc=12mhz,編寫發(fā)送/接收程序?qū)?。解:?)t1工作于方式2作為波特率發(fā)生器,取smod=0,t1的計數(shù)如下: 波特率=1200=得: x=230=e6h (2)發(fā)送程序:(采用查詢方式編程) org 0000h ljmp st

20、art org 0030h start:mov tmod,#20h mov th1,#0e6h mov tl1,#0e6h setb tr1 mov scon,#40h mov r0,#20h mov r7,#32 loop:mov sbuf,r0 jnb ti,$ clr ti inc r0 djnz r7,loop sjmp $ (3)接收程序 org 0000h ljmp start org 0030h start:mov tmod,#20h mov th1,#0e6h mov tl1,#0e6h loop1: setb tr1 mov scon,#50h mov r0,#20h mov

21、 r7,#32 loop:jnb ri,$ clr ri mov r0,sbuf inc r0 djnz r7,loop1 sjmp $3、設(shè)單片機采用89c51,未擴展片外rom,片外ram采用一片6116,編程將其片內(nèi)rom從0100h單元開始的10b得內(nèi)容依次外接到片外ram從100h單元開始的10b中去。解: mov r2,#00h ;源數(shù)據(jù)緩沖器地址偏移量00hmov r3,#0ah ;字節(jié)長度r3mov dptr,#0100h ;源數(shù)據(jù)緩沖區(qū)首地址dptrmov a,r2 ;源地址偏移量 al1: movc a,a+dptr ;傳送一個數(shù)據(jù)movx dptr,ainc dptr ;

22、源地址(目的地址)加1djnz r3,l1 ;數(shù)據(jù)全部傳送完?沒傳送完,轉(zhuǎn)l1繼續(xù)傳送sjmp $ ;結(jié)束五、設(shè)計題(20分)設(shè)計89c51和adc0809接口,采集2通道10個數(shù)據(jù),存入內(nèi)部ram的50h59h單元,畫出電路圖,編出程序,in2的地址。解:硬件電路設(shè)計如圖:(評分標準:10分)in2的地址為7ffah,p1.0查詢轉(zhuǎn)換結(jié)束信號。(評分標準:2分)程序設(shè)計如下:(評分標準:8分) org 0100h mov r7,#0ah mov r0,#50h mov dptr,#7ffah next: movx dptr,a jb p1.0.$ movx a,dptr mov r0,a i

23、nc r0djnz r7, next sjmp $哈爾濱工業(yè)大學2007年7月單片機原理及接口技術(shù)試卷班級: 姓名: 學號: 成績: 一、填空題(20分,評分標準:每小題各2)1、十進制數(shù)29的8位補碼表示為 11100011b 。2、mcs-51有 7 種尋址方式,特殊功能寄存器只能采用 直接尋址方式。3、mcs-51串行接口有 4 種工作方式,這可在初始化程序中用軟件填寫特殊功能寄存器 scon 加以選擇。4、mcs-51有 5個中斷源,有 2 個中斷優(yōu)先級,優(yōu)先級由軟件填寫特殊功能寄存器 ip 加以選擇。5、假定(a)=56h,(r5)=67h。執(zhí)行指令: add a,r5 da a后,

24、累加器a的內(nèi)容為 23h ,cy的內(nèi)容為 1 。6、假定標號qaz的地址為0100h,標號qwe值為0123h(即跳轉(zhuǎn)的目標地址為0123h)。執(zhí)行指令: qaz:sjmp qwe 該指令的相對偏移量為 0123h0102h=21h 。7、mcs-51單片機訪問片外存儲器時,利用 ale信號鎖存來自 p0口的低8位地址信號。8、mcs-51單片機片內(nèi)ram的工作寄存器區(qū)共有 32個單元,分為 4 組寄存器,每組 8個單元,以 r0r7 作為寄存器名。9、mcs-51單片機中 p0 口作地址/數(shù)據(jù)總線,傳送地址碼的 低8 位; p2 口作地址總線,傳送地址碼的 高8 位。二、選擇題(20分,評分

25、標準:每小題各2分)1、在中斷服務(wù)程序中,至少應有一條 (d) (a)傳送指令 (b)轉(zhuǎn)移指令 (c)加法指令 (d)中斷返回指令2、org 2000h lcall 3000h 0rg 3000h ret 左邊程序執(zhí)行完ret指令后,pc= (c)(a)2000h (b)3000h (c)2003h (d)3003h3、要使mcs-51能夠響應定時器t1中斷、串行接口中斷,它的中斷允許寄存器ie的內(nèi)容應是 (a) (a)98h (b)84h (c)42h (d)22h4、若某存儲器芯片地址線為12根,那么它的存儲容量為 (c) (a)1kb (b)2kb (c)4kb (d)8kb5、下面哪種

26、外設(shè)是輸出設(shè)備 (a) (a)打印機 (b)紙帶讀出機 (c)鍵盤 (d)a/d轉(zhuǎn)換器6、下面哪一個部件不是cpu的指令部件 (c) (a)pc (b)ir (c)psw (d)id7、以下運算中對溢出標志ov沒有影響或不受ov影響的運算是 (a) (a)邏輯運算(b)符號數(shù)加減法運算(c)乘法運算(d)除法運算8、以下指令中,屬于單純讀引腳的指令是 (c) (a)mov p1,a (b)orl p1,#0fh (c)mov c,p1.5 (d)djnz p1,short-lable9、在異步通訊接口,其幀格式由1個起始位(0)、7個數(shù)據(jù)位、1個偶校驗和1個停止位“1”組成。當該接口每分鐘傳送

27、1800個字符時,傳送波特率為 (d) (a)1800b/s (b)10b/s (c)3000b/s (d)300b/s10、各中斷源發(fā)出的中斷請求信號,都會標記在mcs-51系統(tǒng)的 (b) (a)tmod (b)tcon/scon (c)ie (d)ip三、判斷題(10分,評分標準:每小題各1分)1、mcs-51的程序存儲器只是用來存放程序的。 (×)2、當mcs-51上電復位時,堆棧指針(sp)=00h。 (×)3、判斷以下指令段的正誤。 (×) mov p2,#30h mov r2,#57h movx a,r2 4、0070h 80 fe here:sjmp

28、 here 執(zhí)行該指令后,程序?qū)⒃靥げ健?()5、51單片機內(nèi)部有兩片寄存器,既是工作寄存器和專用寄存器,因在同片內(nèi)ram,則它們是統(tǒng)一編址。 ()6、要進行多機通訊,mcs-51串行接口的工作方式應選方式1。 (×)7、定時器工作于方式2,若gate=1、tr0=1、int0=1就可啟動定時/計數(shù)器。 ()8、使用89c51且/ea=1時,仍可外擴64kb的程序存儲器。 (×)9、mcs-51的相對轉(zhuǎn)移指令最大負跳距是127b。 (×)10、pc存放的是當前正在執(zhí)行的指令。 (×)四、簡答分析編程題(任選3題,30分,評分標準:每小題各10分) 1、

29、89c51單片機片內(nèi)設(shè)有幾個定時器/計數(shù)器?它們是由哪些sfr組成?定時器/計數(shù)器作定時和計數(shù)時,其計數(shù)脈沖分別由誰提供?答:89c51單片機片內(nèi)設(shè)有2個定時器/計數(shù)器:定時器/計數(shù)器0和定時器/計數(shù)器1。由th0、tl0、th1、tl1、tmod、tcon特殊功能寄存器組成。 作定時器時,計數(shù)脈沖來自單片機內(nèi)部,其頻率為振蕩頻率的1/12;作計數(shù)器時,計數(shù)脈沖來自單片機外部,通過引腳t0(p3.4)和t1(p3.5)對外部脈沖信號計數(shù),當輸入脈沖信號從1到0的負跳變時,計數(shù)器就自動加1。計數(shù)的最高頻率一般為振蕩頻率的1/24。2、簡述89c51單片機的中斷響應過程。答:單片機如查詢到某個中斷

30、標志為1,將按優(yōu)先級進行中斷處理。中斷得到響應后 ,對于有些中斷源,cpu在響應中斷后會自動清除中斷標志,由硬件將程序計數(shù)器pc內(nèi)容壓入堆棧保護,然后將對應的中斷矢量裝入程序計數(shù)器pc,使程序轉(zhuǎn)向中斷矢量地址單元中去執(zhí)行相應的中斷服務(wù)程序。3、編程實現(xiàn)多字節(jié)無符號數(shù)加法解:編程說明:多字節(jié)運算一般是按從低字節(jié)到高字節(jié)的順序依次進行的入口:(r0)=被加數(shù)低位地址指針(r1)=加數(shù)低位地址指針(r2)=字節(jié)數(shù)出口:(r0)=和數(shù)低位地址指針程序清單如下: addbin:clr c loop1:mov a,r0addc a,r1mov r0,ainc r0inc r1djnz r2,loop1jn

31、c loop2mov r0,#01hret loop2:dec r0ret4、將定時器/計數(shù)器做脈沖信號發(fā)生器。編程利用定時器t0定時,在p1.0端輸出周期性方波信號,方波周期為2ms,已知晶振頻率為6mhz。答: 1)t0工作模式的設(shè)定: 選擇模式1(16位方式)(最大定時131ms) 2)定時初值的設(shè)定: x=216-(1ms×6×106/12 )=65036=fe0ch,即:th0應裝0feh,tl0應裝0ch。 程序清單如下:org 0000hljmp mainorg 000bhljmp huang主程序: org 0500h main:mov tmod,#01h

32、mov tl0,#och mov th0,#0feh setb ea setb et0 setb tr0 here:sjmp here中斷服務(wù)程序:huang:mov tl0,#och mov th0,#0feh cpl p1.0 reti五、設(shè)計題(任選1題,20分)1、設(shè)計一個2×2行列式鍵盤,并編寫鍵盤掃描程序。(評分標準:硬件電路10分,軟件程序20分)解:(1)邏輯電路如下:(2)判斷是否有鍵按下:有列線p1.0、p1.1送全0,查p0.0、p0.1是否為0。判斷哪一個鍵按下:逐列送0電平信號,再逐行掃描是否為0。鍵號=行首號+列號key: lcall ks jz key

33、lcall t10ms lcall ks jz keymov r2,#0feh mov r4,#00hlk1: mov p1,r2 jb p0.0,one mov a,#00h ljmp kpone: jb p0.1, next mov a,#02hkp: add a,r4 push acclk: lcall ks jnz lk pop acc retnext: inc r4 mov a,r2 jnb acc.1,knd rl a mov r2,a ajmp lk4knd: ajmp key1ks: mov p1,#0fch mov a,p0 cpl aanl a,#03hrett10ms:

34、mov r7,#10hts1: mov r6,#0ffhts2: djnz r6,ts2 djnz r7,ts1 ret2、設(shè)計一個由at89c51單片機與一片adc0809組成的數(shù)據(jù)采集系統(tǒng),adc0809的地址為7ff8h7fffh。畫出硬件邏輯電路圖,簡述啟動adc0809的工作過程,并編制輪流采集8個通道數(shù)據(jù),其采樣值存入片外ram 30h開始的存儲單元中。(評分標準:硬件電路5分,工作過程5分,軟件程序10分)解:(1)邏輯電路如下:(2)啟動adc0809的工作過程為:先送通道號地址到addaaddc,有ale信號鎖存通道號地址后,讓start有效啟動a/d轉(zhuǎn)換,即執(zhí)行一條movx

35、dptr,a指令產(chǎn)生 信號,使ale、start有效,鎖存通道號并啟動a/d轉(zhuǎn)換。a/d轉(zhuǎn)換完后,eoc端發(fā)出一正脈沖,接著執(zhí)行movxa,dptr產(chǎn)生 信號,使oe端有效,打開鎖存器三態(tài)門,8位數(shù)據(jù)就讀入到cpu中。(3)利用中斷方式,分別對8路模擬信號輪流采樣一次,轉(zhuǎn)換結(jié)果依次存放在首址為30h的片外數(shù)據(jù)ram中 org 0000h ajmp main org 0013h ajmp int1main: mov r1,#30h mov r7,#08h mov dptr,#07ff8h set it1 set ex1 set eamovx dptr,ahere: sjmp here中斷服務(wù)程序

36、:int1: movx a,dptr movx r1,a inc r1 inc dptr djnz r7,read retiread: movx dptr,a reti哈爾濱工業(yè)大學2009年7月考點分析:從物理地址看,8xx51單片機有4個存儲器地址空間,即片內(nèi)程序存儲器(簡稱片內(nèi)rom),片外程序存儲器(片外rom)、片內(nèi)數(shù)據(jù)存儲器(片內(nèi)ram)、片外數(shù)據(jù)存儲器(片外ram)。從邏輯地址看,8xx51單片機有3個存儲器地址空間,即片內(nèi)數(shù)據(jù)存儲器,片外數(shù)據(jù)存儲器、片內(nèi)、片外統(tǒng)一編址的程序存儲器。cpu的主要內(nèi)容、作用cpu是單片機的核心部件。它由運算器和控制器等部件組成。運算器的功能是進行算

37、術(shù)、邏輯運算。控制器主要是對單片機進行控制。psw程序狀態(tài)字cy:進、借位標志。ac:輔助進、借位標志。f0:用戶標志位。rs1rs0:工作寄存器組選擇位。ov:溢出標志位。p:奇/偶標志位。反映對累加器a操作后,a中“1”個數(shù)的奇偶。a中奇數(shù)個“1”,p=1標志寄存器判斷單片機的運行狀態(tài)。dprt-16位寄存器,可分成dpl(低八位)和dph(高8位)兩個8位寄存器。用來存放16位地址值,以便用間接尋址或變址尋址的方式對片外數(shù)據(jù)ram或程序存儲器sp堆棧指針。對堆棧的作用包括壓入和彈 出,先加后壓,先彈后減。pc程序計數(shù)器pc是一個自動加1的16位寄存器,用來存放即將要取出的指令碼的地址,可對64kb程序存儲器直接尋址。取指令碼旱,pc內(nèi)容的低8位經(jīng)p0口輸出,高8位經(jīng)p1輸出振蕩周期:晶振的振蕩周期,

溫馨提示

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

評論

0/150

提交評論