單片機原理期末復習_第1頁
單片機原理期末復習_第2頁
單片機原理期末復習_第3頁
單片機原理期末復習_第4頁
單片機原理期末復習_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 MCS-51內(nèi)部結(jié)構(gòu) 1 MCS-51的引腳功能2 當前工作寄存器區(qū)的選擇 RS1 RS0 RS1 RS0 所選的所選的4 4組寄存器組寄存器 0 0 0 0 0 0區(qū)(內(nèi)部區(qū)(內(nèi)部RAMRAM地址地址00H00H07H07H) 0 1 1 0 1 1區(qū)(內(nèi)部區(qū)(內(nèi)部RAMRAM地址地址08H08H0FH0FH) 1 0 2 1 0 2區(qū)(內(nèi)部區(qū)(內(nèi)部RAMRAM地址地址10H10H17H17H) 1 1 3 1 1 3區(qū)(內(nèi)部區(qū)(內(nèi)部RAMRAM地址地址18H18H1FH1FH)3機器周期、指令周期與指令時序機器周期、指令周期與指令時序一、時鐘周期一、時鐘周期單片機的單片機的基本時間

2、單位基本時間單位。若時鐘的晶體的振蕩頻。若時鐘的晶體的振蕩頻率為率為foscfosc,則振蕩周期,則振蕩周期Tosc=1/foscTosc=1/fosc,時鐘周,時鐘周期期T=2ToscT=2Tosc; 例如例如:fosc=6MHzfosc=6MHz,Tosc=166.7nsTosc=166.7ns。二、機器周期二、機器周期CPUCPU完成一個基本操作所需的時間完成一個基本操作所需的時間稱為稱為機器周機器周期期。執(zhí)行一條指令分為幾個機器周期執(zhí)行一條指令分為幾個機器周期。每個機器周。每個機器周期完成一個基本操作。期完成一個基本操作。MCS-51MCS-51單片機每單片機每1212個個振蕩振蕩周期

3、為周期為1 1個個機器周期,機器周期,第三章 MCS-51單片機指令系統(tǒng)1. 指令系統(tǒng)的尋址方式指令系統(tǒng)的尋址方式尋址方式尋址方式就是在指令中就是在指令中說明操作數(shù)所在地址說明操作數(shù)所在地址的的方法。方法。共共7 7種種尋址方式。尋址方式。 1 1寄存器尋址方式寄存器尋址方式 操作數(shù)在寄存器中操作數(shù)在寄存器中 MOV AMOV A,Rn Rn ;(;(RnRn)AA,n=0n=07 7 表示把寄存器表示把寄存器RnRn的內(nèi)容傳送給累加器的內(nèi)容傳送給累加器A A 2 2直接尋址方式直接尋址方式 操作數(shù)直接以單元地址的形式給出:操作數(shù)直接以單元地址的形式給出: MOV AMOV A,40H40H

4、尋址范圍:尋址范圍: (1) (1) 內(nèi)部內(nèi)部RAMRAM的的128128個單元個單元(2) (2) 特殊功能寄存器。除了以單元地址的形式外特殊功能寄存器。除了以單元地址的形式外, ,還還可用寄存器符號可用寄存器符號的形式給出。例如:的形式給出。例如: MOV AMOV A,80H80H 與與 MOV AMOV A,P0P0是等價的是等價的。3. 3. 寄存器間接尋址方式寄存器間接尋址方式 寄存器中存放的是操作數(shù)的地址,寄存器中存放的是操作數(shù)的地址,在寄存器前加在寄存器前加前綴標志前綴標志“ ” 。訪問訪問內(nèi)部內(nèi)部RAMRAM或或外部外部RAMRAM的低的低256256個字節(jié)個字節(jié)時,時,只能

5、采只能采用用R0R0或或R1R1作為間址寄存器作為間址寄存器。例如:。例如: MOV AMOV A,RiRi ;i=0i=0或或1 1 其中其中RiRi中的內(nèi)容為中的內(nèi)容為40H40H,把內(nèi)部,把內(nèi)部RAM40HRAM40H單元內(nèi)容送單元內(nèi)容送A A。尋址范圍:尋址范圍:(1 1)訪問)訪問內(nèi)部內(nèi)部RAMRAM低低128128個個單元,其通用形式為單元,其通用形式為RiRi(2 2)對)對外部內(nèi)部外部內(nèi)部RAMRAM的的64K64K字節(jié)字節(jié)的間接尋址,例如:的間接尋址,例如: MOVX AMOVX A,DPTRDPTR(3(3)片外數(shù)據(jù)存儲器的低)片外數(shù)據(jù)存儲器的低256256字節(jié)字節(jié) 例如:

6、例如:MOVX AMOVX A,RiRi(4 4)堆棧區(qū))堆棧區(qū) 堆棧操作指令堆棧操作指令PUSHPUSH(壓棧)和(壓棧)和POPPOP(出棧)使(出棧)使用堆棧指針(用堆棧指針(SPSP)作間址寄存器)作間址寄存器4 4立即尋址方式立即尋址方式 操作數(shù)在指令中直接給出,需在操作數(shù)前面加操作數(shù)在指令中直接給出,需在操作數(shù)前面加前綴前綴 “# #”。例如:。例如: MOV AMOV A,#40H#40H 5 5基址寄存器加變址寄存器間址尋址方式基址寄存器加變址寄存器間址尋址方式 本尋址方式是以本尋址方式是以DPTRDPTR或或PCPC作基址寄存器,以累作基址寄存器,以累加器加器A A作為變址寄

7、存器。作為變址寄存器。6 6位尋址方式位尋址方式 MCS-51MCS-51有有位處理位處理功能,可以對數(shù)據(jù)位進行操作。功能,可以對數(shù)據(jù)位進行操作。 例如:例如: MOV CMOV C,40H40H 是把是把位位40H40H的值送到進位位的值送到進位位C C。尋址范圍包括:尋址范圍包括:(1 1)內(nèi)部)內(nèi)部RAMRAM中的位尋址區(qū)中的位尋址區(qū)。位有兩種表示方法位有兩種表示方法,例如,例如,40H40H;另一種是單元地址加上位,例如,;另一種是單元地址加上位,例如,(28H).0(28H).0,指的是,指的是28H28H單元中的最低位。它們是等單元中的最低位。它們是等價的。價的。(2 2)特殊功能

8、寄存器中的可尋址位特殊功能寄存器中的可尋址位 可尋址位可尋址位在指令中有如下在指令中有如下4 4種種的表示方法:的表示方法:a. a. 直接使用位地址直接使用位地址。例如。例如PSW.5PSW.5的位地址為的位地址為0D5H0D5H。b. b. 位名稱的表示位名稱的表示方法。例如:方法。例如:PSW.5PSW.5是是F0F0標志位,標志位,可使用可使用F0F0表示該位。表示該位。c.c.單元地址加位數(shù)單元地址加位數(shù)的表示方法。例如的表示方法。例如 :(0D0H).5:(0D0H).5。d.d.特殊功能寄存器符號加位數(shù)特殊功能寄存器符號加位數(shù)的表示方法。例如的表示方法。例如: :PSW.5PSW

9、.5。7 7相對尋址方式相對尋址方式 在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以以“relrel”表示,即把表示,即把PCPC的當前值加上偏移量就構(gòu)的當前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址:成了程序轉(zhuǎn)移的目的地址: 目的地址目的地址= =轉(zhuǎn)移指令所在的地址轉(zhuǎn)移指令所在的地址 + + 轉(zhuǎn)移指令的字轉(zhuǎn)移指令的字節(jié)數(shù)節(jié)數(shù)+ rel+ rel 偏移量偏移量relrel是一帶符號的是一帶符號的8 8位二進制數(shù)補碼數(shù)位二進制數(shù)補碼數(shù) 。范圍是:范圍是:128 - +127128 - +127 偽指令偽指令在在MCS-51 MCS-51 匯編語言源程序中應有向

10、匯編程序匯編語言源程序中應有向匯編程序發(fā)出的指示信息,告訴它如何完成匯編工作,發(fā)出的指示信息,告訴它如何完成匯編工作,這是通過使用偽指令來實現(xiàn)的。這是通過使用偽指令來實現(xiàn)的。也稱為匯編程序控制命令。只有在匯編前的源也稱為匯編程序控制命令。只有在匯編前的源程序中才有偽指令。經(jīng)過匯編得到目標程序程序中才有偽指令。經(jīng)過匯編得到目標程序(機器代碼)后,偽指令已無存在的必要,(機器代碼)后,偽指令已無存在的必要,所以所以“偽偽”體現(xiàn)在匯編時,體現(xiàn)在匯編時,偽指令沒有相應的偽指令沒有相應的機器代碼產(chǎn)生機器代碼產(chǎn)生。常用的偽指令常用的偽指令: 1.ORG1.ORG(ORiGinORiGin)匯編起始地址命令

11、)匯編起始地址命令 2. END(END of assembly) 2. END(END of assembly)匯編終止命令匯編終止命令 3 3DBDB(Define ByteDefine Byte)定義字節(jié)命令)定義字節(jié)命令 4 4DWDW(Define WordDefine Word)定義數(shù)據(jù)字命令)定義數(shù)據(jù)字命令 5 5EQUEQU(EQUateEQUate)賦值命令)賦值命令 6.DS 6.DS 定義空間命令定義空間命令 7. BIT 7. BIT 位地址符號命令位地址符號命令 第4章 MCS-51 匯編語言程序設計 1. 變量X存放在VAR單元中,函數(shù)值Y存放在FUNC單元中,試按

