單片機原理及應(yīng)用作業(yè)答案_第1頁
單片機原理及應(yīng)用作業(yè)答案_第2頁
單片機原理及應(yīng)用作業(yè)答案_第3頁
單片機原理及應(yīng)用作業(yè)答案_第4頁
單片機原理及應(yīng)用作業(yè)答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、作業(yè)答案0-1緒論1單片機是把組成微型計算機的各功能部件即(微處理器(CPU)、(存儲器(ROM和RAM)、(總線)、(定時器/計數(shù)器)、(輸入/輸出接口(I/O口)及(中斷系統(tǒng))等部件集成在一塊芯片上的微型計算機。2什么叫單片機?其主要特點有哪些?解:將微處理器(CPU)、存儲器(存放程序或數(shù)據(jù)的ROM和RAM)、總線、定時器/計數(shù)器、輸入/輸出接口(I/O口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計機,稱為單片微型計算機,簡稱單片機。單片機的特點:可靠性高、便于擴展、控制功能強、具有豐富的控制指令、低電壓、低功耗、片內(nèi)存儲容量較小、集成度高、體積小、性價比高、應(yīng)用廣泛、易于產(chǎn)品

2、化等。第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個端口的每一位都可以作為雙向通用I/O端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數(shù)據(jù)總線。MCS-51系列單片

3、機數(shù)據(jù)總線為8位,地址總線為18位,對外可尋址空間為64KB。25. 開機復(fù)位后,CPU使用的是哪組工作寄存器(R0-Rn)?它們的地址是什么?CPU如何確定和改變當前工作寄存器組(R0-Rn)?解:開機復(fù)位后,CPU使用的是第組工作寄存器。它們的地址是00H07H。CPU通過對程序狀態(tài)字PSW中RS1和RS0的設(shè)置來確定和改變當前工作寄存器組。27. MCS-51單片機的時鐘周期、機器周期、指令周期是如何定義的?當主頻為12MHz的時候,一個機器周期是多長時間?執(zhí)行一條最長的指令需要多長時間?解:時鐘周期又稱為振蕩周期,由單片機內(nèi)部振蕩電路OSC產(chǎn)生,定義為OSC時鐘頻率的倒數(shù)。時鐘周期又稱

4、為節(jié)拍(用P表示)。時鐘周期是時序中的最小單位。一個狀態(tài)有兩個節(jié)拍,機器周期定義為實現(xiàn)特定功能所需的時間。MCS-51的機器周期由12個時鐘周期構(gòu)成。執(zhí)行一條指令所需要的時間稱為指令周期,指令周期是時序中的最大單位。由于機器執(zhí)行不同指令所需的時間不同,因此不同指令所包含的機器周期數(shù)也不盡相同。MCS-51的指令可能包括14個不等的機器周期。當MCS-51的主頻為12MHz時,一個機器周期為1ms。執(zhí)行一條指令需要的最長時間為4ms。第2章 MCS-51單片機指令系統(tǒng)與匯編語言程序設(shè)計4. 假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000H:MOVC A,A+PC后,把程序存儲器( 1031H )

5、單元的內(nèi)容送入累加器A中。7. 指出下列各指令在程序存儲器中所占的字節(jié)數(shù)(1)MOV DPTR,#1234H 3字節(jié)(2)MOVX A, DPTR 1字節(jié)(3)LJMP LOOP 3字節(jié)(4)MOV R0,A 1字節(jié)(5)AJMP LOOP 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 DPLPOP DPHMOV 30

6、H, #00H MOV 31H, #0FFH解:結(jié)果為: 61H、62H單元為堆棧單元,其內(nèi)容已被彈出棧。 (30H)=00H (31H)=0FFH (DPTR)=2410H(SP)=60H17完成以下的數(shù)據(jù)傳送過程(1)R1的內(nèi)容傳送到R0。(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 2000H單元的內(nèi)容送R0。(6)ROM 2000H單元的內(nèi)容送片內(nèi)RAM 20H單元。(7)ROM 2000H單元的內(nèi)容送片外RAM 20H單元。解:(1)R1的內(nèi)容傳送

7、到R0 ; MOV A, R1 MOV R0, A(2)片外RAM 20H單元內(nèi)容送R0 ; MOV R1, #20H MOVX A, R1 MOV R0, A(3)片外 RAM 20H單元的內(nèi)容送片內(nèi)RAM 20H單元; MOV R0, #20H MOVX A, R0 MOV 20H, A(4)片外RAM 1000H單元的內(nèi)容送片內(nèi) RAM 20H 單元; MOV DPTR, #1000H MOVX A, DPTR MOV 20H, A(5)ROM 2000H單元的內(nèi)容送R0單元; CLR A MOV DPTR, #2000H MOVC A,A+DPTR MOV R0, A(6)ROM 20

8、00H 單元的內(nèi)容送片內(nèi)RAM 20H單元; CLR A MOV DPTR, #2000H MOVC A,A+DPTRMOV 20H, A(7)ROM 2000H單元的內(nèi)容送片外RAM 20H單元。 CLR A MOV DPTR, #2000H MOVC A,A+DPTR MOV R0, #20H MOVX R0, A19編程將片內(nèi)RAM的40H60H單元中內(nèi)容送到片外RAM以3000H開始的單元中。并將原片內(nèi)RAM數(shù)據(jù)塊區(qū)域全部清0。解: ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP, #60HMOV R7,#21HMOV R1,#40HMOV DPTR,#3

9、000HLOOP: MOV A,R1MOVX DPTR,A MOV R1, #00HINC R1INC DPTRDJNZ R7,LOOPSJMP $END23設(shè)有100個有符號數(shù),連續(xù)存放在片外RAM以2000H為首地址的存儲區(qū)中,試編程統(tǒng)計其中正數(shù)、負數(shù)、零的個數(shù)。解: ORG 0000HLJMP MAINORG 0030HMAIN:MOV R2,#100MOV R3,#00HMOV R4,#00HMOV R5,#00HMOV DPTR,#2000HLOOP:MOVX A,DPTRCJNE A,#00H,NET1INC R3SJMP NET3NET1:JB ACC.7 NET2INC R4S

10、JMP NET3NET2:INC R5NET3:INC DPTRDJNZ R2,LOOP SJMP $END24試編一查找程序,從外部RAM首地址為2000H、長度為9FH的數(shù)據(jù)塊中找出第一個ASCII碼A,將其地址送到20A0H和20A1H單元中。解: ORG0000HLJMPMAINORG0030HMAIN: MOV SP, #60HMOVDPTR,#2000H MOVR7,#9FHLP0: MOVX A,DPTR CJNE A, #41H, LP1 MOVR2,DPL MOVR3,DPH MOVDPTR,#20A0H MOV A, R2 MOVXDPTR,AINC DPTR MOV A,

11、 R3 MOVXDPTR,A SJMP LP2LP1: INC DPTRDJNZR7, LP0LP2: RETEND27編程實現(xiàn)將片外RAM中2400H2450H單元中的數(shù)傳送到2500H2550H單元中。 解: 18ORG0000HLJMPMAINORG0030HMAIN: MOVR7,#51HMOVDPTR, #2400HLOOP: MOVXA,DPTRMOVDPH, #25HMOVXDPTR,A MOVDPH, #24HINCDPTRDJNZR7 ,LOOPSJMP$END另一種方法:ORG0000HLJMPMAINORG0030HMAIN: MOV30H,#24HMOV31H,#00H

12、MOV32H,#25HMOV33H,#00HMOVR2,#51HLOOP: MOVDPH,30HMOVDPL,31HMOVXA,DPTRMOVDPH,32HMOVDPL,33HMOVXDPTR,AINC31HINC33HDJNZR2,LOOPSJMP$END第三章作業(yè)答案6. 設(shè)(TMOD)=0A5H,則定時器T0的狀態(tài)是( 方式1計數(shù)),定時器T1的狀態(tài)是( 方式2 定時)。27請寫出為低電平觸發(fā)的中斷系統(tǒng)初始化程序。解:為低電平觸發(fā)的中斷系統(tǒng)初始化程序如下:ORG 0000HLJMP MAINORG 0013HLJMP INTN1ORG 0100HMAIN:MOV SP,#60HSETB

13、EASETB EX1 ; 開中斷CLR PX1 ; 令為低優(yōu)先級CLR IT1 ; 令為電平觸發(fā)SJMP $END28說明MCS-51單片機響應(yīng)中斷后,中斷服務(wù)的入口地址。 解:中斷服務(wù)程序的入口地址如下表:中斷源中斷矢量外部中斷0()0003H定時器T0中斷000BH外部中斷1()0013H定時器T1中斷001BH串行口中斷0023H36使用一個定時器,如何通過軟硬結(jié)合方法實現(xiàn)較長時間的定時?解: 設(shè)定好定時器的定時時間,采用中斷方式用軟件設(shè)置計數(shù)次數(shù),進行溢出次數(shù)累計,從而得到較長的時間。37利用定時器輸出周期為2 ms的方波, 設(shè)單片機晶振頻率為 6 MHz。試編程實現(xiàn)之。解:選用定時器

14、/計數(shù)器T0 作定時器, 工作在方式1,輸出為P1.0 引腳, 2 ms 的方波可由 1 ms的高低電平相間隔而成, 因而只要每隔1 ms對 P1.0 取反一次即可得到這個方波。初值的計算如下:ST0=12/(6106)= 2106STC=M-T/T0=2161103/2106=65536500=65036=FE0CH當定時器/計數(shù)器采用方式0時,初值為:TC=M-T/T0=2131103/2106=8192500=7692=1E0CH,則真正的16位計數(shù)初值為:F00CH(高8位,低5位)程序如下:ORG 0000H LJMP START ORG 000BHLJMP T0INT ; T0中斷

15、入口ORG 0030HSTART:MOV SP, #60H ; 初始化程序MOV TL0, #0CH; T0賦初值MOV TH0, #0FEHMOV TMOD, #01H ; 定時器/計數(shù)器0工作于方式1SETB TR0 ; 啟動T0SETB ET0 ; 開T0中斷SETB EA ; 開總允許中斷SJMP $ T0INT: PUSH ACC PUSH PSWCPL P1.0MOV TL0, #0CHMOV TH0, #0FEHSETB TR0 ; 啟動T0 POP PSW POP ACCRETI END當采用查詢方式時:蘭色字部分應(yīng)該為:LP1: JBC TF0, LP2 SJMP LP1LP

16、2: CPL P1.0 MOV TL0, #0CHMOV TH0, #0FEHSETB TR0SJMP LP1END48某異步通信接口按方式3傳送,已知其每分鐘傳送3600個字符,計算其傳送波特率。解:11(位)3600(字符/分鐘)=39600b/分鐘=660b/s (方式3為每個字符11位)。49利用8051串行口控制8位發(fā)光二極管工作,要求發(fā)光二極管每1s交替地亮、滅,畫出電路圖并編寫程序。 解: 主程序框圖如下:程序如下:ORG0040H MOVSCON,#00H MOVSBUF,#0FFH SETBCMOV00H,CAA: ACALLDELAYCPL 00HMOVC,00HJC BB

17、MOVSBUF,#00HSJMP CCBB:MOVSBUF,#0FFHCC:AJMPAADELAY: MOV R7,#8D1:MOV R6,#250D2:MOV R5,#250D3:DJNZ R5,D3DJNZ R6,D2DJNZ 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ù)存儲器的讀和寫由和信號控制,而程序存儲器由讀選通信號控制,這些信號在邏輯上時序上不會產(chǎn)生沖突,因此,兩者雖然共處于同一地址空間,但由于控制信號不同,

18、所以不會發(fā)生總線沖突。18某單片機應(yīng)用系統(tǒng),需擴展2片8KB的EPROM和2片8KB的RAM,采用地址譯碼法,畫出硬件連接圖,并指出各芯片的地址范圍。解:硬件連接電路圖如圖4.18所示。各芯片的地址范圍為: 2764(1#):0000H1FFFH 2764(2#):2000H3FFFH6264(1#):4000H5FFFH 6264(2#):6000H7FFFH圖4.18 4.18題硬件連接電路圖218255A的端口地址為7F00H7F03H,試編程對8255A初始化,使A口按方式0輸入,B口按方式1輸出。解: 程序如下:MOVDPTR,#7F03HMOVA,#10010100BMOVDPTR

19、,A25使用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。程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 數(shù)據(jù)指針指向8255A控制口 MOV A, #80H MOVX DPTR, A; 工作

20、方式字送8255A控制口 MOV DPTR, #7FFDH ; 數(shù)據(jù)指針指向8255A 的B口MOV A, #0FH ; 置紅色發(fā)光二極管亮LP1: MOVX DPTR, A ; 置紅色發(fā)光二極管亮 LCALL DELAY ; 調(diào)用1S延時子程序 CPL A ; 置發(fā)光二極管亮反色 LJMP LP1 ; 循環(huán)執(zhí)行 DELAY: MOV R7,#8 ; 1S延時子程序D1:MOV R6,#250D2:MOV R5,#250D3:DJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND 采用定時器T0方式1中斷實現(xiàn)1S定時。 1S=50mS20次。 T0方式1實現(xiàn)50mS定時,初值

21、=216-50mS/1S=15536=3CB0H(1S=20mS50次,初值=216-20mS/1S=45536=B1E0H)ORG 0000HLJMP STARTORG 000BHLJMP TT0ORG 1000 HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 數(shù)據(jù)指針指向8255A控制口 MOV A, #80H MOVX DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 數(shù)據(jù)指針指向8255A 的B口MOV A, #0FH ; 置紅色發(fā)光二極管亮MOV R2, AMOVX DPTR, A ; 置紅色發(fā)光二極管亮MOV 30H

22、, #00H ; 次數(shù)計數(shù)單元初值 MOV TL0, #0B0H ; T0賦初值MOV TH0, #3CHMOV TMOD, #01H ; 定時器/計數(shù)器0工作于方式1SETB TR0 ; 啟動T0SETB ET0 ; 開T0中斷SETB EA ; 開總允許中斷LP1:SJMP LP1 ; 等待定時器中斷TT0:PUSH ACC PUSH PSW INC 30H MOV A, 30H CJNE A, #20, LP2 MOV A, R2 CPL A MOV R2, A MOVX DPTR, A MOV 30H, #00HLP2: MOV TL0, #0B0H ; T0賦初值 MOV TH0,

23、#3CH POP PSW POP ACC SETB TR0RETIEND26簡述RS-232C, RS-422A及RS-485串行通信接口的特點,畫出在雙機通信情況下,3個串行通信接口的接口電路。解:RS-232C采取不平衡傳輸方式,是為點對點(即只用一對收、發(fā)設(shè)備)通信而設(shè)計的,采用負邏輯,其驅(qū)動器負載為3kW7kW。由于RS-232C發(fā)送電平與接收電平的差僅為23V,所以其共模抑制能力差,再加上雙絞線上的分布電容,因此,RS-232C適用于傳送距離不大于15m,速度不高于20kb/s的本地設(shè)備之間通信的場合。RS-422由RS-232發(fā)展而來,RS-422定義了一種平衡通信接口,將傳輸速率

24、提高到10Mb/s,傳輸距離延長到1220m(速率低于100kb/s時),并允許在一條平衡總線上最多連接10個接收器。RS-422是一種單機發(fā)送、多機接收的單向、平衡的通信總線標準。RS-485是在RS-422的基礎(chǔ)上制定的標準,增加了多點、雙向通信能力,通常在要求通信距離為幾十米至上千米時,廣泛采用RS-485總線標準。它采用平衡發(fā)送和差分接收,即在發(fā)送端,驅(qū)動器將TTL電平信號轉(zhuǎn)換成差分信號輸出;在接收端,接收器將差分信號變成TTL電平。具有較高的靈敏度,能檢測低至200mV的電壓,具有抑制共模干擾的能力,數(shù)據(jù)傳輸可達千米以上。RS-232的雙機通信接口電路如圖4.26-1所示。 圖4.2

25、6-1 4.26題硬件連接電路圖RS-422和RS-485的雙機通信接口電路如圖4.26-2所示。 圖4.26-2 4.26題硬件連接電路圖31何謂“看門狗”?它如何實現(xiàn)對系統(tǒng)程序的監(jiān)控?解:“看門狗(WDT)”,也稱為程序監(jiān)視定時器。WDT的作用是通過不斷監(jiān)視程序每周期的運行事件是否超過正常狀態(tài)下所需要的時間,從而判斷程序是否進入了“死循環(huán)”,并對進入“死循環(huán)”的程序作出系統(tǒng)復(fù)位處理。在程序中設(shè)置適當?shù)闹噶?,清WDT,就可監(jiān)視微處理器的工作。例如在主程序開始時,將WDT置位,如果主程序執(zhí)行過程中產(chǎn)生死循環(huán),就無法清WDT,超過WDT的定時時間時,WDT就會對微處理器發(fā)出復(fù)位信號。從而實現(xiàn)對系

26、統(tǒng)程序的監(jiān)控。32說明I2C總線的特點以及在單片機中實現(xiàn)該總線的方法。解: I2C總線是由串行數(shù)據(jù)線SDA和串行時鐘線SCL構(gòu)成的,可發(fā)送和接收數(shù)據(jù)。它允許若干兼容器件共享總線。所有掛接在I2C總線上的器件和接口電路都應(yīng)具有I2C總線接口,且所有的SDA/SCL同名端相連??偩€上所有器件要依靠SDA發(fā)送的地址信號尋址,不需要片選線。I2C總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本??偩€的長度可高達7.6m,并且能夠以10kbps的最大傳輸速率支持40個組件。支持多主控器件,其中,任何能夠進行發(fā)送和接收的設(shè)備都可以成為主器件。主控能夠控制信號的傳輸和時鐘頻率。當然,在某時刻

27、只能有一個主控器件。在單片機控制系統(tǒng)中,廣泛使用I2C器件。如果單片機自帶I2C總線接口,則所有I2C器件對應(yīng)連接到該總線上即可;若無I2C總線接口,則可以使用I/O口模擬I2C總線。 使用單片機I/O口模擬I2C總線時,硬件連接非常簡單,只需兩條I/O口線即可,在軟件中分別定義成SCL和SDA。MCS-51單片機實現(xiàn)I2C總線接口電路如圖4.32所示。圖4.32 4.32題硬件連接電路圖電路中單片機的P1.0引腳作為串行時鐘線SCL,P1.1引腳作為串行數(shù)據(jù)線SDA,通過程序模擬I2C串行總線的通信方式。I2C總線適用于通信速度要求不高而體積要求較高的應(yīng)用系統(tǒng)。第五章作業(yè)答案6. 當DAC

28、0832 D/A轉(zhuǎn)換器的接8031的P2.0時,程序中0832的地址指針DPDR寄存器應(yīng)置為( D )。A:0832H B;FE00H C:FEF8H D;以上三種都可以10簡述D/A轉(zhuǎn)換器的主要技術(shù)指標。 解:D/A轉(zhuǎn)換器的主要性能指標有:(1)分辨率:單位數(shù)字量所對應(yīng)模擬量增量,即相鄰兩個二進制碼對應(yīng)的輸出電壓之差稱為D/A轉(zhuǎn)換器的分辨率。它確定了D/A產(chǎn)生的最小模擬量變化,也可用最低位(LSB)表示。(2)精度:精度是指D/A轉(zhuǎn)換器的實際輸出與理論值之間的誤差,它是以滿量程VFS的百分數(shù)或最低有效位(LSB)的分數(shù)形式表示。(3)線性誤差:D/A轉(zhuǎn)換器的實際轉(zhuǎn)換特性(各數(shù)字輸入值所對應(yīng)的

29、各模擬輸出值之間的連線)與理想的轉(zhuǎn)換特性(始、終點連線)之間是有偏差的,這個偏差就是D/A的線性誤差。即兩個相鄰的數(shù)字碼所對應(yīng)的模擬輸出值(之差)與一個LSB所對應(yīng)的模擬值之差。常以LSB的分數(shù)形式表示。(4)轉(zhuǎn)換時間TS(建立時間):從D/A轉(zhuǎn)換器輸入的數(shù)字量發(fā)生變化開始,到其輸出模擬量達到相應(yīng)的穩(wěn)定值所需要的時間稱為轉(zhuǎn)換時間。22具有8位分辨率的A/D轉(zhuǎn)換器,當輸入05V電壓時,其最大量化誤差是多少?解:對于8位A/D轉(zhuǎn)換器,實際滿量程電壓為5V,則其量化單位1LSB=5V/256=0.0196V,考慮到A/D轉(zhuǎn)換時會進行四舍五入處理,所以最大量化誤差為(1/2)LSB,即0.0098V。

30、23在一個80C51單片機與一片DAC0832組成的應(yīng)用系統(tǒng)中,DAC0832的地址為7FFFH,輸出電壓為05V。試畫出有關(guān)邏輯電路圖,并編寫產(chǎn)生矩形波,其波形占空比為1:4,高電平為2.5V,低電平為1.25V的轉(zhuǎn)換程序。解:硬件電路連接圖如圖5.23所示。圖5.23 5.23題邏輯電路圖DAC0832的口地址為7FFFH。波形占空比為1:4,高電平波形/低電平波形為1/3。當VO=2.5V時,D=80H;VO=1.25V時,D=40H。 程序如下:ORG 0000H LJMP MAIN ORG0030H MAIN:MOVSP,#60HMOVDPTR,#7FFFH NEXT:MOVA,#8

31、0H MOVXDPTR,A ACALLDELAY MOVR4,#03H MOVA,#40H MOVXDPTR,A LOOP:ACALLDELAY DJNZR4,LOOP AJMPNEXT DELAY: RET END24在一個80C51與一片ADC0809組成的數(shù)據(jù)采集系統(tǒng)中,ADC0809的地址為7FF8H7FFFH。試畫出邏輯電路圖,并編寫程序,每隔1分鐘輪流采集一次8個通道數(shù)據(jù),8個通道總共采集100次,其采樣值存入以片外RAM 3000H開始的存儲單元中。解:硬件電路連接圖如圖5.24所示。圖5.24 5.24題邏輯電路圖設(shè)80C51的時鐘頻率為12MHz,程序如下:ORG0000HL

32、JMPMAINORG001BHLJMPT1_1ORG0030HMAIN:MOVSP,#60H;設(shè)堆棧指針MOVR7,#100;置采集次數(shù)MOVR1,#30H;片外RAM地址高位MOVR0,#00H;片外RAM地址低位MOVR2,#20;置入初值20(計1 s)MOVR3,#60;置入初值60(計1 min)MOVTOMD,#10H;定時器T1工作于模式1MOVTH1,#3CH;計數(shù)器定時50ms的初值MOVTL1,#0B0HSETBEA;開中斷SETBET1;定時器T1允許中斷SETBTR1;啟動定時器T1LOOP:SJMPLOOP;等待中斷DJNZR7,LOOP;是否到100次?SJMP$O

33、RG0100HT1_1:MOVTH1,#3CH;中斷服務(wù)程序,重新賦計數(shù)器初值MOVTL1,#0B0HDJNZR2,RETI_0;1 s未到,返回MOVR2,#20;重新置“1s”計數(shù)器初值DJNZR3,RETI_0;1 min未到,返回MOV R3,#60 ;重新置“1min”計數(shù)器初值MOVR6,#8;8個通道計數(shù)器初值MOVDPTR,#7FF8H;IN0地址LOOP1:MOVXDPTR,A;啟動A/D轉(zhuǎn)換JBP1.0,$;判轉(zhuǎn)換是否結(jié)束MOVXA,DPTR;讀取轉(zhuǎn)換結(jié)果PUSHDPH;將通道地址壓入堆棧PUSHDPLMOVDPH,R1;將片外RAM地址送DPTRMOVDPL,R0MOVX

34、DPTR,A;將轉(zhuǎn)換結(jié)果存入片外RAMINCDPTR;片外RAM地址加1MOVR1,DPH;保存片外RAM地址MOVR0,DPLPOPDPL;恢復(fù)通道地址POPDPH ;通道地址加1 INC DPTRDJNZR6,LOOP1;8個通道是否采集結(jié)束RETI_0:RETI;中斷返回END習題12. CPU由(運算器)和(控制器)組成。12. 采用 8031單片機必須擴展( B )。A:數(shù)據(jù)存儲器 B:程序存儲器 C:I/O接口 D:顯示接口16. 8051單片機的控制總線信號有哪些?各有何作用?解:控制線一共有6條:(1)ALE/:地址鎖存允許/編程線,配合P0口引腳的第二功能使用。在訪問片外存儲

35、器時,8051CPU在P0.7P0.0引腳上輸出片外存儲器低位地址的同時在ALE/上輸出一個高電位脈沖,用于把這個片外存儲器低位地址鎖存到外部專用地址鎖存器,以便空出P0.7P0.0引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時,8051自動在ALE/上輸出頻率為fosc/6的脈沖序列。該脈沖序列可用作外部時鐘源或作為定時脈沖源使用。(2)/Vpp:允許訪問片外存儲器編程電源線,可以控制8051使用片內(nèi)ROM還是使用片外。若,則允許使用片內(nèi)ROM;若則允許使用片外ROM。(3):片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在上產(chǎn)生一個負脈沖,用于為片外R

36、OM芯片的選通。其他情況下線均為高電平封鎖狀態(tài)。(4)RST/VPD:復(fù)位備用電源線,可以使8051處于復(fù)位工作狀態(tài)。習題22. 在MCS51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。5. 8051執(zhí)行完MOV A,#08H后,PSW的( D )位被置位。A:C B:F0 C:OV D:P11片內(nèi)RAM 20H2FH單元中的128個位地址與直接地址00H7FH形式完全相同,如何在指令中區(qū)分出位尋址操作和直接尋址操作?解: 位尋址是直接尋址方式的一種。雖然內(nèi)部RAM位尋址區(qū)的位地址范圍00H7FH與低128個單元的單元地址范

37、圍00H7FH形式完全相同,但是在應(yīng)用中可以通過以下的方法區(qū)分:1. 通過指令操作碼(指令的類型)區(qū)分:位操作只有17條指令,位尋址的操作只適用于下列位指令,而直接尋址操作對這些指令是無效的。MOV C,bit CPL bit (C) JB bit,relMOV bit,C ORL C,bit (/bit) JNB bit,relCLR bit (C) ANL C,bit (/bit) JC relSETB bit (C) JBC bit,rel JNC rel位操作只有MOV、 CLR 、SETB、 CPL 、ORL、 ANL 、JB 、JNB、 JBC、 JC、 JNC幾種操作碼,其中:J

38、B、JNB、JBC、JC、JNC是位尋址特有的。2. 當指令操作碼一樣時,可通過操作數(shù)的表現(xiàn)形式來區(qū)分。直接位地址的表示方法有:(1)直接使用位地址形式。如:MOV 00H, C(1)(2)字節(jié)地址加位序號的形式。如:MOV 20H.0, C(3)位的符號地址(位名稱)的形式。如:ANL C, P(4)字節(jié)符號地址(字節(jié)名稱)加位序號的形式。如:CPL PSW.63. 可通過指令中的累加器區(qū)分:位操作中的累加器為C,單元操作中的累加器為A。13在“MOVC A, A+DPTR”和“MOVCA, A+PC”中,分別使用了DPTR和PC作基址,請問這兩個基址代表什么地址? 使用中有何不同? 解:

39、使用A+DPTR基址變址尋址時,DPTR為常數(shù)且是表格的首地址,A為從表格首址到被訪問字節(jié)地址的偏移量。使用A+PC基址變址尋址時,PC仍是下條指令首地址,而A則是從下條指令首地址到常數(shù)表格中的被訪問字節(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 DPLPOP DPHMOV 30H, #00H MOV 31H, #0FFH解:結(jié)果為: 61H、62H單元為堆棧單元,其內(nèi)容已被彈出棧。 (30H)=00H (3

40、1H)=0FFH (DPTR)=2410H(SP)=60H19編程將片內(nèi)RAM的40H60H單元中內(nèi)容送到片外RAM以3000H開始的單元中。并將原片內(nèi)RAM數(shù)據(jù)塊區(qū)域全部清0。解: ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP, #60HMOV R7,#21HMOV R0,#40HMOV DPTR,#3000HLOOP: MOV A,R0MOVX DPTR,A MOV R0, #00HINC R0INC DPTRDJNZ R7,LOOPSJMP $END20編程計算片內(nèi)RAM區(qū)30H37H 的8個單元中數(shù)的算術(shù)平均值,結(jié)果存放在3AH單元中。解: ORG 00

41、00HLJMP MAINORG 0030HMAIN:MOV R0,#30HMOV R1,#00HMOV R2,#00HMOV R3,#08HLP2:MOV A,R0ADD A,R2MOV R2,AJNC LP1INC R1LP1:INC R0DJNZ R3,LP2MOV R3,#03HCLR CLP3:MOV A,R1RRC AMOV R1,AMOV A,R2RRC AMOV R2,ADJNZ R3,LP3MOV 3AH,R2SJMP $ END22設(shè)有兩個長度均為15的數(shù)組,分別存放在片外RAM以2000H和2100H開始的存儲區(qū)中,試編程求其對應(yīng)項之和,結(jié)果存放在以2200H為首地址的存儲

42、區(qū)中。解: ORG0000HLJMP MAINORG 0030hMAIN:MOVDPTR,#2000HMOV A,#OFFHMOVX DPTR,AMOV DPTR,#2100HMOV A,#34HMOVXDPTR,AMOV DPTR,#2008HMOV A,#33HMOVX DPTR,AMOV DPTR,#2108HMOV A,#44HMOVXDPTR,AMOV DPTR,#200EHMOV A,#0EEHMOVX DPTR,AMOVDPTR,#210EHMOVA,#32HMOVXDPTR,AMOVDPTR,#2000HMOVR1,#30HMOVR2,#15LOOP:MOVXA,DPTRMOV

43、R1,AINCDPTRINCR1DJNZ R2,LOOPMOV R1,#30HMOV DPTR,#2100HMOV R2,#15MOV R0,#40HLOOP1:MOVX A,DPTRCLRCADDC A,R1MOV R0,AINC DPTR INC R1 INC R0 DJNZ R2,LOOP1MOV DPTR,#2200HMOV R2,#15MOV R0,#40HLOOP2: MOV A,R0MOVX DPTR,A INC R0 INC DPTRDJNZ R2,LOOP2SJMP $ END習題38. 在數(shù)據(jù)通信中,有數(shù)據(jù)傳送方式有( 單工 )、( 半雙工 )、( 全雙工 )、( 多工 )

44、四種方式。9. 設(shè)置串行口為10位UART,則其工作方式應(yīng)選用為(工作方式1 )。19. 控制串行接口工作方式的寄存器是( C )。A:TCON B:PCON C:SCON D:TMOD24簡述MCS-51單片機的中斷響應(yīng)過程。解: 單片機一旦響應(yīng)中斷請求, 就由硬件完成以下功能: (1) 根據(jù)響應(yīng)的中斷源的中斷優(yōu)先級, 使相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置1;(2) 執(zhí)行硬件中斷服務(wù)子程序調(diào)用, 并把當前程序計數(shù)器PC的內(nèi)容壓入堆棧,保護斷點,尋找中斷源; (3) 清除相應(yīng)的中斷請求標志位(串行口中斷請求標志RI和TI除外); (4) 把被響應(yīng)的中斷源所對應(yīng)的中斷服務(wù)程序的入口地址(中斷矢量)送入PC

45、, 從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。(5)中斷返回,程序返回斷點處繼續(xù)執(zhí)行。31MCS-51的中斷服務(wù)程序能否存放在64KB程序存儲器的任意區(qū)域?如何實現(xiàn)?解: 可以。在相應(yīng)的中斷源的中斷程序入口地址處,用一條長跳轉(zhuǎn)指令(LJMPAdd16),轉(zhuǎn)到相應(yīng)64K程序存儲器的任意地址(Add16)處,執(zhí)行相應(yīng)的中斷程序。習題49. 擴展外部存儲器時要加鎖存器74LS373,其作用是( A )。A:鎖存尋址單元的低八位地址 B:鎖存尋址單元的數(shù)據(jù)C:鎖存尋址單元的高八位地址 D:鎖存相關(guān)的控制和選擇信號16 MCS-51單片機系統(tǒng)中,片外程序存儲器和片外數(shù)據(jù)存儲器共用16位地址線和8位數(shù)據(jù)線,為何不會產(chǎn)生

46、沖突?解:程序存儲器和數(shù)據(jù)存儲器雖然共用16位地址線和8位數(shù)據(jù)線,但由于數(shù)據(jù)存儲器的讀和寫由和信號控制,而程序存儲器由讀選通信號控制,這些信號在邏輯上時序上不會產(chǎn)生沖突,并且,訪問二者的指令也不同。因此,兩者雖然共處于同一地址空間,但由于控制信號和訪問指令不同,所以不會發(fā)生總線沖突。17某一單片機應(yīng)用系統(tǒng),需擴展4KB的EPROM和2KB的RAM,還需外擴一片8255并行接口芯片,采用線選法,畫出硬件連接圖,并指出各芯片的地址范圍。解:硬件連接圖如下圖所示。 圖 4.17題硬件連接電路圖注:8255的復(fù)位線RESET應(yīng)與MCS-51的RESET線連上。復(fù)位、晶振電路應(yīng)畫上。各芯片的地址范圍為: 2732:E000HEFFFH 6116:D800HDFFFH 8255:BFFCHBFFFH208255A有幾種工作方式?如何選擇工作方式?A口和B口的工作方

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論