Ⅰ 單片機的練習題目
第2題題干不完整。對於12MHz左右晶振嘩態來亂寬源說,TimerX的最大溢出時間可以到65.535ms。
第3題A
第4題巧桐A
第5題跟第2題一樣缺少前提。假定採用12MHz晶振,那麼選B。
第6題選C
第7題C、B
第8題C
第9題D
Ⅱ 單片機技術的目錄
第一章 單片機基礎
1.1 認識單片機
1.1.1 概述
1.1.2 單片機的發展及主流產品
1.1.3 單片機的應用
1.2 計算機中的數制及其相互轉換
1.2.1 二進制數和十進制數之間的轉換
1.2.2 十六進制數和十進制數之間的轉換
1.2.3 二進制數和十六進制數之間的轉換
1.3 二進制數的運算
1.3.1 算術運算
1.3.2 邏輯運算
1.4 帶符號數的表示
1.5 定點數和浮點數
1.6 BCD碼和ASCII碼
習題
第二章 單片機的硬體結構和原理
2.1 概述
2.2 MCS-51單片機的硬體結構
2.3 中央處理器CPU
2.4 存儲器的結構
2.4.1 內部數據存儲器
2.4.2 外部數據存儲器
2.4.3 程序存儲器
2.5 並行輸入/輸出(I/O)
2.5.1 P0口
2.5.2 P1口
2.5.3 P2口
2.5.4 P3口
2.5.5 PO口~P3口的帶負載能力及埠要求
2.6 單片機的引腳及功能
2.7 單片機工作的基本時序
2.7.1 典型指令的取指和執行時序
2.7.2 單片機的復位電路
習題
第三章 MCS-51單片機指令系統
3.1 MCS-51單片機指令格式
3.2 定址方式
3.2.1 寄存器定址
3.2.2 直接定址
3.2.3 寄存器間接定址
3.2.4 立即定址
3.2.5 位定址
3.2.6 變址定址
3.2.7 相對定址
3.3 指令中符號意義說明
3.4 數據傳送類指令
3.4.1 內部RAM和特殊功能寄存器(SFR)數據傳送指令
3.4.2 累加器A與片外RAM之間的數據傳送指令
3.4.3 程序存儲器ROM向累加器A傳送指令
3.4.4 堆棧操作
3.4.5 位元組交換指令
3.5 算術運算類指令
3.5.1 不帶進位位的加法指令
3.5.2 帶進位位的加法指令
3.5.3 帶借位的減法指令
3.5.4 加l指令
3.5.5 減1指令
3.5.6 乘法指令
3.5.7 除法指令
3.5.8 十進制調整指令
3.6 邏輯運算類指令
3.6.1 邏輯與運算指令
3.6.2 邏輯或運算指令
3.6.3 邏輯異或運算指令
3.6.4 累加器清零取反指令
3.6.5 移位指令
3.7 控制轉移類指令
3.7.1 無條件轉移指令
3.7.2 條件轉移指令
3.7.3 子程序調用和返回指令
3.8 位操作指令
3.8.1 位傳送指令
3.8.2 位置位和位清零指令
3.8.3 位邏輯運算指令
習題
第四章 匯編語言程序設計簡介
4.1 偽指令
4.2 匯編語言程序設計
4.2.1 匯編語言程序設計的基本概念
4.2.2 匯編語言命令格式
4.2.3 簡單程序設計
4.2.4 分支程序設計
4.2.5 循環程序設計
4.2.6 查表程序設計
4.2.7 子程序
4.2.8 匯編語言編程舉例
習題
第五章 中斷系統
5.1 中斷概述
5.1.1 中斷的特點
5.1.2 中斷的基本概念
5.1.3 中斷圓告的過程
5.1.4 中斷嵌套
5.2 MCS-51中斷系統
5.2.1 中斷源
5.2.2 中斷控制
5.2.3 中斷響應過程
5.2.4 中斷響應等待時間
5.2.5 中斷請求的撤除
5.3 中斷系統的應用.
5.3.1 中斷初始化
5.3.2 中斷服務子程序
習題
第六章 MCS-51定時器/計數器及串列介面
6.1 MCS-51單片機的定時器/計數器
6.1.1 定時器/計數器的結構及工作原理
6.1.2 定時器/計數器的工作方式寄存器和控制寄存器
6.1.3 定時器/計數器的工作方式嘩腔氏
6.1.4 定時器/計亂散數器應用舉例
6.2 MCS-51單片機的串列介面
6.2.1 串列通信概述
6.2.2 與串列口相關的特殊功能寄存器
6.2.3 串列口的工作模式
6.2.4 波特率的選擇
6.2.5 單片機的多機通信
6.2.6 串列口應用實例
習題
第七章 單片機系統擴展與介面技術
7.1 外部匯流排的擴展
7.1.1 片外三匯流排結構
7.1.2 匯流排驅動能力
7.2 外部存儲器的擴展
7.2.1 程序存儲器的擴展
7.2.2 數據存儲器的擴展
7.2.3 同時擴展程序存儲器和數據存儲器
7.3 輸入/輸出介面的擴展
7.3.1 8155的結構及功能說明
7.3.2 8155的寄存器
7.3.3 8155和89C51的介面連接方法
7.4 A/D和D/A介面功能的擴展
7.4.1 MCS-51單片機與8位D/A轉換器介面技術
7.4.2 MCS-51單片機與8位A/D轉換器介面技術
習題
第八章 單片機應用系統的設計與開發
8.1 單片機應用系統的開發過程
8.2 MedWin模擬軟體的使用
8.2.1 MedWin的安裝與啟動
8.2.2 編輯程序
8.2.3 匯編語言源程序的匯編
8.3 MCS-51系列單片機應用系統的調試與運行
8.3.1 MedWin菜單條中有關模擬調試的幾個菜單功能
8.3.2 匯編語言程序模擬調試舉例
8.3.3 模擬器的使用
8.3.4 單片機系統的運行
8.4 單片機控制交通燈實驗
8.5 霓虹燈實驗
8.6 單片機控制的點陣動態掃描顯示電路實驗
8.6.1 系統概述
8.6.2 系統硬體的設計
8.6.3 系統軟體的設計
8.7 電子鬧鍾實驗
習題
第九章 單片機系統的抗干擾設計
9.1 硬體抗干擾設計
9.2 軟硬體結合——看門狗(Watchdog)技術
9.3 軟體抗干擾設計
參考文獻
Ⅲ 基於C51單片機的秒錶設計。要求:1.用2位數碼管顯示秒數。 2. 有啟動、停止、清零功能 。
選 。共陽數碼管 16M晶振。
STRT EQU P2.5
STP EQU P2.6
CLRR EQU P2.7
ORG 00H
AJMP MAIN
ORG 0BH
AJMP T0INT
ORG 30H
MAIN: MOV R0,#20
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV DPTR,#TABLE
SETB EA
SETB ET0
k1: LCALL DISP
JB STRT,K2
LCALL DISP
JNB STRT,$-3
AJMP START
k2: JB STP,K3
LCALL DISP
JNB STP,STOP
K3: JB CLRR,K1
LCALL DISP
JNB CLRR,CLEAR
AJMP K3
START: SETB TR0
AJMP K1
STOP: CLR TR0
AJMP K2
CLEAR: CLR TR0
MOV 40H,#0
AJMP K1
T0INT: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R0,RTI
MOV R0,#20
MOV A,40H
CJNE A,#99,ADD1
MOV 40H,#00H
CLR TR0
AJMP RTI
ADD1: ADD A,#01H
MOV 40H,A
RTI: RETI
DISP: MOV A,40H
MOV B,#10
DIV AB ;//當前值除以10
MOV 20H,A ;//得出的商送給十位
MOV 21H,B ;//得出的余數送給個位
CLR P2.0
SETB P2.1
MOV A,20H ;//十位顯示
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
CLR P2.1
SETB P2.0
MOV A,21H ; //個位顯示
MOVC A,@A+DPTR
MOV P0,A
RET
DELAY: ;誤差 0us
MOV R6,#01H
DL0:
MOV R5,#61H
DJNZ R5,$
DJNZ R6,DL0
RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;//共陽極0-9顯示代碼
DB 92H,82H,0F8H,80H,90H
END
Ⅳ 單片機習題
《單片機習題與試題解析》是一部單片機教材的練習試題與解析,全書內容分兩部分,第1部分對80C51系列單片機教材中所涉及的思考與練習題進行了整理、分析和解答;第2部分則對某大學近幾年「單片機原理與介面技術」考試試卷進行了分析和解答,並說明考題測試的內容、答題時應注意的問題等。即使題目相同,由於提出問題的角度不同,答案還會有所不同。同時,增加了一些設計題、綜合系統擴展題。書中對近幾年單片機系統擴展應用的新技術和新理念(比如低功耗設計、可靠性設計和虛擬技術等)進行了適當補充。《單片機習題與試題解析》內容分兩部分,第1部分對80C51系列單片機教材中所涉及的思考與練習題進行了整理、分析和解答;第2部分則對某大學近幾年「單片機原理與介面技術」考試試卷進行了分析和解答,並說明考題測試的內容、答題時應注意的問題等。即使題目相同,由於提出問題的角度不同,答案還會有所不同。同時,增加了一些設計題、綜合系統擴展題。書中對近幾年單片機系統擴展應用的新技術和新理念(比如低功耗設計、可靠性設計和虛擬技術等)進行了適當補充。
Ⅳ 單片機練習題不會做啊···
一:
1,立即定址空激,定址空間內部據存儲器RAM,范圍64K;
2,直接定址, 內部數據存儲器RAM,范圍64K,特殊功能寄存器SFR, 80H-FFH;
3,寄存器定址, 特殊功能寄存器SFR, 80H-FFH;
4,寄存器間接定址,內外各64K定址能力;
5,變址定址 ,內部64K定址能力;
6,位定址,20H-2FH,80H,88H,90H,98H,A0H,A8H,B0H,B8H,C0H,C8H,E0H,E8H,F0H,F8H;
7,相對定址,ROM區,2K范圍;
二、
1,配置中斷源的相關功能寄乎穗存器,
2,開啟中斷源中斷,開啟總中斷;
3,中斷響應,斷點保護、數值入棧,中斷標志處理,數值、斷點出棧,中斷返回;
4,程序自斷點處繼續執行。
三、TIMER0,TIMER1
TMOD運行模式寄存器,
TCON運行控制寄存斗頃襪器,
TH0,TL0 timer0數據寄存器,
TH1,TL1 timer1數據寄存器,
IE 中斷允許寄存器
IP 中斷優先順序寄存器
Ⅵ 單片機 思考題與習題 急 謝謝。。。。
1、分4組,分別由PSW中RS1、RS0控制,每組8個單元,復位後的寄存器是第0組。能被8整除的都可以進行位定址。EA:片內外程序存儲器片選端,ALE:地址鎖存使用,PSEN:片外程序存儲器讀允許信號,1個機器周期是12個時鍾周期,1個指令周期是1、2、4個機器周期。1/10US,P0-P3,口的不同之處在與:P0口沒有上拉電阻,其餘的都有上拉電阻,外電路不用加上拉電阻。在作為輸入口時要向埠寫1,防止讀入的數據錯誤。
2、地址相同,但是,使用的指令不同,MOVC,MOVX。P3口的第二功能很豐富:串列口RX,TX、外部中斷INT0,INT1、定時記數器T0,T1、讀寫WR,RD。一個是位地址,一個是位元組地址,採用訪問的指令不同,7C在位地址定址區的2F中,PSW記錄累加器A的狀態,CY,AC,OV等,具體是第7位進位或者借位時,CY=1,反之為0,第3位進位或者借位時,AC=1反之為0,當運算結果不對時,OV=1。
3、那是程序的總入口地址,中斷地址入口。說白了,就是即可以輸入又可以輸出的口叫雙向口,P0-P3:復位時,為FFH。定址方式:直接、間接、立即、寄存器、變址、位定址。內部低128位定址,和整個256位元組定址。
4、DA A的作用是緊跟著加法後面的指令,用與十進制調整。MOV A,80H,XCH A,90H,MOV 80H,A。算術運算利用CY,OV判斷結果是否正確。如果CY=1,說明減數小,與此同時OV=1,說明正數減去負數得負數的情況。依次類推。
以上是部分內容回答。
由於時間關系先到此吧,後續再補上!
Ⅶ 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單片機運行出錯或程序進入死循環,如何擺脫困境?
答:當由於程序運行出錯或操作錯誤使系統處於死鎖狀態時,需按復位鍵以重新啟動。
Ⅷ 匯編語言
****因為格式問題,有些不完整,有電子郵箱嗎?我將原題發給你。
第一章 計算機基礎知識練習題
1.試將下列二進制數轉換成相應的十六進制數和十進制數。
(1)0.1101B (3)101.101B (5)1100010.10101B
(2)1.1011B (4)11010111B (6)1110101.1101B
2.試將下面十進數轉換成相應的二進制數和十六進制數。
(1)0.6875 (3)1717.111 (5)1992.49
(2)44.913 (4)240.97 (6)63.786
3.試寫出下列真值所對應的機器數。
(1)+1010011B (3)+0101110B
(2)-1011010B (4)-0111100B
4.試寫出下列機器所對應的真值。
(1)11000000B (3)01011011B
(2)01111111B (4)11111111B
5.已知X,試求[X]原、[X]反及[X]補。
(1)X=+1001101B (4)X=+1111111B (7)X=-1111111B
(2)X=+0001110B (5)X=1011001B (8)X=-1010101B
(3)X=+1101000B (6)X=-0100111B
6.已知X及Y,試計算[X+Y]補及[X-Y]補並指出是否產生溢出(設補碼均用8位表示)。
(1)X=+1001110B,Y=+0010110B (3)X=-0101110B,Y=+0111011B
(2)X=+0101101B,Y=-1100100B (4)X=-1000101B,Y=-0110011B
7.被乘數X,乘數Y均為無符號數,試用部分積右移演算法求其乘積Z。
(1)X=1010B,Y=0110B (3)X=0111B,Y=1001B
(2)X=0101B,Y=1101B (4)X=1100B,Y=1111B
8.試述馮.諾依曼型計算機的設計思想。
9.馮.諾依曼型計算機由哪五個功能部件組成?各功能部件的作用如何?
10.何謂「匯流排」?它有哪幾類?它們的主要功能是什麼?
11.根據圖1說明RAM的讀出及寫入過程。
12.說明下列各部件的作用:
(1)程序計數器PC (3)指令操作碼解碼器ID
(2)指令寄存器IR (4)微操作控制電路
13.根據圖2試說明控制器的工作原理。
14.不論是指令還是數據均以二進數代碼形式存放在存儲器中,試問計算機如何知道從存儲器取出的是指令還是操作數?
15.設(PC)=01H,(01H)=01011000B。如01011000B為傳送指令的機器代碼(前四位為操作碼,後四位為地址碼),其功能是將累加器A的內容送至存儲器08H單元。根據圖3試說明此指令從取出到執行的全過程。
第二章 MCS-51系列單片計算機練習題
1.為什麼稱單片機為嵌入式控制器?
2.單片機的系列化是什麼意思?
3.MCS-51單片機有檔悄哪幾種類型?各有什麼特點?
4.MCS-51單片機的核心電路是由哪些部分組成?各部分的主要功能是櫻陪什麼?
5.簡述PC,PSW,行頌渣DPTR和累加器A的作用。
6.數據堆棧的特點是什麼?堆棧指針SP的地址在哪裡?單片機初始化後,把「SP初始化為07H」是什麼意思?
7.MCS-51系列單片機片內ROM與片外擴展ROM的存儲空間的關系是什麼?片內RAM與片外擴展RAM的存儲空間的關系是什麼?
8.8051的片內RAM分哪三個部分?各部分在使用上有何特點?
9.試寫出以下位地址所在的位元組地址:20H,7FH,FO,CY,OV。
10.試述8051單片機狀態控制字PSW各位的作用。
11.什麼叫位定址?8051有哪些存儲空間可以位定址?
12.試述8051單片機P0~P3埠的地址及埠的含義。
13.單片機「准雙向口」是什麼意思?
14.定時器/計數器的主要功能是什麼?
15.簡述8051單片機下列引腳信號的作用: , , , , 。
16.時鍾周期,機器周期,指令周期之間有何關系?
17.什麼叫取指周期?三位元組指令需要執行幾個機器周期?
18.單位元組雙周期指令和雙位元組單周期指令執行時序有何不同?
19.8051單片機進入內部復位狀態的條件是什麼?「復位」的含義是什麼?
20.8051有哪兩種低功耗工作方式?進入和退出掉電方式的條件是什麼?
第三章 MCS-51系列單片機擴展技術練習題
1.半導體存儲器在微機中的作用是什麼?
2.試說明下列名詞的含義:位元組,位元組地址。
3.試述單片機擴展外部存儲器的三匯流排連接方法。
4.簡述8031訪問外部數據存儲器(包括取指操作)的全過程。
5.試述存儲器的讀周期時序與單片機對外部存儲器的讀操作時序有什麼不同?
6.在圖4中:(1)使6116的地址分布為0000H~07FFH,2764的地址分布為4000H~5FFFH,電路應如何連接?(2)若用A15作為解碼線,2764和6116的地址分布如何?
7.試畫出8031擴展外部32KBSRAM和32KBEPROM(選用27256和62256晶元,實行統一編址)的電路圖,並寫出每塊的地址分布。
8.在圖5中,欲使27128的地址分布為2000H~5FFFH,解碼線的連接應如何改動?
9.試畫出8031擴展外部64KBSRAM和64KBEPROM(選用2764和6264晶元,採用74LS138解碼器連接)的電路圖,並寫出每塊晶元的地址分布。
10.試述對EPROM存儲器晶元及EPROM型單片機器件的編程條件。
11.為什麼說掉電檢測電路能使器件盡快進入低功耗狀態?
第四章 MCS-51指令系統及程序設計練習題
1.指出下列每一條指令的定址方式及其完成的操作。
a MOV 2FH,#40H b MOV A,@R1
c MOV A,2FH d MOV 2FH,A
e MOV R1,#2FH
2.內部RAM的4FH單元,可用哪幾種方式定址?分別舉例說明。
3.特殊功能寄存器可用哪幾種方式定址?分別舉例說明。
4.編程:將立即數55H送入內部RAM的40H單元。
(1)用立即定址 (3)用寄存器定址
(2)用直接定址 (4)用寄存器間接定址
5.用指令實現下述數據傳送
(1)內部RAM20H送內部RAM40H (4)外部RAM2000H送內部RAM20H
(2)外部RAM20H送R0 (5)外部ROM2000H送內部RAM20H
(3)外部RAM20H送內部RAM20H (6)外部ROM2000H送外部RAM20H
6.指出下列指令的執行結果,並寫出每條指令的機器碼。
a MOV 30H,#52H b MOV R0,#30H
c MOV A,#70H d MOV A,@R0
e MOV A,30H
7.指出在下列各條指令中,45H代表什麼?MOV A,#45H
a MOV A,45H b MOV 45H,#45H
c MOV 45H,4 d MOV C,45H
8.分析下列指令的執行結果,並寫出每條指令的機器碼。
a MOV A,#10H d MOV 20H,#30H
b MOV DPTR,#2020H e MOV R0,#20H
c MOV @DPTR,A f MOVX A,@R0
9.試編程實現內部RAM的25H單元與55單元的數據交換。
10.編程實現外部RAM2040H單元的內容與3040H單元內容互換。
11.分析以下程序的執行過程,並繪出執行過程示意圖。
MOV A,#30H MOV DPTR,#4000H
MOV SP,#55H MOV A,#22H
MOV DPTR,#2000H MOVX @DPTR,A
PUSH DPL POP A
PUSH DPH POP DPH
PUSH A POP DPL
12.指出以下程序每一條的執行結果。
MOV A,#25H ADD A,R2
MOV R2,#33H ADDC A,@R1
MOV 40H,#1AH ADDC A,40H
MOV R1,#40H
13.試編程實現兩個無符號16位數的減法,被減數和減數分別存放在DATA1和DATA2為首址的內部RAM中,低位在先,高位在後,差存於R3(低8位)和R4(高8位)中。
14.指出以下程序每一條指令的執行結果。
MOV A,#0F0H ORL 30H,#BDH
CPL A XRL 30H,A
ANL 30H,#00H
15.指出以下程序每一條指令的執行結果。設(C)=0。
MOV A,#0AAH CPL A
CPL A RRC A
RLC A RR A
RL A
16.若(A)=7AH,分別執行下列指令後,A的值是多少?標志位CY和OV的值各是什麼?
(1)ANL A,#0FFH (4)ORL A,#00H
(2)ORL A,#0FFH (5)XRL A,#0FFH
(3)ANL A,#00H (6)XRL A,#00H
17.若外部RAM的(2000H)=X,(2001H)=Y,編程實現Z=3X+2Y,結果存入內部RAM的20H單元(設Z<255)。
18.在外部RAM的2040H~2043H個存儲單元中,存有01,02,03,04四個數,試編程將它們傳送到內部RAM的30H~33H單元。
19.試對內部RAM20H單元的內容進行判斷,若為正數轉向2100H;若為負數轉向2200H;若為0轉向2300H。
20.若(SP)=25H,(PC)=2345H,標號LABEL代表的地址為3456H,試判斷下面兩條指令的正確性,並說明原因。
(1)LCALL LABEL (2)ACALL LABEL
21.匯編語言程序設計分哪幾個步驟?
22.試分別說明採用高級語言及匯編語言編程的優缺點。
23.採用程序流程圖有什麼好處?存在哪些不足之處?
24.什麼叫「偽指令」?偽指令與指令有什麼區別?
25.MCS-51系列單片機有哪幾條偽指令?它們的用途是什麼?
26.基本程序結構有哪幾部分構成?各有什麼特點?
27.循環程序由哪幾部分構成?若要優化循環程序,首先該優化哪一部分?為什麼?
28.何謂「子程序」?對子程序設計有什麼要求?何謂子程序的「通用性、可浮動性」?
29.子程序設計分哪幾個步驟?設計時的注意事項是什麼?
30.何謂「參數傳遞」?參數傳遞有哪幾種方式?
31.試對下列程序進行人工匯編並用流程圖說明此程序的功能。
ORG 2000H ADDC A,@R1
ACADDI: MOV R0,#25H MOV @R1,A
MOV R1,#28H DEC R0
MOV R2,#06H DEC R1
CLR C DLNZ R2,LOOP
CLR A SJMP $
LOOP: MOV A,@R0 END
32.設一帶符號的十六位數以補碼形式存放在R2,R3寄存器中。試編制求其原碼的程序。
33.試編制實現ASCII碼轉換為十進制數的程序。在8031單片機片內RAM的40H單元中存放一代碼,若此代碼為十進制數的ASCII碼,則將其相應的十進制數送片內RAM50H單元;否則將該單元置成0FFH。
34.設變數X存放在8031單片機片內RAM的24H單元,試編制按照下式的要求給Y賦值(Y為片內RAM的25H單元)的程序。
35.根據下列要求,試分別編制相應的數據塊傳送程序。
(1)將存放在8031單片機內部RAM中,首址為20H,長度為30H的數據塊,傳送到片內RAM以40H為首址的連續單元中。
(2)將存放在8031單片機內部RAM中,首址為20H,長度為50H的數據塊,傳送到片外RAM以20H為首址的單元中。如將目標首址改為片外RAM的1000H,試問程序應作何修改?
36.設有一個不帶符號的十六進制數組,存放在8031單片機片內RAM以BUFFER為首址的連續單元中,其長度為30個位元組,要求統計小於10、等於10及大於10的數的個數,並將它們分別存放到片內RAM的LESS,EQUAL及LESS單元中,試編制實現上述要求的程序並畫出相應的流程圖。
37.設有一數組存放在8031單片機內部RAM以FIRST+1為首址的連續單元,其長度存放在FIRST單元中而且不為0。要求統計該數組中正偶數及負奇數的個數並將它們分別存放在PSPE單元及NAOE單元中。試編制實現上述要求的程序並畫出相應的流程圖。
38.設有50個無符號8位二進制數,存放在8031單片機內部RAM以BOFFER為首地址的連續單元中,試編制將其中最小數存放到內部RAM的MIN單元的程序並畫出相應的流程。
39.設有一字元串存放在8031單片機內部RAM以START為首址的連續單元中,字元串是以回車(回車CR=0DH)結束,試編制將該字元串中最後一個非空格字元的地址送內部RAM的LAST單元的程序並畫出相應流程圖(空格΄ ΄=20H)。
40.設有兩長度均為20H的字元串SA和SB分別存放在單片機內RAM以20H及40H為首址的連續單元中,要求當SA>SB時,將內部RAM的60H單元清0;當SA≤SB時將該單元置全1。試編制實現上述要求的程序並畫出相應的流程圖。
41.設一字元串存放在8031單片機內部RAM以20H為首址的連續單元中,字元串以回車結束.要求統計該字元串中字元B(B的ASCII碼為42H)的個數,並將其存入外部RAM的40H單元中,試編寫實現上述要求的程序並畫出相應的流程。
42.試編寫延時30ms的延時程序。
43.設有三個不帶符號的8位二進制數a、b、c分別存放在8031單片機內RAM的30H,31H及32H單元中,要求計算Y=(a+b)2+(b+c)2+(c+a)2(設Y<256),並將結果Y存入內部RAM的33H單元。試用調用子程序的方法編寫實現上述要求的程序。
44.設被加數NA及加數NB均為三位元組的BCD碼,分別存放在8031單片機內部RAM中20H~22H及30H~32H單元中。要求計算兩數之和並將其和存放到內部RAM中3FH~42H單元,試編制相應的程序。
45.設有一長度為20H的字元串,存放在8031單片機片內RAM以30H為首地址的連續單元中,試編制將其中數字與字母分開並將它們分別送到以50H和70H為首地址的連續單元中的程序。
46.設在片內RAM的20H單元中存放一數碼,其值范圍為0~200,要求用查表法求此數的平方值並將結果存入片外RAM的20H,21H單元中,試編制相應的程序。
47.設某班級共有學生三十名,本學期考四門課程,分別為高等數學、普通物理、英語及馬列主義哲學,所有學生各門課程的成績均為己知,要求將某學生(該學生的學號已鍵入至累加器A中)的上述四門課程成績依次存入片內RAM的30H~33H單元,試編寫相應的程序。
48.設在8031單片機外部RAM從1000H單元開始存放100個無符號8位二進制數,要求將它們從小到大依次存入片內RAM從10H單元開始的存儲器中,試編制相應的程序並畫出其流程圖。
第五章 中斷系統練習題
1.名詞解釋
(1)中斷 (3)中斷系統 (5)中斷嵌套
(2)中斷源 (4)中斷優先(級) (6)中斷屏蔽
2.試述中斷的作用及中斷的全過程。
3.利用中斷方式進行數據傳送能否節省數據傳送的時間?為什麼?
4.軟體排隊判優和硬體排隊判優各有什麼優缺點?
5.當正在執行某一中斷源的中斷服務程序時,如果有新的中斷請求出現,試問在什麼情況下可響應新的中斷請求?在什麼情況下不能響應新的中斷請求?
6.在8031單片機中有哪幾個中斷源?有幾個中斷優先順序?中斷系統按什麼順序響應各中斷源的中斷請求?
7.在MCS-51系列單片機中,外部中斷源有幾種觸發中斷請求的方法?如何實現中斷請求?
8.在8031單片機應用系統中有8個外部中斷源,此時如有中斷請求怎樣通知單片機?8031單片機又如何為它們服務?試畫出所需硬體框圖及處理程序的流程。
9.在MCS-51系列單片機中各中斷源的中斷處理程序的入口地址是否可由用戶直接指定?當中斷源的中斷處理程序的長度大於8個位元組時應作如何處理?
10.在中斷處理程序中如PUSH,POP指令不是成對使用時,能否返回斷點?為什麼?
第六章 微機的輸入/輸出練習題
1.I/O介面電路的作用是什麼?什麼叫埠?它的作用是什麼?
2.I/O定址方式有哪幾種?各有什麼優缺點?MCS-51系列單片機採用哪種定址方式?
3.主機與外部設備的數據傳送方式有哪幾種?試說明它們的各自的優缺點並指出各種數據傳送方式的適用場合。
4.試利用8031單片機內部的定時器/計數器實現半分鍾的定時。
5.設單片機的時鍾頻率為12MHz,若內部RAM的30H單元中的內容為55H,則內部定時器的定時值為30ms;否則定時值為15ms,試根據此要求對內部定時器進行初始化。
6.有一方波發生器,其頻率為5KHz~10KHz范圍內連續可調,要求顯示方波發生器輸出方波的周期,試設計顯示介面並編寫相應的程序。
第七章 微機的常用輸入/輸出設備練習題
1.設有一鍵盤,其輸出的按鍵ASCII碼通過圖6的介面送至8031單片機,現鍵入一命令字(由6個字元所組成),要求將此命令存入在內部RAM以20H為首地址的連續單元中。試按此要求編寫相應的程序。
2.根據圖7所示的介面電路,要求將8031單片機內部RAM中以30H為首地址的連續30H個單元中的數據輸至外設。試按上述要求編寫相應的程序。
3.有一採用8255A晶元的介面電路,用它的PA口作輸入,在其每根口線上接一個按鈕開關;PB口作輸出,在其每根口線上接一個驅動器驅動LED,按鈕開關與LED一一對應,要求當某開關按下時,相應位的LED亮1秒鍾,試根據上述要求畫出介面電路並編寫相應的程序。
4.若上題中PB口通過驅動器與一七段LED顯示器相連,要求當8個開關的狀態為10100110B時,七段LED顯示器顯示8;當按鍵開關處於其它狀態時,則顯示0。試編制相應的程序。
5.根據下述要求設計列印機介面;要求:(1)用8255A晶元將主機與列印機連接且主機與列印機之間採用中斷方式進行數據傳送;(2)將內部RAM中以40H為首地址的連續100個單元中的內容列印輸出。
6.單片機應用系統採用圖8所示的介面電路,8155的PA口作輸出口,PB口作輸入口,TIMERIN輸入脈沖,其周期為1µs,TIMEROUT輸出連續方波,其周期為2ms,試對8155A初始化編程。
7.設在8031單片機內部RAM的45H單元中存放一無符號數,若該單元的內容小於或等於9,則要求圖9中的LED亮1秒鍾,若該單元內容大於9且小於16時LED亮3秒鍾,若該單元內容大於等於16時LED不亮,試編制相應的程序。
8.要求將存放在8031單片機內部RAM中30H及31H單元中的四位BCD碼在圖10所示的介面電路中從右到左顯示出來,試編寫相應的程序。
9.要求在圖11的動態掃描顯示器中進行8字閃爍顯示。即6個顯示器同時顯示「8」1秒,暗1秒,不斷重復,試編寫相應的程序。
10.根據圖11試編寫七段LED顯示器的測試程序(即用軟體測試每一個七段LED的好壞,該亮的段應亮,該暗的段應暗)。
11.設在8031單片機內RAM的50H單元中存放一個ASCII碼。若其內容為0~9的ASCII碼,則在圖11所示的介面電路中從左到右不斷地依次顯示8;否則不斷地依次顯示4。
12.根據圖12所示的撥盤介面,要求將這4片撥盤所輸入的數據從左到右的次序存入內部RAM以50H為首地址的連續4個單元中,試按此要求編寫相應的程序。
第八章 過程I/O通道練習題
1.什麼叫模擬量?什麼叫數字量?它們之間相互轉換的過程如何?
2.試述T型解碼網路D/A轉換器的基本工作原理。
3.10位數字量輸入的D/A轉換器滿量程為5V時,1 LSB對應的模擬量變化是多少?
4.線性誤差和解析度都可以用LSB來表示,在這兩種情況下,它們的含義有何區別?
5.試述DAC0832的內部結構,它如何實現輸入數字量的二級緩沖?
6.在數模轉換器中,參考電壓VREF和工作電壓VCC的本質區別是什麼?
7.試畫出8031與DAC0832單緩沖連接的第三種電路(除書中介紹的兩種以外),並採用8位地址編程:把內部RAM的30H單元內容輸出轉換。
8.按圖13編寫同時進行兩路數/模轉換輸出的程序段,設需要轉換的數據在內部RAM的DATA1和DATA2存儲單元中。
9.現有參考電壓VREF=+5V,欲通過D/A轉換獲得約+5V(+4.98V)的輸出電壓,應採用何種連接電路?轉換的數字量應是多少?
10.參照圖14編程產生如圖所示的階梯波波形,設△t=1ms,△V=10mV,階梯波的級數N=10。
11.試述逐位比較法A/D轉換器的基本工作原理。
12.ADC0809與DAC0832的參考電壓在轉換中的作用有何不同?
13.參照圖8-21,使用8031內部定時器產生定時,每一秒採集一路模擬信號,試寫出對8路模擬信號順序採集一次的程序。
14.電路同上題,但只對通道0採集一次,設採集的模擬信號為0~600℃的溫度值(輸入信號0~5V的電壓值)。試將採集後的數據轉變成對應的溫度值,並存入以DARA為首址(在內部RAM中)的存儲單元中。
15.參照圖8-21,編程採集(軟體延時)通道0的輸入模擬量,連續採集5次,計算其平均值,若平均值大於80H,或小於20H,則從P1.2口線輸出「1」,否則,該口線輸出「0」。
16.參照圖8-21,採用查詢方式,編寫採集64次模擬量的程序段,採集的數據放入以R0為間接地址的內部數據存儲區。
17.利用D/A轉換器產生一正向增長的鋸齒波,要求周期為10ms(由軟體延時獲得),試編寫此程序段。
18.試畫出8031與一片DAC0832,一片ADC0809的連接電路,並編程採集通道7的模擬量,將其除2後,再通過0832轉換輸出。
19.為提高模/數轉換裝置的性能,通常可以採取哪些技術措施?
20.非同步串列通信和同步串列通信的主要區別是什麼?
21.簡述UART的主要功能。
22.試述UART在非同步串列通信方式下接收數據的字元同步過程。
23.簡述MCS-51串列口的外部特徵及內部主要組成。
24.試述MCS-51串列口在四種工作方式下的字元格式。
25.試述在串列口控制寄存器SCON中,TB8和RB8的作用以及它們在不同方式下的裝載過程。
26.試述串列口在四種工作方式下發送和接收數據的基本條件。
27.試述串列口四種工作方式波特率的產生方式。
28.試用查詢方式編寫一數據塊發送程序,數據塊首址為內部RAM的30H單元,其長度為20個位元組,設串列口工作於方式1,傳送的波特率為9600 bps(主頻為6MHz),不進行奇偶檢驗處理。
29.試用查詢方式編寫一程序:從串列口接收10H個字元,放入以2000H為首址的外部RAM區,串列口工作於方式1,波特率2400 bps(不採用子程序調用方式編寫此程序)。
30.試用中斷方式編寫一數據程序接收程序:接收區首址為內部RAM的20單元,接收的數據為ASCII碼,設串列口工作於方式1,波特率設定為1200bps,接收時對奇偶檢驗不作出錯處理,但需刪除。
第九章 8086簡介練習題
1.為什麼8086MPU要採用地址/數據分時復用,它有什麼好處?
2.用8086MPU組成微型計算機系統時,為什麼要用地址鎖存器和數據放大器,它們的主要功能是什麼?
3.描述一下8086微處理器是怎樣把一個位元組數送到奇地址及偶地址的存儲單元中去的,當要送一個字時,又是怎能樣進行的呢?
4.INC,DEC指令是加法和減法指令,但它們卻被8086設計師設計成不影響進位標志,為什麼?
5.8086MPU內部分成哪兩大部件,它們各自的組成和功能是什麼?
6.8086MPU的寄存器結構是怎樣的?為什麼採用使某些寄存器專用某些指令的結構?
7.堆棧的工作原理是什麼?試用一疊盤子體會一下放入和取出的操作。
8.8086MPU預取指令隊列有什麼好處?用例子簡述預取指令機構的工作情況。
9.試給出8086MPU執行完下列指令後,各種標志的狀態。
(1)MOV AX,2345H (2)MOV AX,5439H
ADD AX,3219H ADD AX,456AH
10.標志寄存器FLAG中包括幾個標志位?各位的狀態含義及用途如何?
11.8086系統中,存儲器的物理(實際)地址由哪兩部分組成?又是如何形成的?存儲器中的每一個段與寄存器之間有何對應要求?
12.試說明8086指令格式中MOD的含義。
13.設(BX)=637DH,(SI)=2A9BH,位移量=4237H,試確定這些寄存器和下列定址方式產生的有效地址:
(1)立即方式 (5)用BX的寄存器相對方式
(2)直接方式 (6)基址變址方式
(3)用BX的寄存器方式 (7)相對基址變址方式
(4)用BX的寄存器間接方式
14.指出下列各條指令中源操作數和目的操作數的定址方式
(1)OR AX,AX (2)MOV AH,0FFH
(3)ADD AX,[BX][DI] (4)IN AL,n
(5)JMP OPRD
15.設(IP)=2BC0H,(CS)=0200H,位移量=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,求使用下列定址方式的轉移地址:
(1)段內直接定址方式
(2)使用BX寄存器和寄存器定址方式的段內間接定址方式。
(3)使用BX寄存器和寄存器相對地址的段內間接定址方式。
16.參考8086指令格式,給出下列指令的機器語言代碼:
(1)BX的內容加到DX的內容上去,結果放在DX中。
(2)用BX寄存器和SI寄存器,通過基址變址定址方式將存儲器中的一個位元組加到(AL)上,然後把結果放到AL中。
(3)用寄存器BX和B2H以及寄存器相對定址把一個存儲單元的內容加到(CX)上去,然後把結果送回該存儲單元。
(4)用0524H和直接定址方式將2A59H加到一個存儲單元的內容上去,並把和數放回該存儲單元。
17.閱讀下列程序,然後回答問題:
BEGIN: IN AL,20H ADLP: ADD AL,BL
MOVF BL,AL ADC AH,0
IN AL,30H DEC CL
MOV CL,AL JNZ ADLP
MOV AX,0 HLP
本程序執行什麼操作?執行結果存放在什麼地方?
18.說明「AND AX,OPRD1 AND OPRD2」中兩個AND各自的作用是什麼?
19.若在數據段中已定義 LAB DB 30H,47H,86H…
試問(1)指令MOV AX,LAB 正確否?為什麼?
(2)如何對上述指令進行修改,使它正確?
20.指令語句「MOV BL,LAB」和指令語句「LEA BX,LAB」有何區別?
****因為格式問題,有些不完整,有電子郵箱嗎?我將原題發給你。
Ⅸ 《單片機原理及應用》這本書中的第七章串列口和第九章擴展IO介面有沒有聯系是不是必須先學第七章再學九
串口通信是學習大派單片機的一個基本技能要求,單片機間的通信應用很廣泛、且串口通信只是一個簡單通信,還有其他通信。擴展IO口也是必須的,這個學習沒有先後順序,沖仿滾如果用到你再去學相關的。人的精力有限,但是最基本的還是需要的,比如:IO輸入輸出,定時中斷外部中斷,數散余碼管動態掃描,按鍵,簡單的雙機通信。