![單片機原理及應(yīng)用第二版李建忠_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/6a5e4b01-2cfb-4f5a-9c97-6196f5c59048/6a5e4b01-2cfb-4f5a-9c97-6196f5c590481.gif)
![單片機原理及應(yīng)用第二版李建忠_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/6a5e4b01-2cfb-4f5a-9c97-6196f5c59048/6a5e4b01-2cfb-4f5a-9c97-6196f5c590482.gif)
![單片機原理及應(yīng)用第二版李建忠_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/6a5e4b01-2cfb-4f5a-9c97-6196f5c59048/6a5e4b01-2cfb-4f5a-9c97-6196f5c590483.gif)
![單片機原理及應(yīng)用第二版李建忠_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/6a5e4b01-2cfb-4f5a-9c97-6196f5c59048/6a5e4b01-2cfb-4f5a-9c97-6196f5c590484.gif)
![單片機原理及應(yīng)用第二版李建忠_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/26/6a5e4b01-2cfb-4f5a-9c97-6196f5c59048/6a5e4b01-2cfb-4f5a-9c97-6196f5c590485.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二章習(xí)題參考答案2-1 51單片機內(nèi)部包含哪些主要邏輯功能部件?(1)一個8位微處理器cpu。(2)256b數(shù)據(jù)存儲器ram和特殊功能寄存器sfr。(3)4k程序存儲器rom。(4)兩個定時/計數(shù)器,用以對外部事件進(jìn)行計數(shù),也可用作定時器。(5)四個8位可編程的i/o(輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數(shù)據(jù)的串行通信(7)1個可管理5個中斷源、2級優(yōu)先嵌套的中斷管理系統(tǒng);。(8)片內(nèi)振蕩器及時鐘發(fā)生器。2-2 mcs-51引腳中有多少i/o總線?它們和單片機對外的地址總線和數(shù)據(jù)總線有什么關(guān)系?地址總線和數(shù)據(jù)總線各是幾位?32條i/o口線,分為4組,
2、每組8條,稱為p0p3口,p0口有8位數(shù)據(jù)總線和地址總線的低8位,p2口有地址總線的高8位,因此單片機的地址總線位是16位,尋址空間為64kb,數(shù)據(jù)總線位寬為8位。同時在p3口還r/w控制信號線。i/o口線的總數(shù)與地址總線和數(shù)據(jù)總線沒有多大聯(lián)系,只是說地址總線和數(shù)據(jù)總線需要占用一定的端口。像at89c2051單片機,只有15條i/o口線(p3.6沒有引出,作為內(nèi)部使用),分為p1口(8位)和p3口(7位),沒有所謂的地址總線和數(shù)據(jù)總線,并且p1口并不完整,因為p1.0和p1.1被電壓比較器占用了。2-3 51單片機的 ea, ale,psen信號各自功能是什么? ea:為片外程序存儲器選用端,
3、該引腳有效(低電平)時,只選用片外程序存儲器,否則單片機上電或復(fù)位后選用片內(nèi)程序存儲器。ale:地址鎖存有效信號輸出在訪問片外程序存儲器期間,ale以每機器周期兩次進(jìn)行信號輸出,其下降沿用于控制鎖存p0輸出的低8位地址;在不訪問片外程序存儲器期間,ale端仍以上述頻率(振蕩頻率fosc的1/6)出現(xiàn),可作為對外輸出的時鐘脈沖或用于定時目的.psen:片外程序存儲器讀選通信號輸出端,低電平有效。2-4 51系列單片機有哪些信號需要芯片引腳的第二功能方式提供?p3.0 :pxd 串行口輸入端 p3.1 :txd串行口輸出端 p3.2 :int0 外部中斷0請求輸入端,低電平有效 p3.3 :int
4、1 外部中斷1請求輸入端,低電平有效 p3.4 :t0 定時/計數(shù)器 0技術(shù)脈沖輸入端 p3.5 :t1 定時/計數(shù)器 1技術(shù)脈沖輸入端 p3.6 :wr 外部數(shù)據(jù)存數(shù)器寫選通信信號輸出端,低電平有效 p3.7 :rd 外部數(shù)據(jù)存數(shù)器讀選通信信號輸出端,低電平有效2-5 51系列單片機的程序狀態(tài)字psw中存放什么信息?其中的ov標(biāo)志位在什么情況下被置位?置位是表示什么意思?psw是一個8位標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢和判別。1)做加法時,最高位,次高位之一有進(jìn)位則ov被置位 2)做減法時,最高位,次高位之一借位則ov被置位 3)執(zhí)行乘法指令mul ab,積大于255,
5、ov=1 4)執(zhí)行除法指令div ab,如果b中所放除數(shù)為0 ,ov=10v=1,置位反映運算結(jié)果超出了累加器的數(shù)值范圍2-9 片內(nèi)ram低128單元劃分為哪幾個區(qū)域?應(yīng)用中怎么樣合理有效的使用?工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū)工作寄存器區(qū)用于臨時寄存8位信息,分成4組,每組有8個寄存器,每次只用1組, 其他各組不工作位尋址區(qū)(20h2fh),這16個單元的每一位都賦予了一個位地址,位地址范圍為00h7fh,位尋址區(qū)的每一位都可能當(dāng)作軟件觸發(fā)器,由程序直接進(jìn)行位處理。由于工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪問,因此這三個 區(qū)的單眼既有自己獨特的功能,又可統(tǒng)一調(diào)度使用,
6、前兩個已未使用的單元也可作為一般的用戶ram單元。2-10 51系列單片機的堆棧與通用微機中的堆棧有何異同?在程序設(shè)計時,為什么要對堆棧指針sp重新賦值?堆棧是按先進(jìn)后出或后進(jìn)先出的遠(yuǎn)側(cè)進(jìn)行讀/寫的特殊ram區(qū)域 51單片機的堆棧區(qū)時不固定的,可設(shè)置在內(nèi)部ram的任意區(qū)域內(nèi)當(dāng)數(shù)據(jù)壓入堆棧時,sp的內(nèi)容自動加1,作為本次進(jìn)棧的指針,然后再存取數(shù)據(jù)sp的值隨著數(shù)據(jù)的存入而增加,當(dāng)數(shù)據(jù)從堆棧彈出之后,sp的值隨之減少,復(fù)位時,sp的初值為07h,堆棧實際上從08h開始堆放信息,即堆棧初始位置位于工作寄存器區(qū)域內(nèi),所以要重新賦值2-13 什么是時鐘周期,機器中期和指令周期?當(dāng)晶振蕩頻率為6mhz時,一
7、條雙周期指令的執(zhí)行時間是多少?時鐘周期:cpu始終脈沖的重復(fù)周期(2個振蕩周期) 機器周期:一個機器周期包含6個狀態(tài)周期 指令周期:執(zhí)行一條指令所占用的全部時間 12mhz時,一條雙周期指令周期時間為2us 6mhz時,一條雙周期指令周期時間為1us2-14 定時器/計數(shù)器定時與計數(shù)的內(nèi)部工作有何異同?定時工作模式和技術(shù)工作模式的工作原理相同,只是計數(shù)脈沖來源有所不同:處于計數(shù)器工作模式時,加法計數(shù)器對芯片端子t0(p3.4)或t1(p3.5)上的輸入脈沖計數(shù);處于定時器工作模式時,加法計數(shù)器對內(nèi)部機器周期脈沖計數(shù)。 2-15 定時器/計數(shù)器有四種工作方式,它們的定時與計數(shù)范圍各是多少?使用中
8、怎樣選擇工作方式?工作方式0:定時范圍:18192us;計數(shù)值范圍:18192 工作方式1:定時范圍:165536us;計數(shù)值范圍:165536 工作方式2:定時范圍:1256us;計數(shù)值范圍:1256 工作方式3:定時范圍:1256us;計數(shù)值范圍:1256通過tmod來選擇,低4位用于定時器/計數(shù)器0,高4位用于定時器/計數(shù)器1m1,m0:定時器計數(shù)器工作方式選擇位2-16 定時器/計數(shù)器的門控方式與非門控方式有何不同?使用中怎么樣選擇哪種工作方式?初值應(yīng)設(shè)置為多少(十六進(jìn)制)?gate:門控位,用于控制定時器/計數(shù)器的啟動是否受外部中斷請求信號的影響。gate=1,則定時器/計數(shù)器0的啟
9、動受芯片引腳int0(p3.2)控制,定時器/計數(shù)器1的啟動受芯片引腳int1(p3.3)控制gate=0,則定時器/計數(shù)器的啟動與引腳int0、int1無關(guān),一般情況下gate=02-18 51單片機的五個中斷源中哪幾個中斷源在cpu響應(yīng)中斷后可自動撤除中斷請求,哪幾個不能撤除中斷請求?cpu不能能撤除中斷請求的中斷源時,用戶應(yīng)采取什么措施?可撤除:計數(shù)器t0t1的溢出中斷不可撤除:觸發(fā)的外部中斷;發(fā)送接收中斷1)觸發(fā)的外部中斷:由于cpu對intx引腳沒有控制作用,也沒有相應(yīng)的中斷請求標(biāo)志位,因此需要外接電路來撤除中斷請求信號。 2)串行口的發(fā)送/接收中斷:當(dāng)串行口發(fā)送完或接收完一幀信息時
10、,scon的ti,ri向cpu申請中斷,響應(yīng)中斷后,接口應(yīng)計算呢不能自動將ti或rt清0,用戶需采用軟件方法將ti或rt清0,來撤除中斷請求信號2-21 使單片機復(fù)位有幾種方式?復(fù)位后單片機的初始狀態(tài)如何?上電復(fù)位,按鈕復(fù)位(pc)=0000h:程序的初始入口地址為0000h (psw) =00h:由于rs1(psw.4)=0,rs0(psw.3)=0,復(fù)位后單片機選擇工作寄存器0組 (sp)=07h:復(fù)位后堆棧早起片內(nèi)ram的08h單元處建立 th1、tl0、th0、tl0:他們的內(nèi)容為00h,定時器/計數(shù)器的初值為0 (tmod)=00h:復(fù)位后定時器/計數(shù)器t0、t1定時器方式0,非門控
11、方式 (tcon)=00h:復(fù)位后定時器/計數(shù)器t0、t1停止工作,外部中斷0、1為電平觸發(fā)方式 (t2con) =00h:復(fù)位后定時器/計數(shù)器t2停止工作 (scon)=00h:復(fù)位后串行口工作在移位寄存器方式,且禁止串行口接收 (ie)=00h:復(fù)位后屏蔽所有中斷 (ip)=00h:復(fù)位后所有中斷源都直指為低優(yōu)先級 p0p3:鎖存器都是全1狀態(tài),說明復(fù)位后4個并行接口設(shè)置為輸入口2-23 51單片機串行口有幾種工作方式?這幾種工作方式有何不同?各用于什么場合?有4種工作方式:方式0、方式1、方式2、方式3工作方式:方式0移位寄存器方式;方式1、方式2、方式3都是異步通信方式場合:方式0不用
12、于通信,而是通過外接移位寄存器芯片實現(xiàn)擴(kuò)展i/o口的功能;方式1用于雙機通信;方式2、3主要用于多機通信,也可用于雙機通信第三章參考答案 3-1 何謂尋址方式?51單片機有哪幾種尋址方式?這幾種方式是如何尋址的?所謂尋址方式,就是cpu執(zhí)行那個一條指令時怎樣找到該指令所要求的操作數(shù)的方式。1)立即尋址:操作數(shù)直接出現(xiàn)在指令中,緊跟在操作碼的后面,作為指令的一部分與操作碼一起存放在程序存儲器中,可以立即得到并執(zhí)行,例如:mova,#30h指令中30h就是立即數(shù)。這一條指令的功能是執(zhí)行將立即數(shù)30h傳送到累加器a中的操作。2) 寄存器尋址:操作數(shù)放在寄存器中,在指令中直接以寄存器的名字來表示操作數(shù)
13、的地址。例如mov a,r0,即將r0寄存器的內(nèi)容送到累加器a中。3)寄存器間接尋址方式:由指令指出某一寄存器的內(nèi)容作為操作數(shù)地址的尋址方法,例如:mov a,r1,將以工作寄存器r1中的內(nèi)容為地址的片內(nèi)ram單元的數(shù)據(jù)傳送到a中去。4)直接尋址: 指令中直接給出操作數(shù)所在的存儲器地址,以供取數(shù)或存數(shù)的尋址方式稱為 直接尋址。例如:mov a,40h指令中的源操作數(shù)就是直接尋址,40h為操作數(shù)的地址。該指令的功能是把片內(nèi)ram地址為40h單元的內(nèi)容送到a中5)變址尋址:基地址寄存器加變址寄存器間接尋址6)相對尋址:相對尋址是以當(dāng)前程序計數(shù)器pc值加上指令中給出的偏移量rel,而構(gòu)成實際操作數(shù)地
14、址的尋址方法。它用于訪問程序存儲器,常出現(xiàn)在相對轉(zhuǎn)移指令中。7)位尋址:位尋址是在位操作指令中直接給出位操作數(shù)的地址,可以對片內(nèi)ram中的128 位和特殊功能寄存器sfr中的93位進(jìn)行尋址。3-2 訪問片內(nèi)、片外程序存儲器有哪幾種尋址方式?采用基址寄存器加變址寄存器間接尋址方式movc a,a+dptr movc a,a+pc3-3 訪問片內(nèi)ram單元和特殊功能寄存器各有哪幾種尋址方式?訪問片內(nèi)ram有:立即尋址,寄存器尋址,寄存器間接尋址,直接尋址 特殊功能有:直接尋址3-4訪問片外ram單元和特殊功能寄存器,各有哪幾種尋址方式?l 訪問片內(nèi)ram有:寄存器間接尋址l 特殊功能有:直接尋址3
15、-5若要完成以下的數(shù)據(jù)傳送,應(yīng)如何用51的指令來完成。(1)r0的內(nèi)容送到r1中。mov a, r1 mov r0,a(2)外部ram的20h單元內(nèi)容送r0,送內(nèi)部ram的20h單元。mov dptr,#0020h movx a,dptr mov r0,a(3)外部ram的2000h單元內(nèi)容送r0,送內(nèi)部ram的20h單元,送外部ram的20h單元。mov dptr,#2000h mov r0,#20h movx a,dptr movx r0,amov r0,a(4)rom的2000h單元內(nèi)容送r0,送內(nèi)部ram的20h單元,送外部ram的 20h單元。mov a, #00hmov dptr,
16、#2000hmov r0,#20h movc a,a+dptrmov r0,amovx r0,a mov r0,a 3-6 試比較下列每組兩條指令的區(qū)別1) mov a,#24與mov a,24h2) mov a,r0與mov a,r03) mov a,r0與movx a,r04) mov a,r1與movx a,dptr1)前者為立即尋址,將立即數(shù)24h單元的內(nèi)容送到a中;后者為直接尋址,將24h單元的片內(nèi)ram內(nèi)容送到a中。 2)前者為直接尋址,將r0單元的內(nèi)容送到a中,后者為寄存器間接尋址,將r0中的內(nèi)容為地址的片內(nèi)ram單元的數(shù)據(jù)送到a中。 3)前者為寄存器間接尋址,將r0中的內(nèi)容為地
17、址的片內(nèi)ram單元的數(shù)據(jù)送到a;后者為寄存器間接尋址,將r0中的內(nèi)容為地址的片外ram單元的數(shù)據(jù)送到a中。4)用r1做地址指針可尋址片內(nèi)ram的256個單元,但能訪問sfr塊,也可8位地址訪問片外ram的低256個地址單元(00ffh);用dptr做地址指針,用于訪問片外ram的64kb范圍(0000ffffh)(16位)。3-7已知(a)= 7ah,( b)= 02h,( r0)= 30h,( 30h)= a5h,( psw)=80h,寫出以下各條指令執(zhí)行后a和psw的內(nèi)容。(1)xch a, r0 (a)=30h,(psw)=00h, (r0)= 7ah,(2)xch a, 30h (a)
18、=a5h,(psw)=00h(3)xch a, r0 (a)=a5h,(psw)=00h(4)xchd a, r0 (a)=75h,(psw)=01h(5)swap a (a)=a7h,(psw)=01h(6)add a, r0 (a)=aah,(psw)=00h(7)add a, 30h (a)=1fh,(psw)=81h(8)add a, #30h (a)=aah,(psw)=00h(9)addc a, 30h (a)=20h,(psw)=01h (10)subb a, 30h (a)=d5h,(psw)=85h(11)subb a, #30h (a)=4ah,(psw)=01h(12)i
19、nc r0 (a)=7ah,(psw)=80h;(13)mul ab (14)div ab 3-8 已知(a)=02h,(r1)=7fh,(dptr)=2ffch,(sp)=30h,片內(nèi)ram(7fh)=70h,片外ram(2ffeh)=11h,rom(2ffeh)=64h,試分別寫出以下指令執(zhí)行后目標(biāo)單元的結(jié)果。1) movx dptr,a2) movx a,r13) movc a,a+dptr4) push acc1)(2ffeh)=02h 2)(a)=70h 3)(a)=(02h+2ffch)=(2ffeh)=64h 4)(31h)=02h 3-9 da a指令有什么作用?怎樣使用?l
20、這條指令是進(jìn)行bcd碼運算時,跟在add或addc指令之后,將相加后存放在累加器中的結(jié)果進(jìn)行修正。修正的條件和方法為:若(a03)9或(ac)=1,則(a03)+06h(a03);若(a47)9或(cy)=1,則(a47)+06h(a47)。若以上二條同時發(fā)生,或高4位雖等于9 ,但低4位修正后有進(jìn)位,則應(yīng)加66h修正。3-10 設(shè)(a)=83h,(r0)=17h,(17h)=34h,分析當(dāng)執(zhí)行下面的每條指令后目標(biāo)單元的內(nèi)容,及4條指令組成的程序段執(zhí)行后a的內(nèi)容是什么?anl a,#17h ;與 orl 17h,a ;或 xrl a,r0 ;異或 cpl a ;取反anl a,#17h 100
21、00011與00010111 = 0000 0011 orl 17h,a 00110100或00000011 = 0011 0111xrl a,r0 00110111異或 0000 0011 = 0011 0100cpl a a 1100 1000 cbh3-11 請寫出達(dá)到下列要求的邏輯操作的指令,要求不得改變未涉及位的內(nèi)容1) 使累加器a的低位置12) 清累加器a的高4位3) 使a.2和a.3置14) 清除a.3、a.4、a.5、a.6 setb acc.1;anl a,#0fh;orl a,#00001100banl a,#10000111b3-12 指令ljimp addr16與ajm
22、p addr11的區(qū)別是什么?l ljimp addr16是長轉(zhuǎn)移, lcall的作用就是將addr16直接賦給pcl ajmp addr11,在當(dāng)前pc的2kb范圍跳轉(zhuǎn)(因為addr11就是2kb), 即pc高五位不變,低十一位等于addr11。 3-13試說明指令cjne r1, #7ah, 10h的作用。若本條指令地址為2500h,其轉(zhuǎn)移地址是多少?當(dāng)前地址 2500h。執(zhí)行該指令后pc為2503h,加上10h后,目標(biāo)地址是2513h。3-14下面執(zhí)行后(sp)=42h, (a) = 40h, (b) =40h ,并解釋每條指令的作用。 org 2000h ;起始地址為2000h mov
23、 sp,#40h ;(sp)=40h mov a,#30h ;(a)=30h lcall 2500h ;調(diào)用2500h子程序 add a,#10h ;(a)(a)+10,(a)=40h mov b,a ;(b)=40hhere:sjmp here org 2500h ;起始地址為2500h mov dptr,#2009h ;(dptr)=2009h push dpl ;(sp)=40h+1=41h push dph ; (sp)=41h+1=42hret ;返回3-15已知p1.7= 1, a.0= 0, c= 1, first=1000h, second=1020h,試寫出下列指令的執(zhí)行結(jié)果
24、。(1)mov 26h, c 1(2)cpl a.0 1(3)clr p1.7 0(4)orl c, /p1.7 1(5)first: jc second (6)first: jnb a.0, second (7)second: jbc p1.7, first 3-16經(jīng)匯編后,下列各條語句標(biāo)號將是什么值?org 2000h table: ds 5 word: db 15, 20, 25, 30 (2005h)=15,fang: equ 1000h fang=1000hbegin: mov a, r0 3-17下面程序段經(jīng)匯編后,從2000h開始的各有關(guān)存儲器單元的內(nèi)容是什么?org 2000
25、h tab: db 10h, 20h (2000h)=10h,(2001h)=20hdw 2100h,23h (2002h)=21h,(2003h)=00h,(2004h)=00h,(2005h)=23hdw tab (2006h)=20h,(2007h)=00hdb work (2008h)=57h等3-18 設(shè)fosc=12mhz,定時器/計數(shù)器0的初始化程序和中斷服務(wù)程序如下:mov th0,#0dhmov tl0,#0d0hmov tmod,#01hsetb tr0 : ;中斷服務(wù)程序org 000bhmov th0,#0dhmov tl0,#0d0h :reti問:1)該定時器/計數(shù)
26、器工作于什么方式? 2)相應(yīng)的定時時間或計數(shù)值是多少? 3)為什么在中斷服務(wù)程序中藥重置定時器/計數(shù)器的初值?1)方式1 2)定時時間為:fosc=12mhz tcy=1us t=n*tcy =(65536-x)*tcy 定時范圍:165536計數(shù)值為:n=216 -x=65536-x 計數(shù)范圍為:1655363) 定時器t0的溢出對外無脈沖信號,重置定時器/計數(shù)器的初值可以再形成計數(shù)脈沖3-19用位操作指令,實現(xiàn)下列邏輯操作。(1)p1.7 = a.0 (b.0p2.1)/p3.2 mov c, b.0orl c, p2.1anl c, acc.7orl c, /p3.2mov p1.7,
27、c(2)psw.5 = p1.3/ a.2b.5/p1.1 mov c, p1.3 anl c, /acc.2 mov p1.0, c mov c, b.5 anl c, /p1.1 orl c, p1.0 mov psw.5, c3-20試編寫一段程序,將片內(nèi)ram的20、21h、22h連續(xù)三個單元的內(nèi)容依次存入 2fh、2eh和2dh單元。mov 2fh, 20hmov 2eh, 21hmov 2dh, 22h3-21試編寫程序完成將片外數(shù)據(jù)存儲器地址為1000h1030h的數(shù)據(jù)塊,全部搬遷到片內(nèi)ram的30h60h中,并將源數(shù)據(jù)塊區(qū)全部清零。mov r1,#30hmov r0,#30hm
28、ov dptr,#1000hloop:mov a,dptrmovx r0,ainc r0inc dptrdjnz r1,loop3-22設(shè)有100個有符號數(shù),連續(xù)存放在以2000h為首地址的存儲區(qū)中,試編程統(tǒng)計其中正數(shù)、負(fù)數(shù)、零的個數(shù)。zero equ 20h ;零的統(tǒng)計 negetive equ 21h ;負(fù)數(shù)的統(tǒng)計 positive equ 22h ;正數(shù)的統(tǒng)計 count equ 100 ;比較個數(shù) org 0000h ljmp main org 0040h mov zero,#0 mov negetive,#0 mov positive,#0 mov r2,#0 mov dptr,#
29、2000h loop: movx a,dptr cjne a,#0,nonzero inc zero ajmp next nonzero: jc neg inc positive ajmp next neg: inc negetive next: inc dptr inc r2 cjne r2,#count,loop sjmp $ 3-23 編寫一個延時1ms的子程序time1ms:mov r6, #2time1:mov r7, #248djnz r7, $ ;延時498usdjnz r6, time1 ;內(nèi)重循環(huán)為500 us;運行兩次為1ms, 共1.002msret 3-24試編寫一段程
30、序,將片內(nèi)30h32h和33h35h中的兩個3字節(jié)壓縮bcd碼十進(jìn)制數(shù)相加,將結(jié)果以單字節(jié)bcd碼形式寫到外部ram的1000h1005h單元。clr cmov r7,#3mov dptr,#1000hmov r0,#30hmov r1,#33hloop:mov a,r0anl a,#0fhmov r2,amov a,r1anl a,#0fhaddc a,r2da amovx dptr,ainc dptrmov a,r0swap aanl a,#0fhmov r2,amov a,r1swap aanl a,#0fhaddc a,r2da amovx dptr,ainc r0inc r1inc
31、dptrdjnz r7,loop3-25 51單片機從串行口發(fā)送緩沖區(qū)首址為30h的10個ascii碼字符,最高位用于奇偶校驗,采用偶校驗方式,要求發(fā)送的波特率為2400波特,時鐘頻率osc=12mhz,試編寫串行口發(fā)送子程序。單片機采用12 mhz晶振;設(shè)串行口工作于方式1;定時器/計數(shù)器t1用作波特率發(fā)生器,工作于方式2;pcon中的smod位為1;發(fā)送的波特率要求為2400。 定時器/計數(shù)器t1初值計算: 根據(jù)公式 波特率=2smod溢出率/32有溢出率=240016=38 400溢出周期=1/溢出率=26 s (此為定時器/計數(shù)器的定時值)定時器初值=256-26=230=e6h 根據(jù)
32、要求確定定時器/計數(shù)器的tmod中的方式控制字為20h,串行口scon中的控制字為40h,pcon控制字為80h。則相應(yīng)的發(fā)送程序如下:tstart:mov tmod,#20h ;置定時器/計數(shù)器t1工作于方式2定時 mov pcon, #80h mov tl1,#0e6h ;定時器/計數(shù)器t1置初值 mov th1,#e6h ;定時器/計數(shù)器t1置重裝數(shù) mov scon,#40h ;置串行口工作于方式1 mov r0,#30h ;r0作地址指針,指向數(shù)據(jù)塊首址 mov r7,#10 ;r7作循環(huán)計數(shù)器,置以發(fā)送=字節(jié)數(shù) setb tr1 ;啟動定時器/計數(shù)器t1loop: mov a,r0
33、 ;取待發(fā)送的一個字節(jié) mov c,p ;取奇偶標(biāo)志,奇為1,偶為0 mov a.7,c ;給發(fā)送的ascii碼最高位加偶校驗位 mov sbuf,a ;啟動串行口發(fā)送 wait:jnb ti,wait ;等待發(fā)送完畢 clr ti ;清ti標(biāo)志,為下一個字節(jié)發(fā)送作準(zhǔn)備 inc r0 ;指向數(shù)據(jù)塊下一個待發(fā)送字節(jié)的地址 djinz r7,loop ;循環(huán)發(fā)送,直到數(shù)據(jù)塊發(fā)送完畢 第四章 參考答案4-1)何謂單片機的最小系統(tǒng)?所謂最小系統(tǒng),是指一個真正可用的單片機最小配置系統(tǒng)。對于片內(nèi)帶有程序存儲器的單片機,只要在芯片上對外接時鐘電路和復(fù)位電路就能達(dá)到真正可用,就是最小系統(tǒng)。對于片外不帶有程序存
34、儲器的單片機,除了在芯片上外接時鐘電路和復(fù)位電路外,還需外接程序存儲器,才能構(gòu)成一個最小系統(tǒng)。4-5)什么是完全譯碼?什么是部分譯碼?各有什么特點?所謂部分譯碼,就是存儲器芯片的地址線與單片機系統(tǒng)的地址線順序相接后,剩余的高位地址線僅用一部分參加譯碼。 特點:部分譯碼使存儲器芯片的地址空間有重疊,造成系統(tǒng)存儲器空間的浪費。所謂全譯碼,就是存儲器芯片的地址線與單片機系統(tǒng)的地址線順序相接后,剩余的高位地址線全部參加譯碼。特點:存儲器芯片的地址空間是唯一確定的,但譯碼電路相對復(fù)雜。4-7)存儲器芯片地址引腳數(shù)與容量有什么關(guān)系? 地址線的數(shù)目由芯片的容量決定,容量(q)與地址線數(shù)目(n)滿足關(guān)系式:q
35、=2n4-10) 采用2764(8k*8)芯片擴(kuò)展程序存儲器,分配的地址范圍為4000h7fffh。采用完全譯碼方式,試確定所用芯片數(shù)目,分配地址范圍,畫出地址譯碼關(guān)系圖,設(shè)計譯碼電路,畫出與單片機的連接圖。7fffh-4000h+1=4000h=16kb 因為2764為8k*8 所以需要2片芯片第一片地址為范圍為:4000h5fffh第二片地址為范圍為:6000h7fffh譯碼關(guān)系圖:p2.7p2.6p2.5p2.4p2.3p2.2p2.1p2.0p0.7p0.6p0.5p0.4p0.3p0.2p0.1p0.0a15a14a13a12a11a10a9a8a7a6a5a4a3a2a1a0000
36、*001*第六章 參考答案6-9)何謂靜態(tài)顯示?何謂動態(tài)顯示?兩種顯示方式各有什么優(yōu)缺點?靜態(tài)顯示:led工作在靜態(tài)顯示方式下,共陰極接地或共陽極接+5v;每一位的段選線(ag,dp)與一個8位并行i/o口相連。優(yōu)點:顯示器每一位可以獨立顯示,每一位由一個8位輸出口控制段選碼,故在同一個時刻各位可以獨立顯示不同的字符。缺點:n位靜態(tài)顯示器要求有n8根i/o口線,占用i/o口線較多,故在位數(shù)較多時往往采用動態(tài)顯示。 動態(tài)顯示:led動態(tài)顯示是將所有位的段選線并接在一個i/o口上,共陰極端或共陽極端分別由相應(yīng)的i/o口線控制。優(yōu)點:節(jié)約用線缺點:每一位段選線都接在一個i/o口上,因此每送一個段選碼,8位就顯示同一個字符,這種顯示器是不能用的。解決這個問題利用人眼的視覺停留,從段選線i/o口上按位分別送顯示字符的段選碼,在位控制口也按相應(yīng)的次序分別選通相應(yīng)的顯示位(共陰極送低電平,共陽極送高電平),選通位就顯示相應(yīng)字符,并保持幾毫秒的延時,未選通位不顯示字符(保持熄滅)。6-14)設(shè)計一個內(nèi)置hd44780驅(qū)動控制器的字符型lcm與51單片機的接口電路,并編寫在字符型液晶顯示模塊顯示“hello”字符的程序。6-16)adc0809的8路輸入通道是如
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- HO-PEG3-CH2-6-Cl-生命科學(xué)試劑-MCE-6427
- CP-LC-0743-生命科學(xué)試劑-MCE-6886
- 5-Hydroxy-9-S-hexahydrocannabinol-生命科學(xué)試劑-MCE-2639
- 二零二五年度互聯(lián)網(wǎng)醫(yī)療企業(yè)股權(quán)并購協(xié)議
- 二零二五年度白酒新品全國市場推廣與銷售代理協(xié)議
- 2025年度二零二五年度終止股權(quán)轉(zhuǎn)讓終止協(xié)議
- 二零二五年度終止體育賽事組織勞務(wù)終止合同
- 二零二五年度蔬菜大棚租賃與農(nóng)業(yè)循環(huán)經(jīng)濟(jì)合作協(xié)議
- 施工現(xiàn)場施工防生物戰(zhàn)爭威脅制度
- 施工圍蔽項目特征描述
- 2024年山東泰安市泰山財金投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 近五年重慶中考物理試題及答案2023
- 2023年新高考物理廣東卷試題真題及答案詳解(精校版)
- 全科醫(yī)醫(yī)師的臨床診療思維
- 第二章直線和圓的方程(單元測試卷)(原卷版)
- GB/T 16818-2008中、短程光電測距規(guī)范
- (七圣)七圣娘娘簽詩
- 內(nèi)鏡下粘膜剝離術(shù)(ESD)護(hù)理要點及健康教育
- 新媒體文案創(chuàng)作與傳播精品課件(完整版)
- 2022年全省百萬城鄉(xiāng)建設(shè)職工職業(yè)技能競賽暨“華衍杯”江蘇省第三屆供水安全知識競賽題庫
- 廣西北海LNG儲罐保冷施工方案
評論
0/150
提交評論