12、下式的要求給Y賦值,寫出匯編語言程序。100010XYXX ORG 1000H VAR DATA 30H FUNC DATA 31H MOV A, VAR ;XA JZ DONE ;若A=0,則轉(zhuǎn)到DONE JNB ACC.7 POSI;若A0,則轉(zhuǎn)到POSI MOV A, #0FFH; 若A0,則Y=-1 SJMP DONE POSI: MOV A, #01H DONE: MOV FUNC, A SJMP $ END給出80C51單片機產(chǎn)生三角波的匯編程序,假設起始地址為2000H。 ORG 2000H START: MOV R0,#0FEH UP: MOVXR0,A ;三角波上升邊 INC

13、 A JNZ UP DOWN: DEC A;A=0時再減1又為FFH JNZ DOWN SJMP UP第 5章 MCS-51中斷系統(tǒng)1 中斷源中斷源 入口地址入口地址 外部中斷外部中斷0 0 0003H0003H 定時器定時器/ /計數(shù)器計數(shù)器T0 T0 000BH000BH外部中斷外部中斷1 1 0013H0013H 定時器定時器/ /計數(shù)器計數(shù)器T1T1001BH001BH串行口中斷串行口中斷0023H0023H 2 外部中斷的觸發(fā)方式 電平觸發(fā) 和邊沿觸發(fā)假設允許外部中斷假設允許外部中斷0 0中斷,并設定它為高級中斷,中斷,并設定它為高級中斷,其它中斷源為低級中斷,采用跳沿觸發(fā)方式。其它

