版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機原理及應(yīng)用作業(yè)答案 時 誡吠 作業(yè)答案 0-1 緒論 1 .單片機是把組成微型計算機的各功能部件即( 微處理器(cpu )、(存儲器(rom 和 ram)、(總線)、(定時器/計數(shù)器)、(輸入/輸出接口( i/o 口)及(中斷系統(tǒng)) 等部件集成在一塊芯片上的微型計算機。 2.什么叫單片機?其主要特點有哪些? 解: 將微處理器(cpu )、存儲器(存放程序或數(shù)據(jù)的 rom 和 ram )、總線、定時器/計數(shù) 器、輸入/輸出接口( i/o 口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計機, 稱為單片微型計算機,簡稱單片機。 單片機的特點:可靠性高、便于擴展、控制功能強、具有豐富的控
2、制指令、低電壓、低功耗、 片內(nèi)存儲容量較小、集成度高、體積小、性價比高、應(yīng)用廣泛、易于產(chǎn)品化等。 第 1 章 mcs-51 單片機的結(jié)構(gòu)與原理 15. mcs-51 系列單片機的引腳中有多少根 i/o 線?它們與單片機對外的地址總線和數(shù)據(jù)總 線之間有什么關(guān)系?其地址總線和數(shù)據(jù)總線各有多少位?對外可尋址的地址空間有多大? 解: mcs-51 系列單片機有 4 個 i/o 端口,每個端口都是 8 位雙向口,共占 32 根引腳。每個 端口都包括一個鎖存器(即專用寄存器 p0p3)、一個輸入驅(qū)動器和輸入緩沖器。通常把 4 個端口稱為 p0p3。在無片外擴展的存儲器的系統(tǒng)中,這 4 個端口的每一位都可以
3、作為雙 向通用 i/o 端口使用。在具有片外擴展存儲器的系統(tǒng)中, p2 口作為高 8 位地址線,p0 口分 時作為低 8 位地址線和雙向數(shù)據(jù)總線。 mcs-51 系列單片機數(shù)據(jù)總線為 8 位,地址總線為 18 位,對外可尋址空間為 64kb。 25.開機復(fù)位后,cpu 使用的是哪組工作寄存器(r 0 -r n )?它們的地址是什么? cpu 如何 確定和改變當(dāng)前工作寄存器組(r 0 -r n )? 解: 開機復(fù)位后,cpu 使用的是第 0 組工作寄存器。它們的地址是 00h 07h。cpu 通過對程 序狀態(tài)字 psw 中 rs1 和 rs0 的設(shè)置來確定和改變當(dāng)前工作寄存器組。 27. mcs
4、-51 單片機的時鐘周期、機器周期、指令周期是如何定義的?當(dāng)主頻為 12mhz 的時 候,一個機器周期是多長時間?執(zhí)行一條最長的指令需要多長時間? 解: 時鐘周期又稱為振蕩周期, 由單片機內(nèi)部振蕩電路 osc 產(chǎn)生,定義為 osc 時鐘頻率的 倒數(shù)。時鐘周期又稱為節(jié)拍(用 p 表示)。時鐘周期是時序中的最小單位。一個狀態(tài)有兩個 節(jié)拍, 機器周期定義為實現(xiàn)特定功能所需的時間。 mcs-51 的機器周期由 12 個時鐘周期構(gòu)成。 執(zhí)行一條指令所需要的時間稱為指令周期, 指令周期是時序中的最大單位。 由于機器執(zhí) 行不同指令所需的時間不同,因此不同指令所包含的機器周期數(shù)也不盡相同。 mcs-51 的指
5、 令可能包括 14 個不等的機器周期。 當(dāng) mcs-51 的主頻為 12mhz 時,一個機器周期為 1 s。執(zhí)行一條指令需要的最長時間為 4 s。 第 2 章 mcs-51 單片機指令系統(tǒng)與匯編語言程序設(shè)計 4假定累加器 a 中的內(nèi)容為 30h ,執(zhí)行指令 1000h : movc a,a+pc 后,把程序存儲 器(1031h )單元的內(nèi)容送入累加器 a 中。 7.指出下列各指令在程序存儲器中所占的字節(jié)數(shù) (1) mov dptr , #1234h 3 字節(jié) (2) mo a, dptr 1 字節(jié) (3) ljmp loop 3 字節(jié) (4) mov r0, a 1 字節(jié) (5) ajmp l
6、oop 2 字節(jié) 時 誡吠 (6) mov a , 30h 2 字節(jié) (7) sjmp loop 2 字節(jié) (8) mov b, #30h 2 字節(jié) 15. 設(shè)堆棧指針(sp) =60h,片內(nèi) ram 中的(30h ) =24h , ( 31h ) =10h。執(zhí)行下列程 序段后,61h, 62h, 30h, 31h, dptr 及 sp 中的內(nèi)容將有何變化? push 30h push 31h pop dpl pop dph mov 30h, #00h mov 31h, #0ff 解: 結(jié)果為:61h、62h 單元為堆棧單元,其內(nèi)容已被彈出棧。 (31h)=0ffh (dptr)=2410h
7、(sp)=60h 17.完成以下的數(shù)據(jù)傳送過程 (1) r1 的內(nèi)容傳送到 ro。 (2)片外 ram 20h 單元的內(nèi)容送 r0。 (3)片外 ram 20h 單元的內(nèi)容送片內(nèi) ram 20h 單元。 (4)片外 ram 1000h 單元的內(nèi)容送片內(nèi) ram 20h 單元。 (5) rom 2021h 單元的內(nèi)容送 r0。 (6) rom 2021h 單元的內(nèi)容送片內(nèi) ram 20h 單元。 (7) rom 2021h 單元的內(nèi)容送片外 ram 20h 單元。 解 : (1) r1 的內(nèi)容傳送到 r0 ; mov a, r1 mov r0, a (2)片外 ram 20h 單元內(nèi)容送 r0
8、; mov r1, #20h mo a, r1 mov r0, a (3)片外 ram 20h 單元的內(nèi)容送片內(nèi) ram 20h 單元; mov r0, #20h mo a, r0 mov 20h, a (4)片外 ram 1000h 單元的內(nèi)容送片內(nèi) ram 20h 單元; mov dptr, #1000h mo a, dptr mov 20h, a (5) rom 2021h 單元的內(nèi)容送 r0 單元; clr a mov dptr, #2021h movc a, a+dptr mov r0, a (6) rom 2021h 單元的內(nèi)容送片內(nèi) ram 20h 單元; clr a mov d
9、ptr, #2021h movc a, a+dptr mov 20h, a (7) rom 2021h 單元的內(nèi)容送片外 ram 20h 單元。 clr a mov dptr, #2021h movc a, a+dptr mov r0, #20h (30h)=00h 時 誡吠 mo r0, a 19.編程將片內(nèi) ram 的 40h60h 單元中內(nèi)容送到片外 ram 以 3000h 開始的單元中。 并將原片內(nèi)ram 數(shù)據(jù)塊區(qū)域全部清 0。 解 : org 0000h ljmp main org 0030h main : mov sp, #60h mov r7,#21h mov r1,#40h m
10、ov dptr,#3000h loop : mov a,r1 mo dptr,a mov r1, #00h inc r1 inc dptr djnz r7,loop sjmp $ end 23 .設(shè)有 100 個有符號數(shù),連續(xù)存放在片外 ram 以 2021h 為首地址的存儲區(qū)中,試編程 統(tǒng)計其中正數(shù)、負(fù)數(shù)、零的個數(shù)。 解 : org 0000h ljmp main org 0030h main : mov r2 , #100 mov r3 , #00h mov r4 , #00h mov r5 , #00h mov dptr , #2021h loop : mo a , dptr cjne
11、a , #00h , net1 inc r3 sjmp net3 net1 : jb acc.7 net2 inc r4 sjmp net3 net2 : inc r5 net3 : inc dptr djnz r2 , loop sjmp $ end 24.試編一查找程序,從外部 ram 首地址為 2021h、長度為 9fh 的數(shù)據(jù)塊中找出第一個 ascii 碼a,將其地址送到 20a0h 和 20a1h 單元中。 解 : org 0000h ljmp main org 0030h main: mov sp, #60h mov dptr,#2021h mov r7,#9fh lp0: mo
12、a,dptr cjne a, #41h, lp1 mov r2,dpl mov r3,dph mov dptr,#20a0h 時 誡吠 mov a, r2 mo dptr,a - - - - 時 誡吠 - - - - inc dptr mov a, r3 mo dptr,a sjmp lp2 lp1: inc dptr djnz r7, lp0 lp2: ret end 27 .編程實現(xiàn)將片外 ram 中 2400h2450h 單元中的數(shù)傳送到 2500h2550h 單元中。 解: org 0000h main: mov 30h,#24h ljmp main mov 31h,#00h org
13、0030h mov 32h,#25h main: mov r7,#51h mov 33h,#00h mov dptr, #2400h mov r2,#51h loop mo a,dptr loop: mov dph,30h mov dph, #25h mov dpl,31h mo dptr,a mo a,dptr mov dph, #24h mov dph,32h inc dptr mov dpl,33h djnz r7 ,l oop mo dptr,a sjmp $ inc 31h end inc 33h 另一種方法: djnz r2,loop org 0000h sjmp $ ljmp m
14、ain end org 0030h 第三章作業(yè)答案 6.設(shè) (tmod ) =0a5h,則定時器 t0 的狀態(tài)是 ( 方式 1 計數(shù)), 定時器 t1 的狀態(tài)是 ( 方式 2 定時 ) 。 27.請寫出 int1 為低電平觸發(fā)的中斷系統(tǒng)初始化程序。 解: int1 為低電平觸發(fā)的中斷系統(tǒng)初始化程序如下: org 0000h ljmp main org 0013h ljmp intn1 org 0100h main : mov sp, #60h setb ea setb ex1 ; 開 int1 中斷 clr px1 ;令 int1 為低優(yōu)先級 clr it1 ;令 int1 為電平觸發(fā) sjm
15、p $ end 28.說明 mcs-51 單片機響應(yīng)中斷后,中斷服務(wù)的入口地址。 解 : 中斷服務(wù)程序的入口地址如下表: 中斷源 中斷矢量 : 外部中斷 0 ( int0 ) 0003h 定時器 t0 中斷 000bh 夕卜部中斷 1 ( int1 ) 0013h 定時器 t1 中斷 001bh 時 誡吠 串行口中斷 | 0023h 36. 使用一個定時器,如何通過軟硬結(jié)合方法實現(xiàn)較長時間的定時? 解 : 設(shè)定好定時器的定時時間, 采用中斷方式用軟件設(shè)置計數(shù)次數(shù), 進行溢出次數(shù)累計, 從 而得到較長的時間。 37. 利用定時器輸出周期為 2 ms 的方波 , 設(shè)單片機晶振頻率為 6 mhz。試
16、編程實現(xiàn)之。 解: 選用定時器/計數(shù)器 to 作定時器, 工作在方式 1 輸出為 p1.0 引腳,2 ms 的方波可 由 1 ms 的高低電平相間隔而成, 因而只要每隔 1 ms 對 p1.0 取反一次即可得到這個方波。 初值的計算如下:st0=12/(6 x10 6 ) = 2 10 6 s tc=m-t/t0=2 16 - 1x10 一 3 /2 為 0 6 =65536 500=65036=fe0ch 當(dāng)定時器/計數(shù)器采用方式 0 時,初值為: tc=m-t/t0=2 13 1 x10 3 /2 10 6 =8192 500=7692=1e0ch , 程序如下: 當(dāng)采用查詢方式時: 蘭色
17、字部分應(yīng)該為: lp1: jbc tf0, lp2 sjmp lp1 lp2: cpl p1.0 mov tl0 , #0ch mov th0 , #0feh setb tr0 sjmp lp1 end 48 .某異步通信接口按方式 3 傳送,已知其每分鐘傳送 3600 個字符,計算其傳送波特率。 解:11 (位)x3600 (字符/分鐘)=39600b/分鐘=660b/s (方式 3 為每個字符 11 位)。org 0000h ljmp start org 000bh ljmp t0int ;t0 中斷入口 org 0030h mov sp, #60h ;初始化程序 mov tl0 , #0
18、ch ;t0 賦初值 mov th0 , #0feh mov tmod ,#01h ;定時器/計數(shù)器 0 工作于方式 1 setb tr0 ;啟動 t0 setb et0 ;開 t0 中斷 setb ea ;開總允許中斷 sjmp $ push acc push psw cpl p1.0 mov tl0 , #0ch mov th0 , #0feh setb tr0 ;啟動 t0 pop psw pop acc reti end start: t0int : 則真正的 16 位計數(shù)初值為: f00ch (高 8 位,低 5 位) - - - - 時 誡吠 - - - - 49.利用 8051
19、串行口控制 8 位發(fā)光二極管工作,要求發(fā)光二極管每 1s 交替地亮、滅,畫出 電路圖并編寫程序。 解: 主程序框圖如下: 程序如下: org 0040h mov scon , #00h mov sbuf , #0ffh setb c mov 00h, c aa : acall delay cpl 00h mov c, 00h jc bb mov sbuf , #00h sjmp cc bb : mov sbuf , #0ffh cc: ajmp "aa delay mov r7, #8 d1 : :mov r6, #250 d2: :mov r5, #250 d3: :djnz r5
20、, d3 djnz r6, d2 djnz r7, d1 ret end 第四章作業(yè)答案 16. mcs-51 單片機系統(tǒng)中,片外程序存儲器和片外數(shù)據(jù)存儲器共用 16 位地址線和 8 位數(shù) 據(jù)線,為何不會產(chǎn)生沖突? 解: 程序存儲器和數(shù)據(jù)存儲器雖然共用 16 位地址線和 8 位數(shù)據(jù)線,但由于數(shù)據(jù)存儲器的讀 和寫由rd 和 wr 信號控制,而程序存儲器由讀選通信號 psen 控制,這些信號在邏輯上 時序上不會產(chǎn)生沖突,因此,兩者雖然共處于同一地址空間,但由于控制信號不同,所以不 啪 sr - - - 會發(fā)生總線沖突。 18 .某單片機應(yīng)用系統(tǒng),需擴展 2 片 8kb 的 eprom 和 2 片
21、8kb 的 ram,采用地址譯碼 法,畫出硬件連接圖,并指出各芯片的地址范圍。 解: 硬件連接電路圖如圖 4.18 所示。各芯片的地址范圍為: 2764 (1#): 0000h1fffh 2764 (2#): 2021h3fffh 6264 (1#): 4000h5fffh 6264 (2#): 6000h7fffh 圖 4.18 4.18 題硬件連接電路圖 21 . 8255a 的端口地址為 7f00h7f03h,試編程對 8255a 初始化,使 a 口按方式 0 輸入, b 口按方式 1 輸出。 解: 程序如下: mov dptr, #7f03h mov a, #10010100b mov
22、 dptr , a 25 .使用 8255a 或者 8155 的 b 端口驅(qū)動紅色和綠色發(fā)光二極管各 4 只,且紅、綠發(fā)光二極 管輪流發(fā)光各 1s,不斷循環(huán),試畫出包括地址譯碼器、 8255a 或 8155 與發(fā)光管部分的接口 電路圖,并編寫控制程序。 解: 電路連接圖如圖 4.25 所示。 圖 4.25 4.25 題硬件連接電路圖 其中,pb0pb3 接紅色發(fā)光二極管,pb4pb7 接綠色發(fā)光二極管。 設(shè) mcs-51 單片 機主頻為 12mhz。 程序如下:89s51i ale 7" w-a7 ce 2764 1# o?-n oe ab-a7 ab-*t2 ce 2764 2#
23、dt-ot oe ada7 ab-m? ce 6264 1# oe a0-a7 ab*a12 ce 6264 2# wl oe pel |"悅 fu3 i"us pf?6 a pn 7- po o 74ls373 pseh al f ixj - ij? po.q- pd? c3 fi-.si ;t q7 qlqo org 0000h ljmp start org 0030h mov sp,#60h mov dptr, #7fffh start : mov a, #80h mo dptr, a mov dptr, #7ffdh ; 工作方式字送 8255a 控制口 ; 數(shù)據(jù)指
24、針指向 8255a 的 b 口 mov a, #0fh ; 置紅色發(fā)光二極管亮 : mo dptr, a ; 置紅色發(fā)光二極管亮 lcall delay ; 調(diào)用 1s 延時子程序 cpl a ; 置發(fā)光二極管亮反色 ljmp lp1 ; 循環(huán)執(zhí)行 mov r7 , #8 ;1s 延時子程序 d1 : mov r6 , #250 d2 : mov r5 , #250 d3 : djnz r5 , d3 djnz r6 , d2 djnz r7 , d1 ; 數(shù)據(jù)指針指向 8255a 控制口 lp1 delay ret end 采用定時器 t0 方式 1 中斷實現(xiàn) 1s 定時。 1s=50msx
25、20 次。 t0 方式 1 實現(xiàn) 50ms 定時,初值=2 16 -50ms/1 卩 s=15536=3cb0h (1s=20m ; s 50 次,初值=2 16 -20ms/1 卩 s=45536=b1e0h org ljmp org ljmp org start : mov mov 0000h start 000bh tt0 1000 h sp,#60h dptr, #7fffh mov a, #80h mo dptr, a ; 工作方式字送 8255a 控制口 mov dptr, #7ffdh ; 數(shù)據(jù)指針指向 8255a 的 b 口 mov a, #0fh ; 置紅色發(fā)光二極管亮 mo
26、v r2, a mo dptr, a ; 置紅色發(fā)光二極管亮 mov 30h, #00h ; 次數(shù)計數(shù)單元初值 mov tl0 , #0b0h ;t0 賦初值 mov th0 , #3ch mov tmod , #01h ; 定時器 / 計數(shù)器 0 工作于方式 1 setb tr0 ; 啟動 t0 setb et0 ; 開 t0 中斷 setb ea ; 開總允許中斷 lp1 : sjmp lp1 ; 等待定時器中斷 tt0 : push acc push psw 8255a 控制口 ; 數(shù)據(jù)指針指向 inc 30h mov a, 30h cjne a, #20, lp2 mov a, r2
27、cpl a mov r2, a mo dptr, a mov 30h, #00h lp2 : mov mov pop pop tl0 , #0b0h th0 , #3ch psw acc ; t0 賦初值 - - - - 啪 誡'彳 - - - - setb tro reti end 26 .簡述 rs-232c, rs-422a 及 rs-485 串行通信接口的特點,畫出在雙機通信情況下, 3 個 串行通信接口的接口電路。 解: rs-232c 采取不平衡傳輸方式,是為點對點(即只用一對收、發(fā)設(shè)備)通信而設(shè)計的, 采用負(fù)邏輯,其驅(qū)動器負(fù)載為 3k7k。由于 rs-232c 發(fā)送電平與
28、接收電平的差僅為 2 3v,所以其共模抑制能力差,再加上雙絞線上的分布電容,因此, rs-232c 適用于傳送距 離不大于 15m,速度不高于 20kb/s 的本地設(shè)備之間通信的場合。 rs-422 由 rs-232 發(fā)展而來,rs-422 定義了一種平衡通信接口,將傳輸速率提高到 10mb/s,傳輸距離延長到 1220m (速率低于 100kb/s 時),并允許在一條平衡總線上最多連 接 10 個接收器。rs-422 是一種單機發(fā)送、多機接收的單向、平衡的通信總線標(biāo)準(zhǔn)。 rs-485 是在 rs-422 的基礎(chǔ)上制定的標(biāo)準(zhǔn), 增加了多點、雙向通信能力,通常在要求通 信距離為幾十米至上千米時,
29、廣泛采用 rs-485 總線標(biāo)準(zhǔn)。它采用平衡發(fā)送和差分接收,即 在發(fā)送端,驅(qū)動器將 ttl 電平信號轉(zhuǎn)換成差分信號輸出;在接收端,接收器將差分信號變 成 ttl 電平。具有較高的靈敏度,能檢測低至 200mv 的電壓,具有抑制共模干擾的能力, 數(shù)據(jù)傳輸可達(dá)千米以上。 rs-232 的雙機通信接口電路如圖 4.26-1 所示。 31.何謂看門狗'?它如何實現(xiàn)對系統(tǒng)程序的監(jiān)控? 解: 看門狗(wdt ) ',也稱為程序監(jiān)視定時器。 wdt 的作用是通過不斷監(jiān)視程序每周 期的運行事件是否超過正常狀態(tài)下所需要的時間, 從而判斷程序是否進入了 死循環(huán)'并對 進入 死循環(huán)'
30、的程序作出系統(tǒng)復(fù)位處理。 在程序中設(shè)置適當(dāng)?shù)闹噶?,?wdt ,就可監(jiān)視微處理器的工作。例如在主程序開始時, 將 wdt置位,如果主程序執(zhí)行過程中產(chǎn)生死循環(huán), 就無法清 wdt ,超過 wdt 的定時時間 時,wdt 就會對微處理器發(fā)出復(fù)位信號。從而實現(xiàn)對系統(tǒng)程序的監(jiān)控。 32 說明 i 2 c 總線的特點以及在單片機中實現(xiàn)該總線的方法。 解: hxi) t-s til c "i n il 1 % v+ c2i ticxt t2in t2out hlolt rhk 茫 oct ii21k gn 打 cl 1 臥 v4 cl v- c2+ max?.12 rirh riour t3wt
31、 t2in ritnir 1 um icol1t 4 :nli ii |:- c7 .uu 圖 4.26-1 4.26 題硬件連接電路圖 rs-422 和 rs-485 的雙機通信接口電路如圖 4.26-2 所示。 圖 4.26-2 4.26 題硬件連接電路圖 - - - - 啪 誡'彳 - - - - i 2 c 總線是由串行數(shù)據(jù)線 sda 和串行時鐘線 scl 構(gòu)成的,可發(fā)送和接收數(shù)據(jù)。它允許 若干兼容器件共享總線。所有掛接在 i 2 c 總線上的器件和接口電路都應(yīng)具有 i 2 c 總線接口, 且所有的 sda/scl 同名端相連。總線上所有器件要依靠 sda 發(fā)送的地址信號尋址,
32、不需 要片選線。 i 2 c 總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本??偩€的 長度可高達(dá) 7.6m,并且能夠以 10kbps 的最大傳輸速率支持 40 個組件。支持多主控器件, 其中,任何能夠進行發(fā)送和接收的設(shè)備都可以成為主器件。 主控能夠控制信號的傳輸和時鐘 頻率。當(dāng)然,在某時刻只能有一個主控器件。 i 2 c 器件。如果單片機自帶 i 2 c 總線接口,則所有 l 2 c i 2 c 總線接口,則可以使用 i/o 口模擬 i 2 c 總線。 使用單片機 i/o 口模擬 i 2 c 總線時,硬件連接非常簡單, 只需兩條 i/o 口線即可,在軟件中分別定義成 scl
33、和 sda。mcs-51 單片機實現(xiàn) i 2 c 總線接口電路如圖 4.32 所 示。 電路中單片機的 p1.0 引腳作為串行時鐘線 scl, p1.1 引腳作為串行數(shù)據(jù)線 sda,通過程序模擬 i 2 c 串行總線的 通信方式。i 2 c 總線適用于通信速度要求不高而體積要求 較高的應(yīng)用系統(tǒng)。 第五章作業(yè)答案 6.當(dāng) dac 0832 d/a 轉(zhuǎn)換器的 cs 接 8031 的 p2.0 時,程序中 應(yīng)置為( d )。 10. 簡述 d/a 轉(zhuǎn)換器的主要技術(shù)指標(biāo)。 解: d/a 轉(zhuǎn)換器的主要性能指標(biāo)有: (1) 分辨率:單位數(shù)字量所對應(yīng)模擬量增量,即相鄰兩個二進制碼對應(yīng)的輸出電壓之 差稱為 d
34、/a 轉(zhuǎn)換器的分辨率。它確定了 d/a 產(chǎn)生的最小模擬量變化,也可用最低位( lsb ) 表示。 (2) 精度:精度是指 d/a 轉(zhuǎn)換器的實際輸出與理論值之間的誤差,它是以滿量程 v fs 的百分?jǐn)?shù)或最低有效位(lsb )的分?jǐn)?shù)形式表示。 (3) 線性誤差:d/a 轉(zhuǎn)換器的實際轉(zhuǎn)換特性(各數(shù)字輸入值所對應(yīng)的各模擬輸出值之 間的連線)與理想的轉(zhuǎn)換特性(始、終點連線)之間是有偏差的,這個偏差就是 d/a 的線 性誤差。即兩個相鄰的數(shù)字碼所對應(yīng)的模擬輸出值(之差)與一個 lsb 所對應(yīng)的模擬值之 差。常以 lsb 的分?jǐn)?shù)形式表示。 (4) 轉(zhuǎn)換時間 t s (建立時間):從 d/a 轉(zhuǎn)換器輸入的數(shù)字
35、量發(fā)生變化開始, 到其輸出模 擬量達(dá)到相應(yīng)的穩(wěn)定值所需要的時間稱為轉(zhuǎn)換時間。 22. 具有 8 位分辨率的 a/d 轉(zhuǎn)換器,當(dāng)輸入 05v 電壓時,其最大量化誤差是多少? 解: 對于 8 位 a/d 轉(zhuǎn)換器,實際滿量程電壓為 5v,則其量化單位 1lsb=5v/256=0.0196v,考慮到 a/d 轉(zhuǎn)換時會進行四舍五入處理,所以最大量化誤差為( 1/2 ) lsb,即 0.0098v。 23. 在一個80c51 單片機與一片 dac0832 組成的應(yīng)用系統(tǒng)中,dac0832 的地址為 7fffh , 輸出電壓為 05v。試畫出有關(guān)邏輯電路圖,并編寫產(chǎn)生矩形波,其波形占空比為 1:4,高 電平
36、為 2.5v,低電平為 1.25v 的轉(zhuǎn)換程序。 解: 硬件電路連接圖如圖 5.23 所示。 在單片機控制系統(tǒng)中,廣泛使用 器件對應(yīng)連接到該總線上即可;若無 j in n r1 0【 卜 s4.1 sda r 1 .u i,1 0832 的地址指針 dpdr 寄存器 a: 0832h b; fe00h c: fef8h d;以上三種都可以 圖 4.32 4.32 題硬件連接電路圖 dac0832 的口地址為 7fffh。波形占空比為 1 : 4,高電平波形/低電平波形為 1/3 。 當(dāng) v o =2.5v 時,d=80h ; v o =1.25v 時,d=40h。 程序如下: org 0000
37、h ljmp main org 0030h main : mov sp, #60h mov dptr, #7fffh next : mov a, #80h mo dptr , a acall delay mov r4, #03h mov a, #40h mo dptr , a loop : acall delay djnz r4 , loop ajmp next delay : ret end 24.在一個 80c51 與一片 adc0809 組成的數(shù)據(jù)采集系統(tǒng)中,adc0809 的地址為 7ff8h 7fffh。試畫出邏輯電路圖,并編寫程序,每隔 1 分鐘輪流采集一次 8 個通道數(shù)據(jù),8 個
38、通 道總共采集 100 次,其采樣值存入以片外 ram 3000h 開始的存儲單元中。 解 : 硬件電路連接圖如圖 5.24 所示。 圖 5.24 5.24 題邏輯電路圖 設(shè) 80c51 的時鐘頻率為 12mhz,程序如下:5.23 題邏輯電路圖 圖 5.23 時 誡吠 習(xí)題 1 2. cpu 由(運算器)和(控制器)組成。 12. 采用 8031 單片機必須擴展( b org 0000h ljmp main org 001bh ljmp t1_1 org 0030h main : mov sp, #60h mov r7, #100 mov r1, #30h mov r0, #00h mov
39、r2, #20 mov r3, #60 mov tomd,#10h mov th1,#3ch mov tl1, #0b0h setb ea setb et1 setb tr1 loop : sjmp loop djnz r7,loop sjmp $ org 0100h t1_1 : mov th1,#3ch mov tl1, #0b0h djnz r2,reti_0 mov r2, #20 djnz r3,reti_0 mov r3, #60 mov r6,#8 mov dptr,#7ff8h loop1 : mo dptr,a jb p1.0,$ mo a,dptr push dph pus
40、h dpl mov dph, r1 mov dpl, r0 mo dptr,a inc dptr mov r1,dph mov r0,dpl pop dpl pop dph inc dptr djnz r6,loop1 reti_0 : reti end ;設(shè)堆棧指針 ;置采集次數(shù) ;片外 ram 地址高位 ;片外 ram 地址低位 ;置入初值 20 (計 1 s) 置入初值 60 (計 1 min) ;定時器 t1 工作于模式 1 計數(shù)器定時 50ms 的初值 ;開中斷 ;定時器 t1 允許中斷 ;啟動定時器 t1 ;等待中斷 ;是否到 100 次? ;中斷服務(wù)程序,重新賦計數(shù)器初值 ;1s
41、 未到,返回 ;重新置" 1s'計數(shù)器初值 1 min 未到,返回 重新置" 1min '計數(shù)器初值 ;8 個通道計數(shù)器初值 ;in0 地址 ;啟動 a/d 轉(zhuǎn)換 ;判轉(zhuǎn)換是否結(jié)束 ;讀取轉(zhuǎn)換結(jié)果 ;將通道地址壓入堆棧 ;將片外 ram 地址送 dptr ;將轉(zhuǎn)換結(jié)果存入片外 ram ;片外 ram 地址加 1 ;保存片外 ram 地址 ;恢復(fù)通道地址 ;通道地址加 1 ;8 個通道是否采集結(jié)束 時 誡吠 a :數(shù)據(jù)存儲器 b :程序存儲器 c : i/o 接口 d:顯示接口 16. 8051 單片機的控制總線信號有哪些?各有何作用? 解: 控制線一共有 6
42、 條: (1) ale/ prog :地址鎖存允許/編程線,配合 p0 口引腳的第二功能使用。在訪問片外存 儲器時,8051cpu 在 p0.7p0.0 引腳上輸出片外存儲器低 8 位地址的同時在 ale/ prog 上 輸出一個高電位脈沖, 用于把這個片外存儲器低 8 位地址鎖存到外部專用地址鎖存器, 以便 空出 p0.7p0.0 引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時, 8051 自動在 ale/ prog 上輸出頻率為 fosc/6 的脈沖序列。該脈沖序列可用作外部時鐘源或 作為定時脈沖源使用。 (2) ea/vpp :允許訪問片外存儲器/編程電源線,可以控制 8
43、051 使用片內(nèi) rom 還是使 用片外 rom。若 ea = 0,則允許使用片內(nèi) rom ;若 ea =1 則允許使用片外 rom。 (3) psen :片外 rom 選通線,在執(zhí)行訪問片外 rom 的指令 movc 時,8051 自動在 psen 上產(chǎn)生一個負(fù)脈沖,用于為片外 rom 芯片的選通。其他情況下 psen 線均為高電平封鎖狀 態(tài)。 (4) rst/v pd :復(fù)位/備用電源線,可以使 8051 處于復(fù)位工作狀態(tài)。 習(xí)題 2 2.在 mcs 51 中,pc 和 dptr 都用于提供地址,但 pc 是為訪問(程序)存儲器提供地 址,而dptr 是為訪問(數(shù)據(jù))存儲器提供地址。 5.
44、 8051 執(zhí)行完 mov a, #08h 后,psw 的( d )位被置位。 a : c b : f0 c : ov d : p 11. 片內(nèi) ram 20h2fh 單元中的 128 個位地址與直接地址 00h7fh 形式完全相同,如 何在指令中區(qū)分出位尋址操作和直接尋址操作? 解 : 位尋址是直接尋址方式的一種。 雖然內(nèi)部 ram 位尋址區(qū)的位地址范圍 00h7fh 與低 128 個單元的單元地址范圍 00h7fh 形式完全相同,但是在應(yīng)用中可以通過以下的方法區(qū) 分 1. 通過指令操作碼(指令的類型)區(qū)分: 位操作只有 17 條指令,位尋址的操作只適用于下列位指令,而直接尋址操作對這 jn
45、c 幾種操作碼,其中:jb、jnb、jbc、jc、jnc 是位尋址特有的。 2. 當(dāng)指令操作碼一樣時,可通過操作數(shù)的表現(xiàn)形式來區(qū)分。直接位地址的表示方法有: (1) 直接使用位地址形式。如: mov 00h, c (2) 字節(jié)地址加位序號的形式。如: mov 20h.0, c (3) 位的符號地址(位名稱)的形式。如: anl c, p (4) 字節(jié)符號地址(字節(jié)名稱)加位序號的形式。如: cpl psw.6 3. 可通過指令中的累加器區(qū)分: 位操作中的累加器為 c,單元操作中的累加器為 a。 13. 在 " movc a, a+dptr 和 " movc a, a+pc&
46、#39; 中,分別使用了 dptr 和 pc 作基址, 請問這兩個基址代表什么地址? 使用中有何不同? 解 : 使用a+dptr 基址變址尋址時,dptr 為常數(shù)且是表格的首地址, a 為從表格首址到 被訪問字節(jié)地址的偏移量。 使用a+pc 基址變址尋址時,pc 仍是下條指令首地址,而 a 則是從下條指令首地址到常 數(shù)表格中的被訪問字節(jié)的偏移量。mov c , bit cpl bit (c) mov bit , c orl c , bit (/bit) clr bit (c) anl c , bit (/bit) setb bit (c) jbc bit, rel 位操作只有 mov、 clr
47、 、 setb、 cpl 、 jb bit, rel jnb bit, rel jc rel jnc rel orl、 anl 、jb、jnb、 jbc、 jc、 些指令是無效 時 誡吠 15. 設(shè)堆棧指針(sp) =60h,片內(nèi) ram 中的(30h) =24h , ( 31h) =10h。執(zhí)行下列程序 段后,61h, 62h, 30h, 31h, dptr 及 sp 中的內(nèi)容將有何變化? push 30h push 31h pop dpl pop dph mov 30h, #00h mov 31h, #0ff 解: 結(jié)果為:6 伯、62h 單元為堆棧單元,其內(nèi)容已被彈出棧。 ( 30h)=
48、00h (31h)=0ffh (dptr)=2410h (sp)=60h 19.編程將片內(nèi) ram 的 40h60h 單元中內(nèi)容送到片外 ram 以 3000h 開始的單元中。并 將原片內(nèi)ram 數(shù)據(jù)塊區(qū)域全部清 0。 解 : org 0000h ljmp main org 0030h main : mov sp, #60h mov r7 , #21h mov r0 , #40h mov dptr , #3000h loop : mov a , r0 mo dptr , a mov r0, #00h inc r0 inc dptr djnz r7 , loop sjmp $ end 20 .編
49、程計算片內(nèi) ram 區(qū) 30h37h 的 8 個單元中數(shù)的算術(shù)平均值,結(jié)果存放在 3ah 單 元中。 解 : org 0000h ljmp main org 0030h main : mov r0 , #30h mov r1 , #00h mov r2 , #00h mov r3 , #08h lp2 : mov a , r0 add a , r2 mov r2 , a jnc lp1 inc r1 lp1 : inc r0 djnz r3 , lp2 mov r3 , #03h clr c lp3: mov a , r1 rrc a mov r1 , a mov a , r2 時 誡吠 rr
50、c a mov r2 , a 時 誡吠 djnz r3 , lp3 mov 3ah , r2 sjmp $ end 22 .設(shè)有兩個長度均為 15 的數(shù)組,分別存放在片外 ram 以 2021h 和 2100h 開始的存儲區(qū) 中,試編程求其對應(yīng)項之和,結(jié)果存放在以 2200h 為首地址的存儲區(qū)中。 解 : org 0000h inc dptr ljmp main inc r1 org 0030h djnz r2,loop main: mov dptr,#2021h mov r1,#30h mov a,#offh mov dptr,#2100h mo dptr,a mov r2,#15 mov
51、dptr,#2100h mov r0,#40h mov a,#34h loop1: mo dptr,a mo a,dptr mov dptr,#2021h clr c mov a,#33h addc a,r1 mo dptr,a mov r0,a mov dptr,#2108h inc dptr mov a,#44h inc r1 mo dptr,a inc ro mov dptr,#200eh djnz r2,loop1 mov a,#0eeh mov dptr,#2200h mo dptr,a mov r2,#15 mov dptr,#210eh mov r0,#40h mov a,#32
52、h loop2: mov a,r0 mo dptr,a mo dptr,a mov dptr,#2021h inc r0 mov r1,#30h inc dptr mov r2,#15 djnz r2,loop2 loop: mo a,dptr sjmp $ mov r1,a end 習(xí)題 3 8.在數(shù)據(jù)通信中, 有數(shù)據(jù)傳送方式有( 單工 )、( 半雙工 )、(全雙工)、(多工) 四種方式。 9.設(shè)置串行口為 10 位 uart,則其工作方式應(yīng)選用為( 工作方式 1 )。 19.控制串行接口工作方式的寄存器是( c )。 a : tcon b : pcon c : scon d : tmod 24.簡述 mcs-51 單片機的中斷響應(yīng)過程。 解 : 單片機一旦響應(yīng)中斷請求 , 就由硬件完成以下功能 : (1) 根據(jù)響應(yīng)的中斷源的中斷優(yōu)先級 , 使相
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版土方工程承包合同
- 2025年度快遞配送員工作績效與薪酬合同3篇
- 二零二五年公司知識產(chǎn)權(quán)保護與保密合同3篇
- 2025年度新能源汽車充電設(shè)施建設(shè)運營合同
- 二零二五年度企業(yè)并購補償協(xié)議書范本3篇
- 二零二五年度公司股權(quán)收購項目盡職調(diào)查合同3篇
- 2024油茶林種植基地與農(nóng)業(yè)循環(huán)經(jīng)濟合作承包合同3篇
- 2024年式商業(yè)建筑墻體拆改合同3篇
- 二零二五年度供水工程施工項目投資合同3篇
- 2024年速凍食品包裝盒訂購協(xié)議3篇
- 房屋無償使用協(xié)議書(8篇)
- 中央銀行理論與實務(wù)期末復(fù)習(xí)題
- 國家開放大學(xué)電大本科《國際私法》案例題題庫及答案(b試卷號:1020)
- 喜慶中國節(jié)春節(jié)習(xí)俗文化PPT模板
- 測井儀器設(shè)計規(guī)范--電子設(shè)計
- 北師大版小學(xué)五年級上冊數(shù)學(xué)第六單元《組合圖形的面積》單元測評培優(yōu)試卷
- 用特征方程求數(shù)列的通項
- 四年級奧數(shù)題(一)找規(guī)律
- 素材庫管理系統(tǒng)架構(gòu)(共13頁)
- 監(jiān)理平行檢驗記錄表
- 縣領(lǐng)導(dǎo)在新錄用公務(wù)員培訓(xùn)班開班典禮上的講話
評論
0/150
提交評論