『壹』 單片機習題解答
91. 單片機上電後或復位後,工作寄存器R0是在( A ) A、0區00H單元 B、0區01H單元 C、0區09H單元 D、SFR 92. 進位標志CY在( C )中 A、累加器 B、算邏運算部件ALU C、程序狀態字寄存器PSW D、DPOR 93. 單片機8051的XTAL1和XTAL2引腳是( D )引腳 A、外接定時器 B、外接串列口 C、外接中斷 D、外接晶振 94. 8031復位後,PC與SP的值為( B ) A、0000H,00H B、0000H,07H C、0003H,07H寄存器 D、0800H,00H 95. 單片機的堆棧指針SP始終是( B ) A、指示堆棧底 B、指示堆棧頂 C、指示堆棧地址 D、指示堆棧長度 96. P0、P1口作輸入用途之前必須( A ) A、相應埠先置1 B、相應埠先置0 C、外接高電平 D、外接上拉電阻 97. 一個EPROM的地址有A0----A11引腳,它的容量為( B ) A、2KB B、4KB C、11KB D、12KB 98. 8031單片機中既可位定址又可位元組定址的單元是( A ) A、20H B、30H C、00H D、70H
99. 8031單片機中片內RAM共有( A )位元組 A、128 B、256 C、4K D、64K 100. 執行指令MOVX A,@DPTR時,WR.RD腳的電平為( A ) A、WR高電平,RD低電平 B、W R低電平,RD高電平 C、WR高電平,RD高電平 D、WR低電平,RD低電平
101. Intel 8031的PO□,當使用外部存儲器時它是一個( D ) A、傳輸高8位地址□ B、傳輸低8位地址□ C、傳輸低8位數據□ D、傳輸低8位地址/數據匯流排□ 102. 當標志寄存器 PSW的 RSO和 RSI分別為1和0時,系統選用的工作寄存器組為( C ) A、組0 B、組1 C、組2 D、組3 103. 下列指令中錯誤的是( CD ) A、MOV A,R4 B、MOV 20H,R4 C 、MOV R4,R3 D、MO V@R4,R3 104. 下列指令中不影響標志位CY的指令有( D ) A、ADD A,20H B、CLR C 、RRC A D、INC A 105. LJMP跳轉空間最大可達到( D ) A、2KB B、256B C 、128B D、64KB 106. 計算機內部數據之所以用二進制形式表示,主要是( B ) A、為了編程方便 B、由於受器件的物理性能限制 C 、為了通用性 D、為了提高運算速度 107. 8051單片機共有( B )中斷源 A、4 B、5 C 、6 D、7 108. 機共有( A )個中斷優先順序 A、2 B、3 C 、4 D、5 109. 中斷源I E 1(外部中斷1)的向量地址為( C ) A、0003H B、000BH C 、0013H D、002BH 110. 累加器A的位地址為( E0H ) A、E 7 H B、F 7 H C 、D 7 H D、87H
『貳』 MCS-51單片機試題
三.簡答題:(每題8分共24分)
1. MCS-51單片機中斷的開放和關閉是如何控制的?如果要對定時器T1開放中斷,可以用什麼指令實現?
答:通過對中斷允許寄存器IE進行設置,可以控制中斷的開放和關閉。
執行:
SETB ET1
SETB EA
即可開放T1中斷。
2. 設程序執行前F0=0,RS1,RS0=00B,請問機器執行如下程序後PSW中各位的狀態是什麼?程序如下:
MOV A,#0FH
ADD A,#F8H (要求寫出過程)
PSW中有四位標志位,隨著運算指令發生變化。
MOV A,#0FH P=0,C不變,V不變,Ac不變
ADD A,#F8H (要求寫出過程)
0000 1111
+ 1111 1000
-------------------
1 0000 0111 P=1,C=1,V=0,Ac=1
ACC=03H
3. 簡述80C51單片機的I/O口的功能和特點;
輸入、輸出;
准雙向口,輸入之前,應先輸出1。
四:程序分析與系統設計(1,2.3每題8分,4題12分,共36分)
1. 設內部RAM的30H單元的內容為40H,即(30H)=40H,還知(40H)=10H,(10H)=00H,埠P1=CAH,問執行以下指令後,各有關寄存器,存儲單元和埠的內容是什麼?(即R0,R1,A,B,P1,40H,30H及10H單元)
MOV R0, #30H (R0)=30H
MOV A, @R0 (A) =((R0))=(30H)=40H
MOV R1, A (R1)=40H
MOV B, @R1 (B)=((R1))=(40H)=10H
MOV @R1, P1 ((R1))即(40H)=CAH
MOV P2, P1 (P2)=CAH
MOV 10H, #20H (10H)=20H
MOV 30H, 10H (30H)=(10H)=20H
2.若要完成以下的數據傳送,應如何用MCS-51指令來實現?
(1).R1的內容傳送到R0.
MOV A, R1
MOV R0, A
(2).外部RAM20H的內容傳送到R0.
MOV DPTR, #20H
MOVX A, @DPTR
MOV R0, A
(3)外部RAM 20H的內容傳送到內部RAM 20H單元.
MOV DPTR, #20H
MOVX A, @DPTR
MOV 20H, A
3.設變數X存放於VAR單元,函數Y存放在RUNC單元.試按照下式編程給Y 賦值.
?????
4. 編寫程序:利用定時/計數器T0的方式1,產生10ms的定時,並使P1.0引腳上輸出周期為20ms的方波,採用中斷方式,設系統時鍾頻率為12 MHz。
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
START:
MOV TMOD, #01H
MOV TH0, #0D8H
MOV TL0, #0F0H
SETB TR0
MOV IE, #82H
SJMP $
T0_INT:
MOV TH0, #0D8H
MOV TL0, #0F0H
CPL P1.0
RETI
END
;完
-------------------------
補充:
3.設變數X存放於VAR單元,函數Y存放在RUNC單元.試按照下式編程給Y 賦值.
Y=1 x>0
Y=0 x=0
Y=-1 x<0
答:
MOV A, VAR ;取數
JZ LING ;為零轉移
JB ACC.1, FU ;為負轉移
MOV RUNC, #1 ;正
SJMP WAN ;轉移到「完」
FU:
MOV RUNC, #255 ;255就是-1
SJMP WAN
LING:
MOV RUNC, #0
WAN:
SJMP $ ;原地轉移
;真完了。
『叄』 單片機試題
12M振盪頻率,最小定時周期為12/12M=1微妙,
50ms計時初值為為
TH1=(65536-50000)/256=#03CH
TL1=(65536-50000)%256=#0B0H
1S/50ms=20
所以計時器溢出100次為一秒
要求8051以查詢方式工作
程序:
ORG 0000H
START: MOV TMOD,#01H ;TIMER1=MODE1
MOV TH1,#03CH ;TH1=(65536-50000)/256
MOV TL1,#0B0H ;TL1=(65536-50000)%256
SETB TR1 ;START TIMER1
LOOP1: MOV R0,#32H ;R0=20
LOOP2: JNB TF0,LOOP2 ;WAIT FOR OVERFLOW
DJNZ R0,LOOP2 ;是否到100次OVERFLOW
CLP P1 ;CLP P1
SJMP LOOP1 ;AGAIN AND AGAIN
END
『肆』 單片機習題
《單片機習題與試題解析》是一部單片機教材的練習試題與解析,全書內容分兩部分,第1部分對80C51系列單片機教材中所涉及的思考與練習題進行了整理、分析和解答;第2部分則對某大學近幾年「單片機原理與介面技術」考試試卷進行了分析和解答,並說明考題測試的內容、答題時應注意的問題等。即使題目相同,由於提出問題的角度不同,答案還會有所不同。同時,增加了一些設計題、綜合系統擴展題。書中對近幾年單片機系統擴展應用的新技術和新理念(比如低功耗設計、可靠性設計和虛擬技術等)進行了適當補充。《單片機習題與試題解析》內容分兩部分,第1部分對80C51系列單片機教材中所涉及的思考與練習題進行了整理、分析和解答;第2部分則對某大學近幾年「單片機原理與介面技術」考試試卷進行了分析和解答,並說明考題測試的內容、答題時應注意的問題等。即使題目相同,由於提出問題的角度不同,答案還會有所不同。同時,增加了一些設計題、綜合系統擴展題。書中對近幾年單片機系統擴展應用的新技術和新理念(比如低功耗設計、可靠性設計和虛擬技術等)進行了適當補充。
『伍』 80c51單片機基礎練習習題 資料 試題
第二章 單片機的基本結構與工作原理
2·1 80C51系列單片機在片內集成了哪些主要邏輯功能都件?各個邏輯部件的主要功能是什麼?
答:80C51系列單片機在片內集成了以下主要邏輯功能部件及分別有如下的主要功能。
(l)CPU(中央處理器):8位
功能:中央處理器由中央控制器與運算器一起構成。中央控制器是識別指令,並根據指令性質控制計算機各組成部件進行工作的部件。
(2)片內RAM:128B
功能:在單片機中,用隨機存取存儲器(RAM)來存儲程序在運行期間的工作變數和數據,
所以稱為數據存儲器。一般,在單片機內部設置一定容量(64B至256B)的RAM。這樣小容
量的數據存儲器以高速RAM的形式集成在單片機內,以加快單片機運行的速度。同時,這種結構的RAM還可以使存儲器的功耗下降很多。
(3)特殊功能寄存器:21個
功能:特殊功能寄存器(SFR)是80C51單片機中各功能部件所對應的寄存器,用以存放相
應功能部件的控制命令、狀態或數據的區域。這是80C51系列單片機中最有特色的部分。現在所有80C51系列功能的增加和擴展幾乎都是通過增加特殊功能寄存器(SFR)來達到的。
80C51系列單片機設有128B內部數據RAM結構的特殊功能寄存器(SFR)空間區。除
程序計數器PC和4個通用工作寄存器組外,其餘所有的寄存器都在這個地址空間之內。
(4)程序存儲器:4KB
功能:80C51單片機的程序存儲器用於存放經調試正確的應用程序和表格之類的固定常
數。由於採用16位的程序計數器PC和16位的地址匯流排,因而其可擴展的地址空間為64KB,而且這64KB地址空間是連續、統一的。
(5)並行I/O口:8位,4個
功能:為了滿足"面向控制"實際應用的需要,80C51系列單片機提供了數量多、功能強、使用靈活的並行I/O口。80C51系列單片機的並行I/O口,不僅可靈活地選作輸人或輸出,而且還具有多種功能。例如,它既是I/O口,又是系統匯流排或是控制信號線等,從而為擴展外部存儲器和I/O介面提供了方便,大大拓寬了單片機的應用范圍。
(6)串列介面:全雙工,1個
功能:全雙工串列I/O口,提供了與某些終端設備進行串列通信,或者和一些特殊功能的器件相連的能力;甚至可用多個單片機相連構成多機系統,使單片機的功能更強和應用更廣。
(7)定時器/計數器:16位,2個
功能:在單片機的實際應用中,定時器/計數器提供精確的定時,或者對外部事件進行計
數。為了減少軟體開銷和提高單片機的實時控制能力,因而均在單片機內部設置定時器/計數器電路,通過中斷,實現定時/計數的自動處理。
(8)片內時鍾電路:1個
功能:計算機的整個工作是在時鍾信號的驅動下,按照嚴格的時序有規律地一個節拍一個節拍地執行各種操作的。各種計算機均有自己的固定時序和定時電路。同樣,80C51系列單片機內部也設有定時電路,只須外接振盪元件即可工作。外接振盪元件一般選用晶體振盪器,或用價廉的RC振盪器,也可用外部時鍾源作振盪元件。近來也有的單片機將振盪元件也集成在晶元內部,這樣不僅大大縮小了單片機的體積,同時也方便了使用。
2·2 80C51系列單片機有哪些信號需要晶元引腳以第二功能的方式提供?
答:
第一功能 第二功能
串列口:
P3.0 RXD(串列輸入口)
P3.1 TXD(串列輸出口)
中斷:
P3.2 INT0外部中斷0
P3.3 INT1外部中斷1
定時器/計數器(T0、T1):
P3.4 T0(定時器/計數器0的外部輸入)
P3.5 T1(定時器/計數器1的外部輸入)
數據存儲器選通:
P3.6 WR(外部存儲器寫選通,低電平有效,輸出)
P3.7 RD(外部存儲器讀選通,低電平有效,輸出)
定時器/計數器(T2):
P1.0 T2(定時器T2的計數端)
P1.1 T2EX(定時器T2的外部輸入端)
2.3 程序計數器PC作為不可定址寄存器,它打哪些特點?地址指針DPTR有哪些特點?與程存計數器 PC有何異同?
答(1)程序計數器PC作為不可定址寄存器的特點
程序計數器PC是中央控制器申最基本的寄存器,是一個獨立的計數器,存放著下一條將程序存儲器中取出的指令的地址。
程序計數器PC變化的軌跡決定程序的流程。程序計數器的寬度決定了程序存儲器可以
定址的范圍。
程序計數器PC的基本工作方式有:
①程序計數器PC自動加1。這是最基本的工作方式,也是這個專用寄存器被稱為計數
器的原因。
②執行條件或無條件轉移指令時,程序計數器將被置入新的數值,程序的流向發生變化。
變化的方式有下列幾種:帶符號的相對跳轉SJMP、短跳轉AJMP、長跳轉LJMP及JMP @A+DPTR等。
③在執行調用指令或響應中斷時:
●PC的現行值,即下一條將要執行的指令的地址送入堆棧,加以保護;
●將子程序的入口地址或者中斷矢量地址送入PC,程序流向發生變化,執行子程序或中斷服務程序;
●子程序或中斷服務程序執行完畢,遇到返回指令RET或RETI時,將棧頂的內容送到PC寄存器中,程序流程又返回到原來的地方,繼續執行。
(2)地址指針DPTR的特點
地址指針DPTR的特點是,它作為片外數據存儲器定址用的地址寄存器(間接定址)。
(3)地址指針DPTR與程序計數器PC的異同
①相同之處:
●兩者都是與地址有關的、16位的寄存器。其中,PC與程序存儲器的地址有關,而
DPTR與數據存儲器的地址有關。
●作為地址寄存器使用時,PC與DPTR都是通過P0和P2口(作為16位地址匯流排)輸
出的。但是,PC的輸出與ALE及PSEN有關;DPTR的輸出,則與ALE、RD及WR相聯系。
②不同之處:
●PC只能作為16位寄存器對待,由於有自動加1的功能,故又稱為計數器;
DPTR可以作為16位寄存器對待,也可以作為兩個8位寄存器對待。
●PC是不可以訪問的,有自己獨特的變化方式,它的變化軌跡決定了程序執行的流程;
DPTR是可以訪問的,如MOV DPTR,#XXXXH,INC DPTP。
2. 4 80C51存儲器在結拘上有何特點?在物理上和邏輯上各有哪幾種地址空間?訪問片內RAM和片外 RAM的指今格式有何區別?
答: (1)80C51存儲器在結構上的特點
80C51採用將程序存儲器和數據存儲器截然分開,分別定址的結構,稱為哈佛(Harvard)
結構。
(2)在物理上和邏輯上的地址空間
①在物理上設有4個存儲器空間:片內程序存儲器、片外程序存儲器、片內數據存儲器、
片外數據存儲器。
②在邏輯上有3個存儲器地址空間:片內、片外統一的64KB程序存儲器地址空間,片內
256B(或384B)數據存儲器地址空間,片外64KB的數據存儲器地址空間。
(3)訪問片內RAM和片外RAM的指令格式
訪問片內RAM採用MOV格式。
訪問片外RAM採用MOVX格式。
2·5 80C51單片機的EA信號有何功能?在使用80C31時,EA信號引腳應如何處理?
答: (1)80C51單片機的EA信號的功能
EA為片外程序存儲器訪問允許信號,低電平有效;在編程時,其上施加21V的編程電壓
EA引腳接高電平時,程序從片內程序存儲器開始執行,即訪問片內存儲器;EA引腳接低電平時,迫使系統全部執行片外程序存儲器程序。
(2)在使用80C31時,EA信號引腳的處理方法
因為80C31沒有片內的程序存儲器,所以在使用它時必定要有外部的程序存儲器,EA 信號引腳應接低電平。
2·6 片內RAM低128單元劃分為哪三個主要部分?各部分主要功能是什麼?
答: 片內RAM低128單元的劃分及主要功能:
(l)工作寄存器組(00H~lFH)
這是一個用寄存器直接定址的區域,內部數據RAM區的0~31(00H~lFH),共32個單
元。它是4個通用工作寄存器組,每個組包含8個8位寄存器,編號為R0~R7。
(2)位定址區(20H~2FH)
從內部數據RAM區的32~47(20H~2FH)的16個位元組單元,共包含128位,是可位尋
址的RAM區。這16個位元組單元,既可進行位元組定址,又可實現位定址。
(3)位元組定址區(30H~7FH)
從內部數據RAM區的48~127(30H~7FH),共80個位元組單元,可以採用間接位元組定址
的方法訪問。
2·7 80C51設有 4個通用工作寄存器組,有什麼特點?如何選用?如何實現工作寄存器現場保護?
答: (1)通用工作寄存器組的特點
用寄存器直接定址,指令的數量最多,均為單周期指令,執行速度快。
(2)通用工作寄存器組的選用
在某一時刻,只能選用一個工作寄存器組使用。其選擇是通過軟體對程序狀態字(PSW
中的RS0、RSl位的設置來實現的。設置RS0、RSl時,可以對PSW進行位元組定址,也可以進行位定址,間接或直接修改RS0、RSl的內容。若RSl、RS0均為0時,則選用工作寄存器組0;若RSl、RS0為1時,則選用工作寄存器組1;其他以此類推。
(3)工作寄存器的現場保護
對於工作寄存器的現場保護,一般在主程序中使用一組工作寄存器;而在進人子程序或中斷服務程序時,切換到另一組工作寄存器;在返回主程序前,再重新切換回原來的工作寄存器。
2·8 堆棧有哪些功能?堆棧指示器(SP)的作用是什麼?在程序設計時,為什麼還要對 SP重新賦值?
答: (1)堆棧的功能
堆棧是內部數據RAM區中,數據先進後出或後進先出的區域。其具體功能有兩個:保護斷點和保護現場。
(2)堆棧指示器(SP)的作用
堆棧指示器(SP)是一個8位寄存器,存放當前的堆棧棧頂所指存儲單元地址的。
(3)對SP的重新賦值
系統復位後,SP內容為07H。如不重新定義,則以07H為棧底,壓棧的內容從08H單元開始存放;如需使用深度較大的堆棧時,將會影響到工作寄存器的使用。所以要對SP進行重新的賦值,使堆棧區設定在片內數據·RAM區中的某一空白區域內,堆棧深度以不超過片內RAM空間為限。
2·9 為什麼說 80C51具有很強的布爾(位)處理功能7共有多少單元可以位定址?採用布爾處理有哪些優點7
答 (1)80C51具有很強的布爾(位)處理功能
在80C5I單片機系統中,與位元組處理器相對應,還特別設置了一個結構完整的布爾(位)
處理器。在該系統中,除了程序存儲器和ALU與位元組處理器合用之外,還有自己的:
①累加器CY:借用進位標志位。在布爾運算中,CY是數據源之一,又是運算結果的存
放處,是位數據傳送中的中心。根據CY的狀態,程序轉移:JC rel,JNC rel,JBC rel。
②位定址的RAM區:從內部數據RAM區的32~47(20H~2FH)的16個位元組單元,共包含128位(0~127),是可位定址的RAM區。
③位定址的寄存器:特殊功能寄存器(SFR)中的可位定址的位。
④位定址的並行I/O口:P0、Pl、P2及P3各口的每一位都可以進行位定址。
⑤位操作指令系統:位操作指令可實現對位的置位、清0、取反、位狀態判跳、傳送、位邏輯、運算、位輸人/輸出等操作。
強大的布爾(位)處理功能,是80C5l系列單片機的突出優點之一。
(2)可以位定址單元的數目
可以位定址的單元共有228個。分布在:
①RAM區:20H~2FH位元組中所有位,共計有128個單元。
②特殊功能寄存器區:P0、TCON、Pl、SCON、P2、IE、P3、1P.PSW、A、B、PCON及TMOD中的相應位,共計95個單元(IE中有兩位無定義,IP中有三位無定義,PSW中有一位無定義,PCON中有三位無定義)。
(3)採用布爾處理方法的優點
利用位邏輯操作功能進行隨機邏輯設計,可把邏輯表達式直接變換成軟體執行,方法簡
便;免去了過多的數據往返傳送、位元組屏蔽和測試分支,大大簡化了編程,節省存儲器空間,加快了處理速度;還可實現復雜的組合邏輯處理功能。所有這些,特別適用於某些數據採集,實時測控等應用系統。這些給"面向控制"的實際應用帶來了極大的方便,是其他微機機種所無可比擬的。
2·10 80C51單片機的時中周期、機器周期、指令周期是如何設置的?當主頻為 12MHZ時,一個機器周期等子多少微秒(us)?執行一條最長的指令需多少微秒(us)?
答:1) 80C51中定時單位的設置為時序定時單位,共有4個,從小到大依次是:節拍、狀態、機器周期和指令周期。
●時鍾周期:節拍是CPU處理動作的最小周期稱為時鍾周期。一個狀態周期就包含兩
個節拍,其前半周期對應的節拍叫Pl,後半周期對應的節拍叫P2.
●機器周期80C51採用定時控制方式,因此它有固定的機器周期。規定一個機器周期
的寬度為6個狀態,並依次表示為Sl~S6。由於一個狀態又包括兩個節拍,因此一個
機器周期總共有12個節拍,分別記作SlPl、SlP2…S6P2。由於一個機器周期共有12
個振盪脈沖周期,因此機器周期就是振盪脈沖的12分頻。
當振盪脈沖頻率為12MHz時,1個機器周期為lus;當振盪脈沖頻率為6MHz時,1個
機器周期為2us。
●指令周期:執行一條指令所需要的時間稱為指令周期。指令周期是最大的時序定時單
位。80C51的指令周期根據指令的不同,可包含有1、2、3、4個機器周期。
2)當主頻為12MHz時,1個機器周期為1件s。
3)執行一條時間最長的指令-----MUI,和DIV指令,需要4個機器周期,即需要4us。
2·11 單片機有幾種復往方法?復往後抗暴的初始狀態如何,即各寄存器的狀態如何?
答: (1)單片機復位方法
單片機復位方法有:上電自動復位、按鍵電平復位和外部脈沖三種方式,如題圖2-1所示。
題圖2-1
(2)復位後的初始狀態
復位後機器的初始狀態,即各寄存器的狀態:PC之外,復位操作還對其他一些特殊功能寄存器有影響,它們的復位狀態如題表2-1所例.
2. 12 舉例說明單片機在工業控制系統中低功耗工作方式的意義及方法。
答: 1. 低功耗系統設計的意義
按傳統觀念,低功耗系統只是攜帶型系統中考慮的問題。然而,從經典電子系統發展到現代電子系統,低功耗系統應是一切現代電子系統的普通取向。實現系統運行的低功耗是現代電子系統的普通取向,是"綠色"電子的基本要求。除了節省能源外,低功耗系統還具有顯著的電磁兼容EMC(Electro Magnetic Compatib;lily)效益和可靠性效益。
(1)實現"綠色"電子,節省能源
在許多現代電子系統,如家用電器和視頻音像系統中,普遍採用遙控操作,在不使用時大都處於待機狀況下。據有關部門統計,目前,許多家用電器在備用狀態下耗費的電量已超過實際使用中消耗的電量。據報道,美國家用電器每年在備用狀態下浪費的能源達10億美元。採用低功耗系統設計,不僅能減少使用中的功耗,而且可以減少備用狀態下的功耗。
在節省能源的同時,許多低功耗設計採用的最大靜態化設計有利於減少電磁污染。
(2)促進便攜化發展
低功耗設計技術有利於電子系統向便攜化發展。攜帶型電腦/筆記本電腦是低功耗系統
設計的成果。現代電子系統便攜化拓寬了它的應用領域。
(3)誘人的可靠性效益
低功耗系統設計不可避免要走全CMOS化道路和功耗管理的道路。在數字電路中,
MOS電路有較大的雜訊容限;在功耗管理中,常採用休閑、掉電、睡眠、關斷及電源關閉等方式,在這些方式下系統對外界雜訊失敏,大大減少了因雜訊干擾產生的出錯概率。
2. CMOS電路是低功耗系統設計的首選
(1)CMOS電路的功耗特性
CMOS電路的功耗特性十分鮮明,表現在本質低功耗,靜態與動態功耗的巨大差異及功耗可控性等因素上.
①本質低功耗:在題表2-2中,將高速CMOS邏輯電路與傳統TTL邏輯電路的功耗進行了對比.
可以看出:CMOS器件有極低的靜態功耗,並要求極小的輸人驅功電流。因此,使用
CMOS電路器件可構成本質低功耗的電路系統。
②靜、動態功耗的巨大差異:從題表2-1中看出,傳統的TTL電路中,沒有靜、動態功耗差異,也就不存在利用無謂等待狀態的低功耗運行方式。在CMOS電路中,靜、動態功耗差異十分顯著,而且動態功耗與時鍾速度相關,隨時鍾頻率加大,功耗急劇上升。由於CMOS電路中的靜、動態功耗的巨大差異,形成了CMOS器件中形形色色的低功耗運行方式。各種低]耗方式的核心,就是CMOS電路的最大靜態化控制。
③動態功耗相關參數多:根據動態功耗P"是瞬間導通功耗PTC與靜態功耗PC之和,J
表達式為
PA=PTC+Pc=VDD×ITC+fCL×V2DD
動態功耗PA除直接與電源電壓VDD、時鍾頻率土及輸出電容CL有關外,導通電流ITC還與邏輯電平的跳變速率有關。這些相關因素都是CMOS電路系統中的重要運行參數。要設計最小功耗系統,就要在系統中根據實際的時、空運行狀態來管理這些參數,保證系統有最小的運行功耗。
④靜態功耗的溫度特性:CMOS電路的靜態功耗主要是保護二級管和PMOS、NMOS管
寄生二極體的泄漏電流。常溫下,靜態功耗極小,但隨溫度增高呈指數上升,對溫度敏感。;
多數CMOS電路在85 0C或125 0C 工作環境下,其靜態功耗大約是常溫下的30~50倍,相應的輸人電流約增加10倍以上。
(2)降低CMOS電路功耗的途徑
按照CMOS電路的功耗特性,降低功耗的途徑如下:
①大力降低系統或器件的工作電壓。隨著器件工作電壓的下降,功耗會顯著下降。目
前,集成電路器件普遍從+5V電源向+3V電源過渡。有些低功耗的CMOS器件己出現
2.7V、1.8V的工作電壓,表明了電壓控制在CMOS電路中的重要作用。
②控制CMOS器件申的時鍾頻率。時鍾宜低不宜高;同時,時鍾不用時應及時關斷,實
現系統的最大時空靜態化管理來降低系統功耗。在CMOS器件中,有許多低功耗方式就是基於系統時鍾管理來實現的。
③在CMOS電路系統中實施最大限度的靜態化運行管理。使無謂等待下的電路處於靜
態功耗,關閉時鍾,停止動態輸人或關閉電源。
3. 低功耗系統中單片機的選擇和應用
低功耗系統設計中,器件選擇是基礎。選擇的器件不僅要求本質低功耗,而且要求具有良好的功耗控制功能。
(1)採用CMOS工藝製造的單片機
目前單片機已普遍採用高速CMOS工藝,應用系統設計時,不再選用非CMOS單片機。
在低功耗系統設計的單片機選擇時,主要考慮單片機的本質低功耗與功耗管理性能。CMOS工藝製造的80C51系列單片機具有優良的功耗管理性能,
(2)低功耗運行方式
早期CMOS單片機的功耗控制主要是對系統時鍾實施管理而出現的休閑ID(IDle)方式
和掉電PD(Power Down)方式。當通過編程式控制制IDL,位有效時,迸人ID方式,關閉進人CPU的時鍾,CPU停止運行,只保留中斷系統、定時器/計數器、串列口的操作功能。要退出ID方式時,可採用申斷或復位操作。編程式控制制PD位有效時,時鍾停振,單片機內部所有功能單元部停止操作。因此,要退出PD方式只有通過復位,清除PD編程位。
題表2-3給出了80C51正常運行、ID、PD方式下的功耗數據。從表中可以大致看出,不同時鍾頻率及不同運行方式下的功耗狀況;可以明顯地看出,CMOS單片機中時鍾頻率及時鍾控制對功耗的重要影響。
題表2-3 80C51不同頻率不同方式下的功耗狀況
(3)單片機的電壓及雙時鍾功耗控制
目前除了採用PD、ID的低功耗運行方式外,還可以採用降低電壓和設置雙時鍾(主時鍾、
子時鍾)的方式來進一步降低功耗。例如,目前有許多帶雙時鍾和寬電源電壓的單片機,在正常運行時可以使用3V供電,降低功耗;除了在工作時鍾下的運行ID方式外,還可以在子時鍾支持下運行慢速(SLOW)和睡眠(SLEEP)方式,以及使全部時鍾停止的停振(STOP)方式。
題表2-4為東芝TLCS一870在不同方式下的功耗狀況。TLCS一870可工作在2.7~6V,主
時鍾為1~8MHz,子時鍾為32.8kHz。雙時鍾的設置能使單片機高速運行或低速運行,實現控制功能.
題表2-4 TLCS-870不同方式下的功耗狀況
有的單片機在設定了主時鍾後,在其內部還可以對時鍾進行分頻,以降低系統運行速度來進一步降低功耗。
2·13 單片機"面向掛創"應用的特點,在硬體結拘方面有哪些體現?
答:單片機"面向控制"應用的特點,體現在硬體結構方面有以下幾點:
①由於考慮到單片機"面向控制"的實際應用的特點,一般需要較大的程序存儲器,因此
目前的單片機以採用程序存儲器和數據存儲器截然分開的結構為多。這種結構稱為哈佛(Harvard)結構。80C51單片機系列的存儲器採用的就是這種結構,即將程序存儲器和數據存
儲器截然分開,程序存儲器和數據存儲器各有自己的定址方式、定址空間和控制系統。
這種結構對於單片機"面向控制"的實際應用極為方便、有利。
②為了滿足"面向控制"實際應用的需要,單片機提供了數量多、功能強、使用靈活的並行I/O口。不同單片機的並行I/O電路在結構上稍有差異。有些單片機的並行I/I口,不僅而靈活地選作輸人或輸出,而且還具有多種功能。例如,它既是IO口,又是系統匯流排,或是控制信號線等,從而為擴展外部存儲器和1/0介面提供了方便,大大拓寬了單片機的應用范圍。
③在單片機的實際應用中,往往需要精確的定時,或者需對外部事件進行計數。為了減
少軟體開銷和提高單片機的實時控制能力,因而均在單片機內部設置定時器/計數器電路減
過中斷,實現定時/計數的自動處理。
④在80C51單片機系統中,與位元組處理器相對應,還特別設置了一個結構完整、功能極強的布爾(位)處理器。這是80C5l系列單片機的突出優點之一。這給"面向控制"的實際應用並來了極大的方便。
在位處理器系統申,除了程序存儲器和ALU與位元組處理器合用之外,還有自己的:
●累加器CY:借用進位標志位。在布爾運算中,CY是數據源之一,又是運算結果的存
放處,位數據傳送中的中心。根據CY的狀態,程序轉移:
JC rel
JNC rel
JBC rel
●位定址的RAM.:RAM區中的0~127位。
●位定址的寄存器:特殊功能寄存器(SFR)申的可位定址的位。
位定址的並行I/O口:P0、Pl、P2及P3各口的每一位都可以進行位定址。
2·14 80C51單片機運行出錯或程序進入死循環,如何擺脫困境?
答:當由於程序運行出錯或操作錯誤使系統處於死鎖狀態時,需按復位鍵以重新啟動。
『陸』 單片機程序分析試題
第一題:
(20H)=20H,(21H)=91H,(22H)=A0H,(23H)=01H
Cy=0, A=0A0H, R0=23H, R1=28H
至於第二題嗎,你們老師可真變態,好好的SUBB不讓用,要用CJNE
程序如下:
;BLOCK為地址起始位
;LEN為數據數量位
;MINI為最小數據
整個編程的思路是這樣的:
先設一個基準數,從最大的0FF設起,再把這些數據與基準數比較是否一致,如果一致,則先把這個數(也就是基準數)存起來,這一行就不用再往下比較了。然後把基準數減一,再執行上面的程序,如果亦有相同的,則把現在的基準數存起來,覆蓋原來存的數據。就這樣一直減,減到0後,停止,存起來的最後一個基準數就是最小值。
MOV R0, #BLOCK ;將地址起始位置存入R0中
MOV R1, #MINI ;將最後結果存儲地址存入R1中
MOV R2, LEN ;數據數量
MOV R3, #0FFH ;比較的基準數
LOOP:
MOV A, @R0 ;讀入數據
CJNE A, 03H, NEXTLOOP ;和基準數相比較,不等於則轉移
MOV A, @R0 ;等於基準數了,先存起來,如果將基準數減小後,再沒有和基準數相等的了,那麼這個數就是最小的。
MOV @R1, A
CLR C
MOV A, R3 ;如果基準數已經減到00H了,那麼,就不用再減一比較了,因為已經從0FF開始至00結束,全比較過了
JZ WAIT
SUBB A, #01H ;基準數減1
MOV R3, A
MOV R0, #BLOCK
MOV R1, #MINI
MOV R2, LEN
LJMP LOOP
NEXTLOOP:
INC R0
DJNZ R2, LOOP
WAIT:
LJMP $
按你的修改,再修改結果
(20H)=20H,(21H)=91H,(22H)=0D0H,(23H)=00H
Cy=0, A=0D0H, R0=22H, R1=28H
『柒』 單片機試題一
8051匯編語言的指令格式如下:
[標號:] 操作碼助憶符 [操作數1,] [ 操作數2,] [操作數3,] [;注釋]
操作碼助憶符體現該指令的功能,它對應一條二進制編碼的機器指令。指令的操作數個數由該指令的確定,可以沒有操作數,也可以有一個、二個或三個操作數。絕大多數指令的操作數要顯式的寫出來,但也有指令的操作數是隱含的,不需要在指令中寫出。
綜上,8051匯編語言的指令格式中,唯一不可缺少的部分是指令操作碼。
『捌』 單片機考試題目及答案(單片機考試復習題)
《單片機原理及介面技術》試卷(閉卷A卷)
一.單項選擇題(每題1分,共20分)
1.DPTR為( C)
A.程序計數器 B.累加器 C.數據指針寄存器 D.程序狀態字寄存
2.PSW的Cy位為( B)
A.輔助進位標志 B.進位標志 C.溢出標志位 D.奇偶標志位
3.MCS-51單片機片內ROM容量為( A )
A.4KB B.8KB C.128B D.256B
4.MCS-51單片機片要用傳送指令訪問片外數據存儲器,它的指令操作碼助記符是以下哪個?( B)
A.MUL B.MOVX C.MOVC D.MOV
5.direct表示( C )
A.8位立即數 B.16位立即數 C.8位直接地址 D.16位地址
6.堆棧指針SP是一個( A )位寄存器
A.8 B.12 C.13 D.16
7.定時器/計數器工作方式選擇中,當M1M0=11時,其工作方式為( D )
A.方式0 B.方式1 C.方式2 D.方式3
8.定時器/計數器工作方式0為( A)
A.13位定時/計數方式 B.16位定時/計數方式
C.8位可自動裝入計數初值方式 D.2個8位方式
9.MCS-51的最小時序定時單位是( A )
A.節拍 B.狀態 C.機器周期 D.指令周期
10.#data表示( A )
A.8位直接地址 B.16位地址 C.8位立即數 D.16位立即數
11.主頻為12MHz的單片機它的機器周期為(C )
A.1/12微秒 B.0.5微秒 C.1微秒 D.2微秒
12.MCS-51單片機在同一優先順序的中斷源同時申請中斷時,CPU首先響應( A )。
A.外部中斷0 B.外部中斷1 C.定時器0中斷 D.定時器1中斷
13.MOVC A ,@A+PC指令對於源操作數的定址方式是( D )
A.寄存器間接定址 B.寄存器定址 C.立即定址 D.變地定址
14. 為( C )
A.復位信號輸入端 B.地址鎖存允許信號輸出端
C.程序存儲允許輸出端 D.程序存儲器地址允許輸入端
15.MCS-51單片機的一個機器周期由(D )個振盪脈沖組成。
A.2 B.4 C.6 D.12
16.MOVC A ,#30H指令對於源操作數的定址方式是( C )
A.寄存器間接定址 B.寄存器定址 C.立即定址 D.變地定址
17.計算機能直接識別的語言為( B)
A.匯編語言 B. 機器語言 C.自然語言 D.硬體和軟體
18.PSW的OV位為( C )
A.輔助進位標志 B.進位標志 C.溢出標志位 D.奇偶標志位
19.在單片機中( A )為程序存儲器。
A.ROM B. RAM C.EPROM D.EEPROM
20.能用紫外線光擦除ROM中的程序的只讀存儲器為( C )
A.掩膜ROM B.PROM C.EPROM D.EEPROM
二、填空(每題 2 分,共 10 分)
1、從單片機系統擴展的角度出發,單片機的引腳可以構成三匯流排結構,即 數據
匯流排、地址匯流排和 控制 匯流排。
2、ALE信號的作用是 鎖存低8位地址信號(或 低8位地址鎖存) 。
3、MOV A,40H 指令對於源操作數的定址方式是 直接 定址。
4、PC存放的內容為: 下一條要執行的指令的地址 。
5、MCS-8051系列單片機字長是 8 位,有 40 根引腳。
三、簡答題:(共 25 分)
1、什麼是單片機?簡述單片機的應用領域。(15 分)
答:單片微型計算機簡稱單片機,它是把微型計算機的各個功能部件:中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數器及I/O介面電路等集成在一塊晶元上,構成一個完整的微型計算機。
應用領域:(1)單片機在智能儀器儀表中的應用;(2)單片機在工業控制中的應用;(3)單片機在計算機網路與通信技術中的應用;(4)單片機在日常生活及家電中的應用。
2、什麼叫中斷?中斷有什麼特點?(10 分)
答:(1)「中斷」是指計算機在執行某段程序的過程中,由於計算機系統內、外的某種原因,當出現CPU以外的某種情況時,由服務對象向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢後,再返回繼續執行原來被中斷的程序。
(2)特點:分時操作;實時處理;故障處理。
四.已知:(R1)=32H,(30H)=AAH,(31H)=BBH,(32H)=CCH,求執行下列指令後累加器A.50H.R6.32H.和P1口中的內容。(10分)
MOV A ,#30H
MOV 50H ,A
MOV R6 ,31H
MOV @R1 ,31H
MOV P1,32H
解:上述指令執行後的操作結果為:
A=30H
(50H)=30H
R6=BBH
(32H)=BBH
P1=BBH
五、分析執行如下指令後,PSW中的Cy 、Ac、OV、P各為多少? A中的結果用十進製表示是多少?(15分)
MOV A,#85H
ADD A,#0AEH
Cy=1,Ac=1,OV=1,P=0。(A)=51
六、編程題: (每小題10分,共20分)
1、在程序中定義一個0——9的平方表,利用查表指令找出累加器A=03的平方值。(10分)
解:編程如下:
ORG 0050H
MOV DPTR,#TABLE ;表首地址→DPTR
MOV A,# ;03→A
MOVC A ,@A+DPTR ;查表指令,25→A
SJMP $ ;程序暫停
TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定義0——9平方表
END
2、試採用兩種方法編製程序,開放定時器T1的溢出中斷。(10分)
解:編程如下:
MOV IE,88H
或者MOV A8H,88H
或者 SETB EA
SETB ET1
『玖』 單片機試題解答
一,選擇題
1.當CPU響應外部中斷0後,PC的值是( A )
A.0003H B.2000H C.000BH D.3000H
2.當MCS-51復位時,下面說法准確的是(A)
A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H
3.要用傳送指令訪問MCS-51片外RAM,它的指令操作碼助記符是( B)
A.MOV B.MOVX C.MOVC D.以上都行
4.ORG 2000H
LACLL 3000H
ORG 3000H
RET
上邊程序執行完RET指令後,PC=(C )
A.2000H B.3000HC .2003H D.3003H
5.要使MCS-51能響應定時器T1中斷,串列介面中斷,它的中斷允許寄存器IE的內容應是( A)
A.98H B.84H C.42H D.22H
6.JNZ REL指令的定址方式是(C)
A.立即定址 B.寄存器定址 C.相對定址 D.位定址
7.要把P0口高4位變0,低4位不變,應使用指令( D)
A.ORL P0,#0FH B.ORL P0,#0F0H C. ANL P0,#0F0H D.ANL P0,#0FH
8若某存儲器晶元地址線為12根,那麼它的存儲容量為( C)
A. 1KB B. 2KB C.4KB D.8KB
9.PC中存放的是( A )
A.下一條指令的地址 B. 當前正在執行的指令
C.當前正在執行指令的地址 D.下一條要執行的指令
10. 若MCS-51中斷源都編程為同級,當他們同時申請中斷時CPU首先響應(A )
A. INT0 B. INT1 C.T1 D.T0
11.編寫程序產生的代碼一般存儲在(B)。
A、RAM B、ROM C、EEROM D、SDRAM
12.51系列單片機採用12M晶振的機器周期為(A)。
A、1US B、2US C、4US D、12US
13. 在CPU內部,反映程序運行狀態或反映運算結果的特徵寄存器是(B )。A、PC B、PSW C、ACC D、SP
14. 要用傳送指令訪問片外RAM,它的指令操作助記符是(B )。
A、MOV B、MOVX C、MOVC D、PUSH
15. 開機復位後,CPU使用的是第0組工作寄存器,地址范圍是(B )。
A、00H-10H B、00H-07H C、10H-1FH D、08H-0FH
16. 80C51系列單片機有中斷源 (D )。
A、2個 B、3個 C、4個 D、5個
17. 某存儲器晶元的地址線為11根,那麼它的存儲容量為 ( B)。
A、1KB B、2KB C、3KB D、4KB
18. 提高單片機的晶振頻率fosc,則機器周期Tcy( C)。
A、不變 B、變長 C 、變短 D、不定
19. 關於80C51的堆棧操作,正確的說法是(A )
A、先入棧,再修改指針 B、先修改指針,再出棧
C、先修改指針,再入棧 D、以上都不對
20. 擴展4X4的矩陣鍵盤需要佔用多少個I/O口(B)
A、4 B、8 C、16 D、12
『拾』 89C51單片機習題及答案
89C51是一種帶4K位元組閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。89C2051是一種帶2K位元組閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。由於將多功能8位CPU和閃爍存儲器組合在單個晶元中,ATMEL的89C51是一種高效微控制器,89C2051是它的一種精簡版本。89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
1.主要特性:
·與MCS-51 兼容
·4K位元組可編程閃爍存儲器
壽命:1000寫/擦循環
數據保留時間:10年
·全靜態工作:0Hz-24Hz
·三級程序存儲器鎖定
·128*8位內部RAM
·32可編程I/O線
·兩個16位定時器/計數器
·5個中斷源
·可編程串列通道
·低功耗的閑置和掉電模式
·片內振盪器和時鍾電路
2.管腳說明:
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用於外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1後,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由於內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫「1」時,其管腳被內部上拉電阻拉高,且作為輸入。並因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由於內部上拉的緣故。P2口當用於外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址「1」時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入「1」後,它們被內部上拉為高電平,並用作輸入。作為輸入,由於外部下拉為低電平,P3口將輸出電流(ILL)這是由於上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下表所示:
口管腳 備選功能
P3.0 RXD(串列輸入口)
P3.1 TXD(串列輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數據存儲器寫選通)
P3.7 /RD(外部數據存儲器讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復位輸入。當振盪器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用於鎖存地址的地位位元組。在FLASH編程期間,此引腳用於輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振盪器頻率的1/6。因此它可用作對外部輸出的脈沖或用於定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用於施加12V編程電源(VPP)。
XTAL1:反向振盪放大器的輸入及內部時鍾工作電路的輸入。
XTAL2:來自反向振盪器的輸出。
3.振盪器特性:
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振盪器。石晶振盪和陶瓷振盪均可採用。如採用外部時鍾源驅動器件,XTAL2應不接。有餘輸入至內部時鍾信號要通過一個二分頻觸發器,因此對外部時鍾信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。
4.晶元擦除:
整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,並保持ALE管腳處於低電平10ms 來完成。在晶元擦操作中,代碼陣列全被寫「1」且在任何非空存儲位元組被重復編程以前,該操作必須被執行。
此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟體可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容並且凍結振盪器,禁止所用其他晶元功能,直到下一個硬體復位為止。
5.結構特點:
8位CPU;
片內振盪器和時鍾電路;
32根I/O線;
外部存貯器定址范圍ROM、RAM64K;
2個16位的定時器/計數器;
5個中斷源,兩個中斷優先順序;
全雙工串列口;
布爾處理器;