14、中斷源為低級中斷,采用跳沿觸發(fā)方式。在主程序中編寫如下程序段:在主程序中編寫如下程序段: SETB EA SETB EA ;CPUCPU開中斷開中斷 SETB EX0 SETB EX0 ;允許外中斷;允許外中斷0 0產(chǎn)生中斷產(chǎn)生中斷 SETB PX0 SETB PX0 ;外中斷;外中斷0 0為高級中斷為高級中斷 SETB IT0 SETB IT0 ;外中斷;外中斷0 0為跳沿觸發(fā)方式為跳沿觸發(fā)方式第6 章 MCS-51 定時器/計數(shù)器1.單片機復位時,兩個寄存器的所有位都被單片機復位時,兩個寄存器的所有位都被清清0 0。6.1.1 6.1.1 工作方式控制寄存器工作方式控制寄存器TMODTMO

15、D8 8位分為兩組,高位分為兩組,高4 4位控制位控制T1T1,低,低4 4位控制位控制T0T0。(1 1)GATEGATE門控位門控位 0 0:以以TRXTRX(X=0,1X=0,1)來啟動定時器)來啟動定時器/ /計數(shù)器運行。計數(shù)器運行。1 1:用外中斷引腳用外中斷引腳(INT0(INT0* *或或INT1INT1* *) )上的高電平和上的高電平和TRXTRX來啟動定時來啟動定時器器/ /計數(shù)器運行。計數(shù)器運行。(2 2)M1M1、M0M0工作方式選擇位工作方式選擇位 M1 M0 M1 M0 工工 作作 方方 式式 0 0 0 0 方式方式0 0,1313位定時器位定時器/ /計數(shù)器。計

