




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
總復習2/2/20231第1章微型計算機基礎知識
1.1微型計算機系統概述
1.2計算機中的數制與編碼
1.3計算機中數的表示與編碼2/2/20232微型計算機系統----硬件系統+軟件系統(操作系統和應用軟件等)一、微型計算機系統的組成圖1-2微型計算機系統的組成1.1微型計算機系統概述2/2/20233存儲器I/O接口輸入設備I/O接口地址總線AB輸出設備CPU數據總線DB控制總線CBI/O接口AB:AddressBus,DB:DataBus,CB:ControlBus1.中央處理單元二、微型計算機的硬件組成2/2/202342.存儲器存儲器是用來存放指令、數據、運算結果和各種需要保存信息的器件或設備。存儲器通常包括三類:
--用于存放當前正在執行的程序和數據的主存儲器(內存儲器);
--為解決CPU與主存儲器間的數據傳輸率差異而設計,以提高系統處理效率的高速緩沖存儲器;
--為增大計算機系統存儲容量而設置的磁盤存儲器和光盤存儲器(外存儲器)。存儲器的單位:KB/MB/GB,1個字節=8個二進制位。1KB=1024字節,1MB=1024KB,1GB=1024MBRAMROM2/2/202353.總線總線是微型計算機系統中各部件之間傳遞信息的信號線的集合。按總線的功能可分為:地址總線(AddressBus,AB)、數據總線(DataBus,DB)和控制總線(ControlBus,CB)。地址總線:傳送由CPU發出的地址信號,用于選擇要訪問部件的地址。地址總線是單向的,只能計算機向外送出。地址總線的數目決定可直接訪問的存儲單元的數目。2/2/202363.總線數據總線:用于計算機系統內部各部件,及與外部存儲器之間或與I/O接口之間傳送數據。數據總線是雙向的。數據總線的位數與CPU處理數據的字長一致??刂瓶偩€:傳送保證計算機同步和協調的定時和控制信號。對于一條具體的控制信號線來說,其傳送方向是單向的,但由不同方向的控制信號線組合的控制總線則是雙向的。(如讀/寫選通線、中斷請求線、中斷響應線等)2/2/20237第2章:51系列單片機的結構及原理
2.151系列單片機的結構原理2.2
51系列單片機的存儲器組織2.3
51系列單片機的輸入/輸出口2.4
51系列單片機的時鐘電路與時序2.551系列單片機的復位電路2.6低功耗工作方式與看門狗定時器2/2/202381.一個8位CPU;2.4KB片內程序存儲器;3.128個字節的片內數據存儲器;4.4個8bit并行I/O口P0~P3;5.2個16位定時器/計數器T0、T1;6.1個全雙工串行I/O接口,可多機通信。7.片內中斷處理系統:5個中斷源,2級中斷優先級;8.時鐘電路。
89C52的變化,8KFlashROM代替4kROM,RAM增加到256B,增加了一個16bit定時/計數器(T2)。2.1.151系列單片機的基本組成2/2/202391.中央處理單元CPU
CPU是單片機的控制指揮中心,由運算器和控制器兩大部分組成。一個8位CPU;(1)運算器:以算術/邏輯運算單元ALU為核心,由累加器ACC(簡稱A)、寄存器B和程序狀態字寄存器PSW等部件組成。主要完成:算術運算(加、減、乘、除等)、邏輯運算(與、或、異或)、位運算(位置“1”、置“0”和取反)和數據傳送等操作,運算結果的狀態由PSW保存。
2.1.251系列單片機的內部結構2/2/202310(2)控制器由程序計數器PC、指令譯碼器ID、指令寄存器IR、數據指針DPTR、堆棧指針SP
、緩沖器和定時控制電路等部件組成。主要任務是識別指令,產生相應的操作時序和控制信號,協調單片機各部分正常工作。
2.數據存儲器RAM
51系列單片機存儲器空間有程序存儲器和數據存儲器兩個獨立的空間,這種形式為哈佛結構(分別獨立編址)。
51系列單片機有128B的片內數據存儲器RAM、片外可擴展64KB;RAM用來存儲單片機運行期間的工作變量、運算中間結果、數據暫存和標志位等。2.1.251系列單片機的內部結構2/2/2023113.程序存儲器ROM51系列單片機有4KB可在系統編程的程序存儲器ROM,片外可擴展到64KB。8031無此部件。用來存儲程序。4.I/O接口51系列單片機有4個8位并行I/O接口:P0口、P1口、P2口和P3口。CPU通過內部總線對I/O接口中的寄存器進行讀寫。5.定時器/計數器
51系列單片機有2個16位定時器/計數器T0、T1(52子系列有3個),4種工作方式。6.串行口1個全雙工的異步串行I/O口,具有4種工作方式??蛇M行串行通信,擴展并行I/O口,還可與多個單片機構成多機系統。另外,還有中斷系統、時鐘電路。
2.1.251系列單片機的內部結構2/2/202312
40只引腳雙列直插封裝(DIP)44只引腳方形封裝方式(4只無用)2.1.351系列單片機引腳及功能
40只引腳按功能分為3類:(1)電源及時鐘引腳:
Vcc、Vss;XTAL1、XTAL2。4根(2)控制引腳:、
ALE、、RESET
(即RST)。4根
(3)輸入/輸出I/O口引腳:P0、P1、P2、P3,為4個8位I/O口引腳。
32根2/2/202313電源及時鐘引腳Vcc(+5V)電源輸入端電源引腳(2根)(1)Vcc,(第40引腳):電源端,接+5V電源。(2)Vss(第20引腳):接地引腳,有時標記為GND。Vss(GND)共用接地端2/2/202314電源及時鐘引腳1、當使用內部振蕩電路時,XTAL1(第19引腳)和XTAL2(第18引腳)分別用做晶體振蕩電路的反相器輸入端和輸出端。這兩個端子用來外接一個石英晶體或陶瓷振蕩器,構成一個自激振蕩器。常用的時鐘電路有兩種方式:內部時鐘方式和外部時鐘方式。2/2/202315單片機XTAL1XTAL21918C1C2電容C1、C2通常選20~30PF左右振蕩頻率1.2MHz~12MHz晶振內部時鐘方式電路C1、C2取值對振蕩頻率輸出大小、穩定性及振蕩電路的起振速度有一定的影響。通常外接一個晶振兩個電容內部時鐘方式2/2/202316CHMOS型2、當采用外部振蕩器時,可直接將外部振蕩脈沖接入XTALl或XTAL2。HMOS和CHMOS單片機外時鐘信號接入方式不同,如表所示。HMOS型外部時鐘方式2/2/2023172.控制引腳(4根)(1)RST/VPD(RESET,9腳)RST為復位信號輸入端,高電平有效;正常工作時,此腳電平應≤0.5V。VPD為內部RAM的備用電源輸入端。當主電源Vcc一旦發生斷電或電壓降到一定值時,可通過VPD為單片機內部RAM提供電源,以保護片內RAM中的信息不丟失,使單片機上電后能繼續正常運行。出現持續時間大于2個機器周期以上的高電平時,單片機復位注意:單片機復位后,程序計數器PC的內容為0000H(該單元存放一條跳轉指令,跳向主程序入口地址)。2/2/202318復位可分為上電復位、按鍵復位兩種方式。利用電容器的充放電,加給RST引腳一個短的高電平信號來實現的。為保證系統可靠復位,RST引腳上的高電平必須維持足夠長的時間。RST引腳上的高電平持續時間取決于電容C充電時間。通常時鐘頻率為6MHz時,C取22μF,R取1KΩ。上電復位電路按鍵復位的電路2/2/202319EA/VPP(31)PSEN(29)名稱功能片外ROM讀選通信號輸出引腳,輸出低電平有效。通過P0口讀回指令或常數。常與片外ROM的OE(輸出允許)引腳相連內外ROM選擇控制引腳/編程電壓EA=0時,選片外ROM;1,地址小于4k時,選片內ROM地址大于4k時,選片外ROMP0口是數據/地址復用口P0口傳輸數據信息P0口輸出地址信息鎖存地址ALE/PROG(30)地址鎖存允許信號輸出引腳/編程脈沖輸入端如8031芯片該引腳接地其他3個控制引腳為數據總線/低8位地址總線為高8位地址總線P0口P2口2/2/2023203.輸入/輸出引腳(32根)(1)P0口(P0.0~P0.7,第39~32引腳)作雙向I/O口使用或者作為低8位地址總線/數據總線分時復用。第一功能:是一個8位的雙向I/O口,這時P0口可看成用戶的數據總線;第二功能:當外擴存儲器及I/O接口芯片時,P0口作為低8位地址總線及數據總線的分時復用端口。在訪問外部存儲器時,先用做地址總線,再用做數據總線。2/2/202321(2)P1口(P1.0~P1.7,第1~8引腳):P1口的第一功能是作為準雙向I/O口使用。第二功能用戶可通過編程自定義。(3)P2口(P2.0~P2.7,第21~28引腳):P2口作為一般的準雙向I/O口使用或者高8位地址總線輸出引腳。第一功能:一個內部帶上拉電阻的8位準雙向I/O口。第二功能:當外擴存儲器或I/O接口芯片時,P2口作為高8位地址總線使用。和P0口一起組成16位片外存儲器的地址總線,可訪問64KB存儲空間。作為輸入口時,應先向該口寫入“1”2/2/202322(4)P3口(P3.0~P3.7,第10~17引腳):P3口一般作為準雙向I/O口使用或者第二功能引腳。P3口通常使用其第二功能。2/2/202323引腳第二功能符號第二功能描述P3.0(10)RxD串行通信數據接收引腳P3.1(11)TxD串行通信數據發送引腳P3.2(12)外部中斷0請求信號輸入引腳,低電平有效P3.3(13)外部中斷1請求信號輸入引腳,低電平有效P3.4(14)T0定時/計數器0外部計數脈沖輸入引腳P3.5(15)T1定時/計數器1外部計數脈沖輸入引腳P3.6(16)外部數據存儲器寫選通信號,低電平有效P3.7(17)外部數據存儲器讀選通信號,低電平有效P3口的第二功能
2/2/202324小結RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0RXDTXDINT0
INT1
T0
WRRDT1
XTAL2XTAL1VssVcc51系列40393837363534333231302928272625242322211234567891011121314151617181920P0口:I/O口或數據總線/低8位地址總線復用口P1口:I/O口P3口:I/O口或第2功能口P2口:I/O口
或高8位地址總線控制總線控制總線EA/VPPALE/PROGPSEN時鐘復位引腳40個引腳介紹完畢,應熟記每一引腳功能,對系統硬件電路設計十分重要!2/2/2023252.251系列單片機的存儲器組織2.2.1程序存儲器的地址空間
2.2.2數據存儲器的地址空間
2.2.3特殊功能寄存器簡介【重點與難點】重點是51系列單片機的存儲器的結構。難點是內部數據存儲器的結構及高128B數據存儲單元與SFR區域的區別與使用方法。字節地址和位地址的區別。2/2/2023262.251系列單片機的存儲器組織
51系列單片機的存儲器從物理位置看,有4個存儲器空間,即片內數據存儲器(簡稱片內RAM)、片內程序存儲器(片內ROM)、片外數據存儲器(片外RAM)和片外程序存儲器(片外ROM),如圖所示
。51系列單片機存儲器的物理位置
64KB64KBROM和RAM分別獨立編址128B4KB2/2/202327從尋址空間的角度來看,51系列單片機的存儲器空間又可分為3個部分,如圖所示。
2.251系列單片機的存儲器組織
程序存儲器內部數據存儲器外部數據存儲器
片內外獨立編址片內外統一編址64KB2/2/2023282.2.1程序存儲器CPU訪問片內和片外ROM,由引腳上的電平決定。
(a)ROM空間地址分布片內外統一編址的64KB程序存儲器空間,地址范圍0000H~0FFFFH。2/2/2023292.2.1程序存儲器(b)ROM低地址中斷入口單元
在程序存儲器的開始部分,定義了6個具有特殊功能的地址段,用作程序起始和各種中斷服務程序的入口地址。6個單元組的入口地址均存放一條無條件轉移指令。轉向主程序入口轉向中斷服務子程序入口2/2/202330
2.2.2數據存儲器52系列的高128BRAM區和特殊功能寄存器區SFR重疊。采用不同的尋址方式予以區分。(a)片內RAM和SFR空間分布(b)片外RAM空間單元直接或間接尋址2/2/202331
2.2.2數據存儲器
51系列單片機的數據存儲器RAM主要用來存放中間運算結果、數據暫存和緩沖、標志位等。AT89S51的片內RAM有128B,對應地址范圍是00H~7FH。AT89S52的片內RAM有256B,對應地址范圍是00H~FFH。片外最大擴展64KB,片內外獨立編址。地址范圍是0000H~FFFFH。片內/外RAM的低地址0000H~00FFH是重復的,通過不同的指令訪問以區分它們。從外部RAM讀數據MOVXA,@Ri
向片外RAM寫數據MOVX@Ri,A2/2/2023322.2.2數據存儲器—內部低128B1.通用工作寄存器區:共4組,每組8個寄存單元,32個單元,暫存運算數據和中間結果。字節地址為00H~1FH。2.位尋址區:字節地址為20H~2FH,既可作RAM,也可位操作。共有16個單元,共128位,位地址為00H~7FH。(字節尋址或位尋址)3.用戶RAM區:80個單元,地址為30H~7FH,只能字節尋址,在一般應用中常作堆棧區及數據緩沖區。2/2/202333(1)工作寄存器區工作寄存器也稱為通用寄存器,供用戶編程時使用,用于臨時存儲8位數據信息。工作寄存器地址為00H~1FH的32個單元,并分成4個工作寄存器組,每個組有8個工作寄存器,名稱為R0~R7。工作寄存器和RAM地址的對應關系如表所示。只能有一組工作寄存器被選為CPU的當前工作寄存器,通過改變程序狀態字寄存器(PSW)中的RS1、RS0兩位來實現。2/2/202334表2-3表2-4工作寄存器區位尋址區用戶RAM區字節地址位地址2/2/202335
2.2.3
特殊功能寄存器共21個單元,其中字節地址的末位是0H或8H可位尋址(11個)。
下面介紹SFR塊中的某些寄存器。2/2/202336
2.2.3
特殊功能寄存器(1)
累加器ACC(E0H8位)用于存放操作數或運算中間結果的8位專用寄存器,是CPU中使用最頻繁的寄存器,可寫為Acc。其物理地址為0E0H,也可使用ACC代表物理地址。對ACC可進行位尋址,通常用ACC.n(n=0~7)表示。(2)寄存器B(F0H8位)
與累加器A配合執行乘、除運算,并存放運算結果。在無乘除運算時,它可作為內部RAM的一個單元。如ACC中位地址三種表示形式:ACC.1~(E0H).1~E1H2/2/202337
2.2.3特殊功能寄存器PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CYACF0RS1RS0OVF1P(3)
程序狀態字PSW(D0H8位)PSW是可位尋址的8位寄存器,主要用于存儲當前指令執行后的程序狀態,供程序查詢和判斷。各位定義如下:進位標志位輔助進位標志位用戶自定義狀態標志位工作寄存器組選擇位溢出標志位奇偶校驗標志位2/2/202338
2.2.3特殊功能寄存器(4)堆棧指針SP。SP是8位專用寄存器,作為堆棧指針它始終指向堆棧的頂部。
51系列單片機的堆棧是為子程序調用和中斷操作而設,主要作用:保護斷點和現場保護。所謂堆棧是一個連續的數據存儲區域,其存取原則為“后進先出”,或“先進后出”。堆棧的操作有兩種:進棧和出棧。51系列單片機的堆棧是向上生成型(向地址增大的方向生成),進棧操作過程是SP先加1,然后數據壓入;出棧過程是SP指向的數據從中彈出,然后SP減1。
AT89S51單片機復位后,SP的內容為07H,此時堆棧實際上是從08H單元開始的,而08H~1FH是工作寄存器組區,所以,通常在片內數據存儲區的30H~7FH設置堆棧,一般在初始化時將SP設置成60H。2/2/202339
(5)數據指針DPTR。DPTR是16位專用地址指針寄存器,用來存放讀片外ROM或讀/寫片外RAM的16位地址。既可作為16位寄存器使用,也可作為兩個獨立的8位寄存器DPH和DPL來使用。其中DPH是DPTR的高8位,DPL是DPTR的低8位。對于AT89S51來說,DPTR就是DP0。
例如:當對片外RAM尋址時,DPTR可作為間接尋址寄存器使用:從外部數據存儲器取數MOVXA,@DPTR送數到外部數據存儲器MOVX@DPTR,A
2.2.3特殊功能寄存器2/2/202340(6)程序計數器PC(ProgramCounter)PC是16位的二進制計數器,專門用于存儲CPU要執行的下一條指令在ROM中的地址,控制程序的執行順序。PC沒有地址,是不可尋址的,用戶無法對它進行讀寫,但可以通過轉移、調用、返回等指令改變其值,以實現程序的轉移。單片機復位時,PC中內容為0000H,從0000H單元取轉移指令,轉到主程序開始執行。
2.2.3特殊功能寄存器2/2/202341注意事項1、訪問SFR寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使用寄存器單元地址。2、ROM與RAM片內外地址重疊,但不會產生操作混亂。因為它們由不同的操作指令和EA信號控制來自動區分重疊空間的。(指令MOVC專用訪問ROM,EA信號控制片內外ROM,指令MOVX專用訪問片外RAM)。3、片外RAM與I/O端口統一編址。所有外圍I/O端口的地址均占用RAM單元地址,使用與訪問外部RAM相同的傳送指令。(7)并行I/O口P0~P3均為8位,可實現數據在端口的輸入和輸出。分別是I/O端口P0~P3的鎖存器,可進行位尋址。所有訪問RAM單元的指令,都可用來訪問I/O端口。2/2/202342下圖為各類存儲器在存儲器空間的位置總結2/2/2023432.3.1P0口的工作原理及應用
2.3.2P1口的工作原理及應用
2.3.3P2口的工作原理及應用
2.3.4P3口的工作原理及應用【重點與難點】重點是四個I/O口的功能及應用方法。難點是四個I/O口的工作原理。
2.351系列單片機的輸入/輸出口2/2/20234451系列單片機有4個8位并行I/O端口P0~P3。每個端口都有8根I/O口線,每根線都能獨立的作為輸入或輸出。具有字節尋址和位尋址功能。
P0口是一個三態雙向I/O口,可作為地址/數據總線使用,也可作為通用I/O口使用??沈寗?個LS型TTL負載。(1)用作通用I/O口(當系統無外擴展存儲器時)
①用作輸出口。需要外接10KΩ上拉電阻。
②用作輸入口。有兩種讀入方式:“讀鎖存器”和“讀引腳”。當執行“讀引腳”指令前,需人為的在鎖存器中寫入“1”。(2)用作地址/數據總線(當系統外擴展存儲器時)
P0口作為地址/數據總線使用時是一個真正的雙向口,而作為通用I/O口使用時屬于準雙向口。2/2/202345P1口作為通用I/O使用,屬于準雙向口。作為輸出時,無需再接上拉電阻,每個引腳可驅動4個LSTTL門電路。作輸入口時,必須先向鎖存器寫“1”。P2口作為通用I/O或高8位地址總線使用。(1)作通用I/O口(當片外只擴展256BRAM且無外擴ROM時)特點同P1口(2)作高8位地址總線(當外擴RAM>256B或外擴ROM時)P2口中只有某幾根口線作地址使用時,剩下的口線不能作為通用I/O口線使用,可作為RAM或I/O口的片選信號;P3口(1)P3口用作第一功能(通用I/O口)特點同P1口(2)P3口第二功能P3口的某些口線作第二功能時,剩下的口線可以單獨作為通用I/O口線使用。2/2/2023462.4.1片內振蕩器及時鐘信號的產生
2.4.2時序及有關概念
2.4.3指令的取指令/執行時序
2.4.4訪問片外存儲器的操作時序【重點與難點】重點是時鐘電路的設計、時序有關的幾個概念及指令執行時序。難點是訪問片外存儲器的操作時序。
2.4時鐘電路與時序2/2/202347時鐘電路有兩種方式:內部時鐘方式和外部時鐘方式時鐘周期(節拍)、狀態、機器周期、指令周期時鐘周期:Tosc=1/fosc1個機器周期=6個狀態周期=12個時鐘周期1條指令周期=1、2、4個機器周期指令的取指/執行時序CPU執行任何一條指令都分為取指令和執行指令兩個階段。
ALE信號是用于鎖存地址的選通信號,由時鐘頻率的1/6。通常,在每個機器周期內ALE信號出現兩次,時刻為S1P2-S2P1和S4P2-S5P1。每出現一次ALE信號,CPU進行一次讀指令操作,但并不是每條指令在ALE信號生效時都能有效地讀取指令。
2.4時鐘電路與時序2/2/2023482.5.1復位與復位電路介紹
2.5.2單片機復位后的狀態【重點與難點】重點是復位電路和復位后各寄存器的初始狀態。難點是復位后各寄存器的初始狀態。
2.551系列單片機的復位電路
2/2/202349復位是一種操作,就是使CPU和系統中的其它部件都置為一個確定的初始狀態,并從這個初始狀態開始工作。
復位可以使死機狀態下的單片機重新啟動。
2.551系列單片機的復位電路
1.復位與復位電路
復位可分為上電復位、按鍵復位(外部復位)和內部復位。外部復位就是使RST端上保持2個機器周期以上的高電平,內部復位就是WDT產生的復位。
2/2/202350
2.551系列單片機的復位電路
上電復位和按鍵復位的電路
2.單片機復位后的狀態
單片機復位后,所有的內部SFR和一些引腳都被賦予默認值,SFR狀態如下表所示。ALE和PSEN引腳輸出高電平,即ALE==1,PC=0000H,單片機從起始地址0000H開始執行程序。晶振為6MHz2/2/202351寄存器復位狀態寄存器復位狀態PC0000HTH000HACC00HTL000HB00HTH100HPSW00HTL100HSP07HTH200HDP00000HTL200HDP10000HTMOD00HP0~P3FFHT2MOD00HSCON00HTCON00HIP×××0000BT2CON00HIE0×××0000BRCAP1H00HWDTRST××××××××BRCAP2H00HAUXR×××00××0BAUXR1×××××××0B表2-7復位后片內SFR的狀態2/2/202352第3章:指令系統和程序設計方法
3.1指令系統概述3.2尋址方式3.3數據傳送類指令3.4算術運算類指令
3.8匯編語言程序設計3.5邏輯運算類指令3.6位操作類指令3.7控制轉移類指令2/2/20235351系列單片機的指令系統有七種尋址方式:立即尋址:MOVA,#30H;(A)←30H直接尋址:MOVA,30H;(A)←(30H)寄存器尋址:MOVA,Rn;(A)←(Rn)間接尋址:MOVA,@Ri;(A)←((Ri))位尋址:SETBPSW.3;(PSW.3)←1
變址尋址:
MOVCA,@A+PC/MOVCA,@A+DPTR相對尋址:JZrel
2/2/202354片內RAM數據傳送類指令:
1.以累加器A為目的操作數的指令(4條)
MOVA,Rn;(A)←(Rn),(n=0~7) MOVA,direct;(A)←(direct) MOVA,@Ri;(A)←((Ri)),(i=0、1) MOVA,#data;(A)←data
2.以寄存器Rn為目的操作數的指令(3條)
MOVRn,A;(Rn)←(A),(n=0~7)MOVRn,direct;(Rn)←(direct),(n=0~7)
MOVRn,#data;(Rn)←data,(n=0~7)
4.以間接地址為目的操作數的指令(3條)
MOV@Ri,A;((Ri))←(A)MOV@Ri,direct;((Ri))←(direct)MOV@Ri,#data;((Ri))←data
3.3數據傳送類指令2/2/202355片內RAM數據傳送類指令:
3.以直接地址為目的操作數的指令(5條)
MOVdirect,A;(direct)←(A)MOVdirect,Rn;(direct)←(Rn),(n=0~7)MOVdirectl,direct2;(direct1)←(direct2)MOVdirect,@Ri;(direct)←((Ri)),(i=0、1)MOVdirect,#data;(direct)←data5.十六位數據的傳遞指令(1條)
MOVDPTR,#data16;(DPTR)←data16
指令功能:將16位立即數送入DPTR,高8位送入DPH,低8位送入DPL。2/2/202356訪問外部RAM數據傳送指令:
MOVXA,@Ri;(A)←((Ri))讀操作MOVX@Ri,A;((Ri))←(A)寫操作MOVXA,@DPTR;(A)←((DPTR))讀MOVX@DPTR,A;((DPTR))←(A)寫程序存儲器向A傳送數據指令:共有2條,又稱為查表指令屬于變址尋址指令,用于從ROM中查找數據。指令的格式為:MOVCA,@A十DPTR;(A)←((A)十(DPTR))MOVCA,@A十PC;(PC)←(PC)十1,(A)←((A)十(PC))2/2/202357堆棧操作指令:
共有2條,對應進棧和出棧兩種操作指令的格式為:PUSHdirect;(SP)←(SP)+1,(SP)←(direct)POPdirect;(direct)←(SP),(SP)←(SP)-1堆棧操作特點是“先進后出”主要作用是保護斷點和恢復現場。數據交換指令1.字節交換指令(XCH,Exchange
3條)
XCHA,Rn;(A)←→(Rn)XCHA,@Ri;(A)←→((Ri))XCHA,direct;(A)←→(direct)2.半字節交換指令(1條)
XCHDA,@Ri;(A)3~0←→((Ri))3~03.累加器A高低半字節交換指令(1條)
SWAPA;(A)7~4←→(A)3~0
2/2/202358算術運算類指令:共有24條,包括加、減、乘、除4種基本算術運算指令,運算的結果將使PSW的相應標志位置1或清0。
加法指令1.不帶進位位的加法指令(ADD,Addition4條)
ADDA,Rn ;(A)←(A)+(Rn) ADDA,direct ;(A)←(A)+(direct) ADDA,@Ri;(A)←(A)+((Ri)) ADDA,#data;(A)←(A)+#data
3.4算術運算類指令2/2/202359使用加法指令時,運算結果對PSW中各標志位的影響:(1)如果位7有進位,則進位標志Cy置1,否則Cy清0。(2)如果位3有進位,輔助進位標志Ac置1,否則Ac清0。(3)如果位6有進位,而位7沒有進位,或者位7有進位,而位6沒有進位,則溢出標志位OV置1,否則OV清0。2.帶進位加法指令(ADDC,4條)ADDCA,Rn;(A)←(A)+(Rn)+(CY)ADDCA,direct;(A)←(A)+(direct)+(CY)ADDCA,@Ri;(A)←(A)+((Ri))+(CY)ADDCA,#data;(A)←(A)+data+(CY)說明:指令運行對于標志位的影響與不帶進位加法指令相同。
帶進位加法指令ADDC常用于完成“多字節運算”2/2/2023603.增量指令(INC,Increase5條)INC A ;(A)←(A)+1影響PINC Rn ;(Rn)←(Rn)+1INC direct;(direct)←(direct)+1INC @Ri ;((Ri))←((Ri))+1INC DPTR ;(DPTR)←(DPTR)+14.十進制調整指令(DecimalAdjustforAddition
1條)DAA注意:(1)這條指令必須緊跟在ADD或ADDC指令之后,對加法指令的結果進行調整,且這里的ADD或ADDC的操作是對壓縮的BCD碼表示的數進行運算。(2)DA指令不影響溢出標志。2/2/2023611.帶借位減法指令(SUBB,SubtractwithBorrow4條)SUBBA,#data;(A)←(A)-data-CySUBBA,Rn;(A)←(A)-(Rn)-CySUBBA,direct;(A)←(A)-(direct)-CySUBBA,@Ri;(A)←(A)-((Ri))-Cy2.減1指令(DEC,
Decrease4條)DECA;(A)←(A)-1DECRn;(Rn)←(Rn)-1DECdirect;(direct)←(direct)-1DEC@Ri;((Ri))←((Ri))-1對標志位的影響和ADD相同。2/2/202362
功能:A和B中數相乘,乘積的低8位存于A中,高8位存于B中。指令執行后對PSW的影響如下: (1)若乘積大于255,OV=1;否則OV=0; (2)Cy總是為“0”。P受累加器A中的內容影響。乘法指令(MUL,Multiplication) MUL AB;(B)(A)←(A)×(B)功能:A中的數除以B中數,商放在A中,余數放在B中。指令執行對PSW的影響如下:(1)Cy、OV,均清“0”(2)若(B)=0(即除數為0時),則存放結果的A、B中的內容不定,則溢出標志位OV置1。P隨累加器A中的內容變化。
除法指令(DIV,Division)DIVAB;(A)←(A/B)的商,(B)←(A/B)的余數)2/2/202363
邏輯運算指令共24條,涉及累加器A時,影響P,但對AC、OV及CY沒有影響。1.累加器清“0”(CLR,Clear1條) CLRA;(A)←02.累加器按位取反指令(CPL,Complment1條) CPLA;(A)←(/A)3.循環移位指令(4條)RLA;將A的內容循環左移1位RRA;循環右移1
RLCA;帶Cy循環左移1RRCA;帶Cy循環右移1位3.5邏輯運算類指令2/2/202364
1.邏輯“與”操作指令(6條)具有對某位清0的作用ANL A,Rn ;(A)←
(A)∧(Rn)ANL A,direct ;(A)←
(A)∧(direct)ANL A,@Ri ;(A)←
(A)∧((Ri))ANL A,#data ;(A)←
(A)∧dataANL direct,A ;(direct)←
(direct)∧(A)ANLdirect,#data;(direct)←(direct)∧data2.邏輯“或”操作指令(6條)具有對某位置1的作用ORL A,Rn ;(A)←
(A)∨(Rn)ORL A,direct ;(A)←
(A)∨(direct)ORL A,@Ri ;(A)←
(A)∨((Ri))ORL A,#data ;(A)←
(A)∨dataORL direct,A ;(direct)←
(direct)∨(A)ORL direct,#data;(direct)←
(direct)∨data2/2/202365
3.邏輯異或指令(6條)對某些位進行取反,其它位保持不變的作用;與“1”相異或對相應位取反;與“0”相“異或”則保留相應位不變。XRL A,Rn ;XRL A,direct ;XRL A,@Ri ;XRL A,#data ;XRL direct,A ;XRL direct,#data;
位變量傳送指令有互逆的2條,可實現進位位C與某直接尋址位bit間內容的傳送。MOV C,bit ;(CY)←
(bit)MOV bit,C ;(bit)←
(CY)2/2/202366位變量邏輯操作指令:位變量邏輯“與”和邏輯“或”,共有4條指令。
ANLC,bit ;(Cy)←(Cy)∧(bit)ANLC,/bit ;(Cy)←(Cy)∧(/bit)ORLC,bit ;(Cy)←(Cy)∨(bit)ORLC,/bit ;(Cy)←(Cy)∨(/bit)注意:位變量邏輯運算中無邏輯異或(XRL)。CPLbit;SETBC;SETBbit;
CLRC;CLRbit;CPLC;位變量修改指令分別是對位進行清0、置1和取反指令。2/2/2023673.7控制轉移類指令
轉移類指令的共同特點是可以改變程序執行的順序,使CPU轉移到另一處執行程序,或者是繼續順序地執行程序。無論是哪一類指令,執行后都將改變程序計數器PC的值。
轉移類指令分為四類:無條件轉移、條件轉移、調用指令及返回指令,共計有21條指令,另外還有一條NOP指令。除NOP指令執行時間為一個機器周期外,其它轉移指令的執行時間都是兩個機器周期。2/2/2023683.7.3調用與返回指令3.返回指令(2條)(1)子程序的返回 RET;PC15~PC8←(SP),(SP)←(SP)-1 ;PC7~PC0←(SP),(SP)←(SP)-1
功能:RET(Return)指令從堆棧中取出16位斷點地址送回PC,使子程序返回主程序。(2)中斷返回指令 RETI;PC15~PC8←(SP),(SP)←(SP)-1 ;PC7~PC0←(SP),(SP)←(SP)-1
功能:RETI(ReturnforInterrupt)將堆棧頂部2字節的內容送到PC中,該指令用于中斷服務程序的末尾。與RET指令不同之處,RET1指令清除了中斷響應時被置1的相關內部寄存器的狀態。2/2/2023691.ORG(ORiGin)匯編起始地址命令格式:ORG16位絕對地址或表達式功能:規定程序塊或數據塊存放的起始地址。例如:ORG2000HSTART:MOVA,#00H ┋規定標號START代表地址為2000H開始。在一個源程序中,可多次使用ORG指令,來規定不同的程序段的起始地址。但是,地址必須由小到大排列,地址不能交叉、重疊。如程序段前無ORG偽指令,則匯編得到的目標程序將從0000H開始。
1.匯編起始地址例如: ORG2000H ┇ORG2500H ┇ORG3000H ┇錯誤:ORG 2500H┇
ORG 2000H┇
ORG 3000H
┇
2/2/202370END(ENDofassembly)匯編終止命令格式:END功能:匯編語言源程序的結束標志,用于終止源程序的匯編工作。在整個源程序中只能有一條END命令,且位于程序的最后。如果END出現在程序中間,其后的源程序,將不進行匯編處理。2.匯編結束命令
2/2/202371格式:[標號:]DB8位字節數據表功能:用于從指定的地址開始,在程序存儲器連續單元中定義字節數據。常用于存放數據表格。說明:字節數據可以是1個字節的常數或字符,或用逗號分開的字符串,或用引號括起來的字符串。例如:ORG 2001HDB 40H,24,“C”,“B”;匯編后(2001H)=40H(2002H)=18H(十進制數24)(2003H)=43H(字符“C”的ASCII碼)(2004H)=42H(字符“B”的ASCII碼)顯然,DB功能是從指定單元開始定義(存儲)若干字節,十進制數自然轉換成十六進制數,字母按ASCII碼存儲。3.定義字節命令2/2/202372第4章:中斷系統
4.1中斷系統概述4.251系列單片機的中斷系統4.3
中斷處理過程4.4中斷系統應用2/2/2023734.1中斷系統概述引起中斷的原因稱為中斷源。中斷源提出的服務請求稱為中斷請求。原來正在運行的程序稱為主程序,主程序被斷開的位置(地址)稱為斷點。中斷處理包括4個步驟:中斷請求、中斷響應、中斷處理和中斷返回。CPU響應中斷請求時,將先把斷點處的PC值壓入堆棧保存起來,這個過程稱為保護斷點。(恢復斷點:執行RETI指令)在中斷服務程序開始,由用戶把相關寄存器和標志位的狀態也壓入堆棧保存起來,這稱為保護現場。(恢復現場)2/2/2023744.251系列單片機的中斷系統2/2/202375中斷控制(1)定時器控制寄存器TCON(2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 3894.2-2020工程建設項目遠程開標工作規范第2部分:運行管理
- DB32/T 3761.65-2022新型冠狀病毒肺炎疫情防控技術規范第65部分:接觸者追蹤管理信息系統
- DB32/T 3734-2020旅游信息分類與編碼
- DB32/T 3668-2019凹凸棒石粘土礦分級規范
- DB32/T 3658-2019蕎麥生產技術規程
- DB32/T 3571-2019水稻全程機械化生產技術規范
- DB32/T 1967-2021迷你南瓜春播早熟生產技術規程
- DB31/T 942.1-2015節能消費領跑者評價方法(生產企業)第1部分:家用空調器生產企業
- DB31/T 715-2013汽車玻璃用膜安全節能技術要求
- DB31/T 688-2013建筑工程施工質量安全風險管理規范
- GB/T 8813-2008硬質泡沫塑料壓縮性能的測定
- 中小學學習《民法典》主題班會精品模板ppt
- 國開經濟學(本)1-14章練習試題及答案
- 《企業銷售費用控制研究(論文)8600字》
- 二0二三年度六年級上冊Module1《多維閱讀》第八級DifferentPlants教學設計
- 公司網銀盾交接單
- JT∕T 784-2022 組合結構橋梁用波形鋼腹板
- 汽車客運有限公司成本費用管理規定
- 緩刑期滿個人總結
- 市政道路中線測量內容及計算方法
- 南瓜種植PPT演示課件(PPT 46頁)
評論
0/150
提交評論