16、數(shù)器。 0 1 0 1 方式方式1 1,1616位定時器位定時器/ /計數(shù)器。計數(shù)器。 1 0 1 0 方式方式2 2,8 8位常數(shù)自動重新裝載位常數(shù)自動重新裝載 1 1 1 1 方式方式3 3,僅適用于,僅適用于T0T0,T0T0分成兩個分成兩個8 8 位計數(shù)器,位計數(shù)器,T1T1停止計數(shù)。停止計數(shù)。 (3) C/T(3) C/T* *計數(shù)器模式和定時器模式選擇位計數(shù)器模式和定時器模式選擇位0 0:定時器模式。定時器模式。 1 1:計數(shù)器模式。計數(shù)器模式。2. 定時器/計數(shù)器初始化 MCS-51單片機采用12MHz晶振,定時2ms,用定時器方式0時的16進制初值應為多少? 根據(jù)公式 T=(T

17、M-TC)*12/fosc(us) (213-TC)12/fosc=2ms TC=8192-2000=6192=1830H第7章 MCS-51串口通信1. 1 1)SM0SM0、SM1SM1串行口串行口4種工作方式的選擇位種工作方式的選擇位 串行口的串行口的4 4種工作方式種工作方式SM0 SM1 SM0 SM1 方式方式 功功 能能 說說 明明 0 0 0 0 0 0 同步移位寄存器方式(用于擴展同步移位寄存器方式(用于擴展I/OI/O口)口) 0 1 0 1 1 1 8 8位異步收發(fā),波特率可變(由定時器控制)位異步收發(fā),波特率可變(由定時器控制) 1 0 1 0 2 2 9 9位異步收發(fā)

18、,波特率為位異步收發(fā),波特率為fosc/64fosc/64或或fosc/32fosc/32 1 1 1 1 3 3 9 9位異步收發(fā),波特率可變(由定時器控制)位異步收發(fā),波特率可變(由定時器控制)2. 波特率的定義波特率的定義波特率的波特率的定義定義。對于定時器的不同工作方式,波特率的范圍不一對于定時器的不同工作方式,波特率的范圍不一定時器定時器T1T1產(chǎn)生波特率的計算產(chǎn)生波特率的計算(1 1)方式方式0 0波特率波特率時鐘頻率時鐘頻率foscfosc1/121/12,不受,不受SMODSMOD位的值的影響。若位的值的影響。若fosc=12MHzfosc=12MHz,波特率為,波特率為fos

19、c/12fosc/12即即1Mb/s1Mb/s。(2 2)方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)foscfosc 若若fosc=12MHz: SMOD=0 fosc=12MHz: SMOD=0 波特率波特率=187.5kb/s=187.5kb/s; SMOD=1 SMOD=1 波特率波特率=375kb/s=375kb/s 3 3)方式方式1 1或或方式方式3 3時,波特率為:時,波特率為:波特率波特率= =(2 2SMODSMOD/64/64)T1T1的溢出率的溢出率實際設定波特率時,實際設定波特率時,T1T1常設置為常設置為方式方式2 2定時定時(自動(自動裝

20、初值)裝初值)這種方式不僅操作方便,也可避免因這種方式不僅操作方便,也可避免因軟件重裝初值而帶來的定時誤差。軟件重裝初值而帶來的定時誤差。綜合應用題 1 .利用74LS273擴展輸出口接8路發(fā)光二極管,按循環(huán)點亮方式輸出。并行口地址是8060H,晶振為12MHz。如下圖所示:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論