




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機原理及應用電子課件第一頁,共四百六十三頁,2022年,8月28日第1章單片機概述本章重點:1、什么是單片機
2、單片機的分類及特點
3、什么是嵌入式系統(tǒng)第二頁,共四百六十三頁,2022年,8月28日1.1單片機概況1.1.1什么是單片機
單片機
是單片微型計算機的簡稱。將計算機的CPU、RAM、ROM、定時/計數器和多種I/O接口集成在一片芯片上,形成了芯片級的計算機。單片機早期的含義稱為單片微型計算機(singlechipmicrocomputer),直譯為單片機。
準確反映單片機本質的叫法應該是微控制器-MicroControllerUnit(MCU)或MicroProcesserUnit(MPU)
單片機也稱為嵌入式微處理器(EmbeddedMicroProcesser)或嵌入式微控制器(EmbeddedMicroController)第三頁,共四百六十三頁,2022年,8月28日1.1.2單片機的發(fā)展簡史及未來初級階段:1974-1978年。代表芯片Intel公司的MCS-48系列,Motorola公司的6801系列和Zilog公司的Z8系列。高性能階段:1978-1983年。代表芯片Intel公司的MCS-51系列。8位單片機鞏固提高階段:1983年-現今。這一階段一方面不斷完善8位單片機,另一方面發(fā)展16位、32位機。第四頁,共四百六十三頁,2022年,8月28日單片機的發(fā)展趨勢:8位機是主流,未來是8位機與32位機共同發(fā)展的時代。單片機從結構功能上的發(fā)展趨勢:1、大容量高性能化2、小容量低價格化3、外圍電路內裝化4、RISC結構取代CISC結構第五頁,共四百六十三頁,2022年,8月28日1.1.3單片機的分類及特點1、分類(1)按指令集分類復雜指令集(CISC)結構-普林斯頓結構精簡指令集(RISC)結構-哈佛結構(2)按半導體工藝分高密度短溝道MOS工藝-HMOS
互補金屬氧化物HMOS工藝-CHMOS(3)按片內程序存儲器類型分無ROM型、QTP型、EPROM型、OTP型和Flash型(4)按字長分
1位、4位、8位、16位、32位、64位第六頁,共四百六十三頁,2022年,8月28日2、單片機的特點(1)優(yōu)異的性價比(2)集成度高、體積小、可靠性高(3)控制功能強(4)低電壓、低功耗第七頁,共四百六十三頁,2022年,8月28日1.1.4單片機的應用1、在智能儀器儀表中的應用2、在工業(yè)方面的應用3、在電信中的應用4、在軍用導航方面的應用5、在日常生活中的應用6、在其它方面的應用第八頁,共四百六十三頁,2022年,8月28日1.2常用8位系列單片機簡介1.2.1Intel公司8位系列單片機第九頁,共四百六十三頁,2022年,8月28日89系列單片機1、AT89系列(美國Atmel公司)第十頁,共四百六十三頁,2022年,8月28日2、P89系列(Philiips公司)特點:12/6時鐘模式,支持ISP第十一頁,共四百六十三頁,2022年,8月28日1.2.3W78E51系列(臺灣華邦公司)第十二頁,共四百六十三頁,2022年,8月28日1.2.4M68HC08系列(Motorola公司)Motorola公司單片機命名方法指令系統(tǒng)與MCS-51不同第十三頁,共四百六十三頁,2022年,8月28日1.2.5PIC系列(美國Microchip公司)第十四頁,共四百六十三頁,2022年,8月28日第十五頁,共四百六十三頁,2022年,8月28日1.3單片機與嵌入式系統(tǒng)簡介1.3.1什么是嵌入式系統(tǒng)
嵌入式系統(tǒng)就是將計算機系統(tǒng)按特定的要求嵌入到實際應用系統(tǒng)中。
嵌入式系統(tǒng)一般是指非PC機系統(tǒng),它由硬件和軟件兩大部分組成。硬件包括微處理器MCU、存儲器、I/O端口及外設、圖形控制器等;軟件包括操作系統(tǒng)(OS或實時多任務操作系統(tǒng))、應用程序系統(tǒng)、或稱監(jiān)控程序系統(tǒng)等。第十六頁,共四百六十三頁,2022年,8月28日1.3.2嵌入式計算機系統(tǒng)與通用型計算機的特點
1.嵌入式系統(tǒng)是面向特定的應用
2.嵌入式系統(tǒng)是知識集成系統(tǒng)
3.嵌入式系統(tǒng)的硬、軟件必須具有高效率
4.嵌入式系統(tǒng)和實際應用有機地結合在一起5.嵌入式系統(tǒng)的軟件固化于內部存儲器中
6.嵌入式系統(tǒng)本身無自舉開發(fā)能力
第十七頁,共四百六十三頁,2022年,8月28日1.3.3
嵌入式系統(tǒng)的發(fā)展趨勢
1.嵌入式系統(tǒng)應用軟件的開發(fā)需要強大的開發(fā)工具和操作系統(tǒng)的支持
2.聯網成為發(fā)展的必然趨勢3.支持小型電子設備實現小尺寸、微功耗和低成本
4.應能提供精巧的多媒體人機界面
第十八頁,共四百六十三頁,2022年,8月28日1.4常用單片機開發(fā)工具1.4.1Keil51集成開發(fā)環(huán)境目前常用版本μVision3V3.31。特點:1、集成開發(fā)環(huán)境,源程序編輯、編譯、鏈接、調試均在集成環(huán)境下2、支持多種處理器(包括ARM)3、支持C語言和匯編語言4、支持源程序調試5、支持硬件仿真器6、支持軟件仿真器第十九頁,共四百六十三頁,2022年,8月28日Keil軟件的啟動畫面第二十頁,共四百六十三頁,2022年,8月28日利用Keil集成開發(fā)環(huán)境調試程序第二十一頁,共四百六十三頁,2022年,8月28日1.4.2Proteus仿真軟件目前版本V7.2SP1,用的較多的版本是V6.7SP3和V7.12
特點:
1、可以實現單片機、接口芯片的電路仿真,非常適用于教學和產品開發(fā)的前期階段。
2、與Mutsim/EWB功能相當,但比其小巧,V6.7SP3壓縮包僅18.5M。并且可以實現多種單片機(MCS-51、PIC系列、ARM系列)的仿真和程序調試。
3、對計算機的硬件要求非常低(賽揚2.0256M內存)第二十二頁,共四百六十三頁,2022年,8月28日利用Proteus軟件在進行數字電壓表的調試和仿真第二十三頁,共四百六十三頁,2022年,8月28日1.4.3有關網站和參考書電子開發(fā)網:單片機開發(fā)工具網:力源信息:成都力源單片機技術有限公司:周立功單片機:Proteus仿真社區(qū):參考書:《單片機原理及應用》萬文略主編重慶大學出版社《單片機原理及接口技術》李朝青編著北京航空航天大學出版社《Proteus入門實用教程
》周潤景張麗娜劉印群編著機械工業(yè)出版社第二十四頁,共四百六十三頁,2022年,8月28日小結
單片機,是單片微型計算機的簡稱。將計算機的CPU、RAM、ROM、定時/計數器和多種I/O接口集成在一片芯片上,形成了芯片級的計算機。
嵌入式系統(tǒng)就是將計算機系統(tǒng)按特定的要求嵌入到實際應用系統(tǒng)中。嵌入式系統(tǒng)一般是指非PC機系統(tǒng),它由硬件和軟件兩大部分組成。第二十五頁,共四百六十三頁,2022年,8月28日作業(yè)教材:P171-1,1-4,1-61-1、什么叫單片機?它有哪些特點?1-4、單片機主要應用在哪些方面?1-6、什么叫嵌入式系統(tǒng)?它與單片機的關系如何?
第二十六頁,共四百六十三頁,2022年,8月28日第二章單片機內部結構及原理本章要點MCS-51/52系列CPU內部結構特點MCS-51/52系列單片機存儲器的結構MCS-51/52系列單片機I/O端口結構及驅動能力,使用時的注意事項MCS-51/52系列單片機存儲器空間結構及位尋址空間
第二十七頁,共四百六十三頁,2022年,8月28日2.1Intel公司的MCS-51/52系列單片機內部結構原理2.1.1MCS-51/52系列單片機CPU的結構MCS-51/52系列單片機內部由一個8位CPU、128/256B數據存儲器、程序存儲器、2/3個16位定時器、4個8位的可編程I/O端口和可編程全雙工UART串行口等組成。第二十八頁,共四百六十三頁,2022年,8月28日1.控制器
控制器由程序計數器(PC,16位)、指令寄存器(IR,8位)、指令譯碼器(ID)、定時控制與條件轉移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過定時控制電路,在規(guī)定的時刻發(fā)出各種操作所需的全部內部和外部的控制信號,使各部分協調工作,完成指令所規(guī)定的功能。第二十九頁,共四百六十三頁,2022年,8月28日2.運算器
運算器由算術邏輯單元ALU、累加器ACC、暫存器、程序狀態(tài)字寄存器PSW、BCD碼運算調整電路等組成。
(1)累加器ACCACC是一個8位的寄存器,簡稱為A,它通過暫存器與ALU相連。它是CPU執(zhí)行指令時使用最頻繁的寄存器,用來存一個操作數或中間結果。第三十頁,共四百六十三頁,2022年,8月28日(2)算術邏輯單元ALUALU是由加法器和其它邏輯電路等組成的,它用于對數據進行算術四則運算和邏輯運算、移位操作、位操作等功能。ALU的兩個操作數,一個由A通過暫存器2輸入,另一個由暫存器1輸入,運算結果的狀態(tài)送PSW。
(3)程序狀態(tài)字寄存器PSWPSW是一個8位的專用寄存器,用于存程序運行中的各種狀態(tài)信息。它可以進行位尋址。PSW各位的定義如下:
D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVF1P
PSW位地址字節(jié)地址D0H第三十一頁,共四百六十三頁,2022年,8月28日?CY(PSW.7):進位標志,在進行加或減運算時,如果操作結果最高位有進位或借時,CY由硬件置“1”,否則清“0”。在進行位操作時,CY又可以被認為是位累加器,它的作用相當于CPU中的累加器A。
?AC(PSW.6):輔助進位標志(又稱半進位),在進行加或減運算時,低四位數向高四位產生的進位或借位,將由硬件置“1”,否則清“0”。AC位可用于BCD碼調整時的判斷位。
?F0(PSW.5):用戶標志位,由用戶置位或復位。它可作為用戶自行定義的一個狀態(tài)標記。
?RS1RS0(PSW.4PSW.3):工作寄存器組指針,用以選擇CPU當前工作的寄存器組。第三十二頁,共四百六十三頁,2022年,8月28日RS1RS0與工作寄存器組的對應關系第三十三頁,共四百六十三頁,2022年,8月28日
?OV(PSW.2):溢出標志,當進行算術運算時,如果產生溢出,則由硬件將OV位置1,否則清“0”。當執(zhí)行有符號數的加法指令ADD或減法指令SUBB時,當D6位有向D7位的進位或借位時D6CY=1時,而D7位沒有向CY位的進位或借位D7CY=0時,則OV=1或D6CY=0,D7CY=1則OV=1所以溢出的邏輯表達式為:OV=D6CY⊕D7CY
?F1(PSW.1):用戶標志位,同F0。
?P(PSW.0):奇偶標志位,該位始終跟蹤累加器A內容中“1”的奇偶性。當累加器A內容中有奇數個“1”時,P置1;否則,P置“0”。改變累加器A中內容的指令均會影響P標志位。
第三十四頁,共四百六十三頁,2022年,8月28日2.1.2MCS-51/52單片機存儲器結構1.MCS-51/52單片機存儲器劃分方法第三十五頁,共四百六十三頁,2022年,8月28日2.程序存儲器
MCS-51/52單片機的程序存儲器一般用于存放編好的程序、表格和常數。8051片內有4KB的ROM,8751片內有4KB的EPROM,8031片內無程序存儲器,8052片內有8KB的ROM,8752片內有8KB的EPROM,8032片內無程序存儲器。當EA=1時,PC在0~0FFFH范圍內執(zhí)行片內ROM中的程序;PC在1000H~0FFFFH范圍內執(zhí)行片外ROM中的程序。當EA=0時,PC在0~0FFFFH,64k范圍內執(zhí)行片外ROM中的程序。MCS-51/52單片機的程序存儲器中有7個特殊地址單元。
0000H:MCS-51/52單片機復位后PC=0000H,即程序從0000H開始執(zhí)行指令。
0003H:外部中斷0入口地址
000BH:定時器0溢出中斷入口地址
0013H:外部中斷1入口地址
001BH:定時器1溢出中斷入口地址
0023H:串行口中斷入口地址
002BH:定時器2溢出,T2EX(P1.1)端負跳變時的入口地址(僅對52子系列單片機所具有)。第三十六頁,共四百六十三頁,2022年,8月28日3.數據存儲器數據存儲器用于存放運算中間結果、數據暫存和緩沖、標志位、待調試的程序等。數據存儲器在物理上和邏輯上都分為兩個地址空間:一個是片內128/256字節(jié)的RAM,另一個是片外最大可擴充64K字節(jié)的RAM。訪問片內RAM使用MOV指令,訪問片外RAM使用MOVX指令。對片外RAM只能采用間接尋址方式,用R0、R1和DPTR作為間址寄存器;前兩者是低8位地址指針,尋址范圍為256B,而DPTR是16位地址指針,故尋址范圍可達64K字節(jié)。片內數據存儲器在物理上又可分為二個不同的區(qū):第三十七頁,共四百六十三頁,2022年,8月28日
(1)00H~7FH(0~127)單元組成低128字節(jié)的片內RAM區(qū),對其訪問可采用直接尋址或間接尋址的方式。其中:0~1FH共32個單元分為4組,每組8個單元組成工作寄存器R0~R7;20H~2FH共16個字節(jié)、128個位的地址為00~7FH;30H~7FH共80個單元,為用戶RAM區(qū),做為堆棧或數據緩沖。
第三十八頁,共四百六十三頁,2022年,8月28日
(2)80H~FFH(128~256)單元組成高128字節(jié)的專用寄存器(SFR)區(qū),只能采用直接尋址方式來訪問。
(3)MCS-52子系列中的片內RAM增大了128字節(jié),其地址范圍也是從80H~FFH;為了與SFR區(qū)分,對此段的范圍只能采用間接尋址方式來訪問。第三十九頁,共四百六十三頁,2022年,8月28日4.專用寄存器SFRMCS-51/52中共有23個專用寄存器SFR(又稱特殊功能寄存器),其中3個僅52子系列單片機所擁有,5個是雙字節(jié)寄存器,11個具有位尋址能力(特點:字節(jié)地址可以被8整除),這些專用寄存器離散地分布在片內RAM的高128字節(jié)地址中。專用寄存器并未占滿80H~FFH整個地址空間,對空閑地址的操作是無意義的。若訪問到空閑地址,則讀入的是隨機數。第四十頁,共四百六十三頁,2022年,8月28日單片機特殊功能寄存器SFR第四十一頁,共四百六十三頁,2022年,8月28日注意:系統(tǒng)復位后,(SP)=07H,P0~P3為0FFH,SBUF內容不定,IP、IE、PCON部分位的值不確定外,其余寄存器內容均為0.第四十二頁,共四百六十三頁,2022年,8月28日2.1.3MCS-51/52系列單片機引腳及功能
下面分別說明各主要引腳的功能:
1.主電源引腳Vss和VccVss(20腳):接地
Vcc(40腳):主電源+5V,正常操作和對EPROM編程及驗證時均接+5V電源。
2.外接晶振引腳XTAL1和XTAL2XTAL1(19腳)和XTAL2(18腳):接外部晶振的兩個引腳。
第四十三頁,共四百六十三頁,2022年,8月28日3.控制信號引腳
RST/VPD(9腳):單片機復位/備用電源引腳。
ALE/PROG(30腳):當訪問片外存儲器時,ALE(地址鎖存允許)的輸出用于鎖存低字節(jié)地址信號。當CPU不訪問外部RAM時,該引腳輸出晶振頻率1/6頻率的正脈沖信號。對于EPROM型單片機,該引腳在編程期間用于輸入編程脈沖。
PSEN(29腳):輸出訪問片外程序存儲器的讀選通信號。
EA/Vpp(31腳):當該輸入端輸入高電平時,CPU可訪問片內程序存儲器4KB或8KB的地址范圍。若PC值超出4KB/8KB地址時,將自動轉向訪問片外程序存儲器。當EA輸入低電平時,則只能訪問片外程序存儲器,不論片內是否有程序存儲器。對于EPROM型單片機(8751),在對EPROM編程期間,此引腳用于施加+21V的編程電壓Vpp。
注意:ALE和PSEN引腳的驅動能力均為8個LSTTL負載。第四十四頁,共四百六十三頁,2022年,8月28日4.輸入/輸出引腳P0、P1、P2、P3P0.0~P0.7(39~32腳):P0口是一個8位漏極開路型準雙向I/O端口。在訪問片外存儲器時,它分時做低8位地址總線和8位雙向數據總線(AD0~
AD7)。在EPROM編程時,由P0口輸入指令字節(jié);而在驗證程序時,則輸出指令字節(jié)。驗證程序時和做為雙向I/O端口一樣,要求外接上拉電阻。P0口能以吸收電流的方式驅動8個LSTTL負載。
P1.0~P1.7(1~8腳):P1口是一個帶內部弱上拉電阻的8位準雙向I/O口。在EPROM編程和驗證程序時,由它輸入低8位地址。P1能驅動4個LSTTL負載。在52子系列單片機中,P1.0還相當于專用功能端T2,即定時器的計數輸入/時鐘輸出端;P1.1還相當于專用功能端T2EX,即定時器T2的重裝載/捕捉/方向等外部控制端。
P2.0~P2.7(21~28腳):P2口是一個帶內部弱上拉電阻的8位準雙向I/O口。在訪問外部存儲器時,由它輸出高8位地址(A8~
A15)。在對EPROM編程和程序驗證時,由它輸入高8位地址。P2可以驅動4個LSTTL負載。
P3.0~P3.7(10~17腳):P3口是一個帶內部弱上拉電阻的準雙向I/O口。在MCS-51/52中,這8個引腳還用于專門的第二功能,見下表。P3口能驅動4個LSTTL負載。
第四十五頁,共四百六十三頁,2022年,8月28日P3口的第二功能表第四十六頁,共四百六十三頁,2022年,8月28日小結1、51系列單片機是8位機。52系列與51系列的差別。2、51系列單片機得存儲器在物理上分為4個存儲空間,在邏輯上分為3個存儲空間。3、程序存儲器中7個特殊的單元。4、內部RAM0-7FH根據用途不同分為3個空間。5、SFR的地址范圍在內部RAM80H-0FFH空間內,其中部分寄存器可以位尋址。6、系統(tǒng)復位后各個寄存器的值。7、單片機各引腳的功能及其驅動能力。第四十七頁,共四百六十三頁,2022年,8月28日2-2、MCS-51/52系列單片機內部包含哪些主要邏輯功能部件?2-4、MCS-51/52單片機的存儲器從物理上和邏輯上分別可劃分幾個空間?2-6、MCS-51單片機片內256B的數據存儲器可分為幾個區(qū)?分別做什么用?2-10、程序狀態(tài)寄存器PSW的作用是什么?常用狀態(tài)有哪些位?作用是什么?
作業(yè)教材P412-2,2-4,2-6,2-10第四十八頁,共四百六十三頁,2022年,8月28日2.1.4單片機I/O端口結構1.P0口的結構及功能(1)P0口結構它由1個輸出鎖存器、2個三態(tài)輸入緩沖器、1個輸出驅動電路和1個輸出控制電路組成。輸出驅動電路由一對FET(場效應管)組成,其工作狀態(tài)受輸出控制電路的控制;輸出控制電路由一個與門電路,1個反相器和1個路多路開關MUX組成第四十九頁,共四百六十三頁,2022年,8月28日(2)P0口的功能①P0口做一般I/O口使用時多路開關MUX的位置由CPU發(fā)出的控制信號決定。當P0口做I/O端口使用時,CPU內部發(fā)出控制電平"0"信號封鎖與門,使輸出上拉場效管T1截止,同時多路開關把輸出鎖存器Q端與輸出場效應管T2的柵極接通。此時P0即做通用的I/O口使用。當P0口做輸出口時:內部數據總線上的信息由寫脈沖鎖存至輸出鎖存器,輸入D=0時,Q=0而Q=1,T2導通,P0口引腳輸出“0”;當D=1時,Q=1而Q=0,T2截止,P0口引腳輸出1。輸出驅動級是漏極開路電路,若要驅動NMOS或其他拉電流負載時,需外接上拉電阻。P0口中的輸出可以驅動8個LSTTL負載。
第五十頁,共四百六十三頁,2022年,8月28日P0口做輸入口時:端口中有2個三態(tài)輸入緩沖器用于讀操作。其中輸入緩沖器2的輸入與端口引腳相連,故當執(zhí)行一條讀端口輸入指令時,產生讀引腳的選通將該三態(tài)門打開,端口引腳上的數據經緩沖器2讀入內部數據總線。輸入緩沖器1并不能直接讀取端口引腳上的數據,而是讀取輸出鎖存器Q端的數據。Q端與引腳處的數據是一致的。結構上這樣的安排是為了適應“讀-修改-寫”一類指令的需要。端口進行輸入操作前,應先向端口輸出鎖存器寫入“1”,使Q=0則輸出級的兩個FET管均截止,引腳處于懸空狀態(tài),變?yōu)楦咦杩馆斎?。這就是所謂的準雙向I/O口。單片機的P0~P3都是準雙向I/O口。第五十一頁,共四百六十三頁,2022年,8月28日②P0口做地址/數據總線復用時在擴展系統(tǒng)中,P0端口做為地址/數據總線使用,此時可分為兩種情況:
一種是以P0口引腳輸出地址數據信息。另一種情況由P0口輸入數據,此時輸入的數據是從引腳通過輸入緩沖器2進入內部總線。當P0口做地址/數據總線復用時,它就不能再做通用I/O口使用了。第五十二頁,共四百六十三頁,2022年,8月28日2.P1口的結構及功能(1)P1口結構
P1口也是一個準雙向I/O口,其結構見圖所示。
P1口在結構上與P0口的區(qū)別是:沒有多路開關MUX和控制電路部分;輸出驅動電路部分與P0也不相同,只有一個FET場效應管,同時內部帶上拉電阻,此電阻與電源相連。第五十三頁,共四百六十三頁,2022年,8月28日(2)P1口的功能
P1口可做通用雙向I/O口使用,當P1口輸出高電平時,能向外部提供拉電流負載,因此不必再外接上拉電阻。當端口用做輸入時,和P0口一樣,為了避免誤讀,必須先向對應的輸出鎖存器寫入“1”,使FET截止。然后再讀端口引腳。在52子系列單片機和89系列單片機中,P1.0和P1.1是多功能位。除做一般雙向I/O口外,P1.0還可以做為定時器/計數器2的外部輸入端,這時此引腳以T2來表示;P1.1還可做為定時器/計數器2的外部控制輸入,以T2EX來表示。第五十四頁,共四百六十三頁,2022年,8月28日3.P2口的結構及功能(1)P2口的結構
P2口的位結構中上拉電阻的結構與P1相同,但比P1口多了一個輸出轉換多路控制部分。(2)P2口的功能當多路開關MUX倒向鎖存器輸出Q端時,構成了一個準雙向I/O口此時P2做通用的I/O口用。P2引腳的數據與內部總線相同。當系統(tǒng)擴展有大于256字節(jié)~64K字節(jié)的外部存儲器時,在CPU的控制下,轉換開關MUX倒向內部地址線一端,此時P2口可用于輸出高8位的地址。因為訪問外部存儲器的操作是連續(xù)不斷的,P2口要不斷輸出高8位地址,故此時P2口不可能再做通用I/O口使用。第五十五頁,共四百六十三頁,2022年,8月28日4.P3口的結構及功能(1)P3口的結構同樣P3口與P1口的輸出驅動部分及內部上拉電阻相同,比P1口多了一個第二功控制部分的邏輯電路(由一個與非門和一個輸入緩沖器組成)。(2)P3口的功能
P3口是一個多功能的端口。當第二輸出功能保持高電平時,打開與非門,鎖存器輸出可以通過與非門送FET管輸出到引腳端,這是做通用I/O口的輸出使用情況。輸入時,引腳數據通過三態(tài)緩沖器2和3在讀引腳選通控制下進入內部總線。第五十六頁,共四百六十三頁,2022年,8月28日P3口除了做通用I/O使用外,它的各位還具有第二功能。當P3口某一位用于第二功能做輸出時,該位的鎖存器應置“1”,打開與非門,第二功能端內容通過“與非門”和FET送至端口引腳。當做第二功能輸入時,端口引腳的第二功能信號通過緩沖器3送到第二輸入功能端??傊?,無論P3口做通用輸入口還是做第二輸入功能口用,相應位的輸出鎖存器和第二輸出功能端都應置“1”,使FET截止。P3口的引腳信號輸入通道中有2個緩沖器,當做第二輸入功能時,引腳輸入信號取自緩沖器3的輸出;做通用輸入口時輸入信號取自三態(tài)緩沖器2。
第五十七頁,共四百六十三頁,2022年,8月28日5.端口負載能力和接口要求
P0口的輸出級與P1~P3口的輸出級在結構上是不相同的,因此他們的負載能力和接口要求也各不相同。(1)P0口的每一位輸出可驅動8個LSTTL負載。P0口在驅動拉電流和MOS負載時必須要接上拉電阻。(2)P1~P3口的輸出級均接有內部上拉電阻,他們的每一位輸出可以驅動4個LSTTL負載。(3)P0~P3口都是準雙向I/O口,做輸入時,必須先向相應端口的鎖存器寫入“1”,使驅動管FET截止。P0口輸入時呈高阻態(tài),而P1~P3口內部有上拉負載電阻,當系統(tǒng)復位時,P0~P3端口鎖存器全為“1”。第五十八頁,共四百六十三頁,2022年,8月28日2.3單片機的振蕩器及時序電路幾個概念:指令周期:單片機執(zhí)行一條指令所需的時間。一般由幾個機器周期組成。機器周期:CPU訪問存儲器一次所需要的時間。機器周期由若干個時鐘周期組成。時鐘周期(狀態(tài)周期):由2個節(jié)拍構成。節(jié)拍=振蕩周期=1/fosc單片機的一個機器周期包含6個狀態(tài)周期,即12個振蕩周期。依次用S1P1、S1P2、S2P1、S2P2、……S6P1、S6P2表示。第五十九頁,共四百六十三頁,2022年,8月28日
振蕩器和時鐘電路
1.單片機內部時鐘電路圖為HMOS型單片機的振蕩電路,當外接晶振時,C1和C2值通常選擇30pF;外接陶瓷諧振器時,C1和C2的典型值約為47pF。在設計印刷電路板時,晶體或陶瓷諧振器和電容應盡可能安裝在單片機芯片附近,以減少寄生電容,保證振蕩器穩(wěn)定和可靠工作。為了提高溫度穩(wěn)定性,應采用NPO電容。C1、C2對頻率有微調作用,振蕩頻率范圍是1.2MHz~12MHz。第六十頁,共四百六十三頁,2022年,8月28日2.HMOS型單片機外部時鐘源的接法對HMOS型單片機,外部振蕩器的信號接至XTAL2端,而內部反相放大器的輸入端XTAL1端應接地,如圖所示。由于XTAL2端的邏輯電平不是TTL的,故建議外接一個上拉電阻。第六十一頁,共四百六十三頁,2022年,8月28日3.CHMOS型單片機的外部時鐘源的接法對CHMOS型的單片機,接線方法與HMOS型的單片機有所不同:外部振蕩器的信號接至XTAL1,而XTAL2不用。左圖是CHMOS型單片機的振蕩電路,右圖是CHMOS型單片機的外部時鐘源的接法圖。
第六十二頁,共四百六十三頁,2022年,8月28日4.對外部時鐘信號的要求最小的高電平和低電平持續(xù)時間應符合產品技術的要求(皆為20ns),一般為頻率低于12MHz的方波。這種方式適用于多塊芯片同時工作時,便于同步。第六十三頁,共四百六十三頁,2022年,8月28日2.3.2單片機的復位電路
1.復位結構
HMOS型單片機的復位結構見左圖。復位引腳RST/VPD通過一個施密特觸發(fā)器與單片機復位電路相連。
CHMOS型的復位結構見右圖,此處的復位引腳只是單純地稱為RST,而不是RST/VPD。振蕩器正在運行的情況下,復位是靠在RST/VPD或RST引腳加持續(xù)二個機器周期的高電平來實現的。復位時,ALE=1和PSEN=1,復位后PC指向0000H。第六十四頁,共四百六十三頁,2022年,8月28日2.復位電路單片機的復位有上電自動復位和按鈕手動復位兩種。
上電復位是利用電容充電來實現的。上電復位所需的最短時間是振蕩周期建立時間加上2個機器周期時間,在這個時間內RST/VPD端的電平應維持高于施密特觸發(fā)器的下閾值。
第六十五頁,共四百六十三頁,2022年,8月28日
手動復位分為按鈕脈沖復位和按鈕電平復位。
按鈕脈沖復位電路如下圖所示。由外部提供一個復位脈沖寬度大于2個機器周期。復位脈沖過后,由內部下拉電阻保證RST/VPD端變?yōu)榈碗娖?。第六十六頁,共四百六十三頁?022年,8月28日
按鈕電平復位電路如下圖所示。當按下復位按鈕時,電源直接加到RST/VPD端使其為高電平,同時電容通過復位按鈕放電。復位按鈕松開后,隨著電容充電電流的減小,逐漸使RST/VPD端恢復低電平。第六十七頁,共四百六十三頁,2022年,8月28日小結1、P0~P3口均為準雙向口,讀取引腳狀態(tài)時必須先向該引腳寫入“1”。2、P0口做為I/O口使用時,必須接上拉電阻。3、P0、P2口做為地址/數據總線使用后,一般不再做為I/O口使用。4、P0~P3口的驅動能力。5、機器周期、狀態(tài)周期、節(jié)拍、振蕩周期的概念。6、機器周期的構成。7、單片機復位的條件。8、單片機使用內部時鐘電路時晶振、電容的接法和數值選擇。9、單片機的復位結構。10、常用的復位電路及其元器件數值。第六十八頁,共四百六十三頁,2022年,8月28日作業(yè)教材:P412-8、2-9、2-12、2-162-8、開機復位后,CPU使用的是哪組工作寄存器?它們的地址是什么?CPU如何確定和改變當前工作寄存器組?2-9、單片機的程序存儲器和數據存儲器共處同一地址空間為什么不會發(fā)生總線沖突?2-12、位地址7CH與字節(jié)地址7CH如何區(qū)別?位地址7CH具體在片內RAM中什么位置?2-16、單片機有幾種復位方法?應注意什么事項?第六十九頁,共四百六十三頁,2022年,8月28日第3章單片機指令系統(tǒng)及編程舉例
本章要點1、熟練掌握單片機的尋址方式2、記憶指令并掌握指令應用的方法和技巧3、了解單片機匯編語言的編程方法和技巧4、了解偽指令的使用5、掌握常用程序的編制方法第七十頁,共四百六十三頁,2022年,8月28日3.1指令系統(tǒng)簡介
指令系統(tǒng)概述
指令是計算機根據人的意圖所執(zhí)行的操作命令,是與計算機內部結構、硬件資源密切聯系的,某種計算機所有指令的集合稱為指令系統(tǒng)。
MCS-51/52系列單片機的指令系統(tǒng)共有111條指令,其中49條是單字節(jié)指令,45條是雙字節(jié)指令,17條是三字節(jié)指令。111條指令中共有33個功能,用匯編編程時,只需要42個助記符就能指明這33個功能操作。其中有64條指令的執(zhí)行時間為單機器周期,45條指令的執(zhí)行時間為雙機器周期,乘法和除法指令只需4個機器周期。
AT89及P89的指令系統(tǒng)與MCS-51/52系列單片機的指令系統(tǒng)完全相同。第七十一頁,共四百六十三頁,2022年,8月28日
3.1.2指令格式
單片機的匯編語言指令格式與其他微機的指令格式一樣。均由以下幾個部分組成:
[標號]:操作碼[操作數];[注釋]
標號又稱為指令地址符號,一般由1~6個字符組成,以字母開頭的字母數字串,與操作碼之間用冒號分開。[]表示為可選項。
操作碼
是由助記符表示的字符串,他規(guī)定了指令的操作功能。
操作數是指參加操作的數據或數據的地址。
注釋是為該條指令作的說明,以便于閱讀。
第七十二頁,共四百六十三頁,2022年,8月28日
指令系統(tǒng)中,操作數可以為1、2、3個,也可以沒有。不同功能的指令,操作數作用不同。例如,傳送類指令多數有兩個操作數,寫在左面的稱為目的操作數(表示操作結果存放的單元地址),寫在右面的稱為源操作數(指出操作數的來源)。操作碼與操作數之間必須用空格分隔,操作數與操作數之間必須用逗號“,”分隔。帶方括號項可有可無,稱可選擇項。操作碼是指令的核心,不可缺少。
第七十三頁,共四百六十三頁,2022年,8月28日3.1.3指令分類及符號說明
1.指令分類單片機指令系統(tǒng)的111條指令分為下面五類:
(1)數據傳送類指令29條,分為:片內RAM、片外RAM、程序存儲器的傳送指令,交換及堆棧操作指令。(2)算術運算類24條分為:加、帶進位加、減、乘、除、加1、減1指令。(3)邏輯運算類24條分為:邏輯與、或、異或、移位指令。(4)控制程序轉移類17條分為:無條件轉移與調用、條件轉移與調用、返回與空操作指令。(5)布爾變量操作類17條分為:位數據傳送、位與、位或、位轉移指令。第七十四頁,共四百六十三頁,2022年,8月28日2.符號說明
A:累加器Acc。
B:專用寄存器,用于MUL和DIV指令中。
C:為進位標志或進位位,或布爾處理機中的累加器。
@:為間址寄存器或基址寄存器的前綴。如@Ri,@A+PC,@A+DPTR。
Rn:表示當前選中的寄存器區(qū)的8個工作寄存器R0~R7(n=0~7)。
Ri:表示當前選中的寄存器區(qū)中的2個寄存器R0、R1,可做地址指針即間址寄存器(i=0、1)。
direct:表示8位內部數據存儲器單元的地址。它可以是內部RAM的單元地址0~127或專用寄存器的地址,如I/O端口、控制寄存器、狀態(tài)寄存器等(128~255)。第七十五頁,共四百六十三頁,2022年,8月28日#data:表示包含在指令中的8位立即數。
#data16:表示包含在指令中的16位立即數。
addr16:表示16位的目的地址。用于LCALL和LJMP指令中,目的地址范圍是64KB的程序存儲器地址空間。
addr11:表示11位的目的地址。用于ACALL和AJMP的指令中,目的地址必須存放在與下一條指令第一個字節(jié)同一個2KB程序存儲器地址空間之內。
rel:表示8位帶符號的偏移量。用于SJMP和所有的條件轉移指令中。偏移字節(jié)相對于下一條指令的第一個字節(jié)計算,在-128~+127范圍內取值。
第七十六頁,共四百六十三頁,2022年,8月28日DPTR:為數據指針,可用做16位的地址寄存器。
bit:表示內部RAM或專用寄存器中的直接尋址位。
X:表示片內RAM的直接地址或寄存器。
(X):X中的內容。在直接尋址方式中,表示直接地址X中的內容。
((X)):在間接尋址方式中,表示由間址寄存器X指出的地址單元中的內容?!?表示將箭頭右邊的內容傳送至箭頭的左邊。第七十七頁,共四百六十三頁,2022年,8月28日3.2單片機的尋址方式
指令執(zhí)行中所需的操作數可以在內存、寄存器、I/O端口中,稱它們?yōu)椴僮鲾档牡刂?,訪問這些操作數的方法稱為尋址方式。單片機中采用了7種尋址方式。
立即尋址方式
采用立即尋址的指令一般是雙字節(jié)的。第一個字節(jié)是指令的操作碼,第二個字節(jié)是立即數。因此,操作數就是放在程序存儲器中的常數。立即數前面應加前綴“#”號。例如:MOVA,#2BH;A←#2BH,即將立即數2BH傳送至A中。
第七十八頁,共四百六十三頁,2022年,8月28日
直接尋址方式
采用直接尋址的指令一般是雙字節(jié)或三字節(jié)指令,第一字節(jié)為操作碼,第二,三字節(jié)為操作數的地址碼。單片機中,直接地址只能用來表示片內低128字節(jié)單元、專用寄存器和片內RAM的位地址空間。其中專用寄存器和位地址空間只能用直接尋址方式來訪問。例如:MOVA,30H;(30H)→A
MOVC,00H;(00H)→CyLJMP1000H;將1000H送入PC第七十九頁,共四百六十三頁,2022年,8月28日
寄存器尋址方式
寄存器尋址方式用于訪問選定的工作寄存器R0~R7、A、B、DPTR和進位CY中的數。其中R0~R7由操作碼低三位的8種組合表示,A、B、DPTR、C則隱含在操作碼之中。這種尋址方式中被尋址的寄存器中的內容就是操作數。例如:MOVA,R0;(R0)→AMOVB,A;(A)→B第八十頁,共四百六十三頁,2022年,8月28日
寄存器間接尋址方式
這種尋址方式中,指令指定寄存器中的內容為操作數的地址。寄存器間接尋址是用于訪問片內數據存儲器或片外數據存儲器。當訪問片內RAM或片外的低256字節(jié)空間時,可用R0或R1做為間址寄存器;當訪問片外整個64KB的地址RAM空間時,用16位寄存器DPTR做間址寄存器。這類指令都為單字節(jié)的指令,操作碼的最低位表示是采用R0還是R1做間址器。在執(zhí)行PUSH和POP指令時,也采用寄存器間接尋址,此時用堆棧指針SP做間址寄存器。例如:MOVXA,@R0;((R0))→AMOVXA,@DPTR;((DPTR))→A
POPACC;((SP))→A,(SP)-1→SP第八十一頁,共四百六十三頁,2022年,8月28日
基址加變址尋址方式
這種尋址方式用于訪問程序存儲器中的某個字節(jié)。以DPTR或PC作為基址寄存器,累加器A做為變址寄存器,兩者的內容之和為操作數的地址。這種尋址方式常用于查表操作。
例如:MOVCA,@A+DPTR;指令代碼為93H,單字節(jié)指令。設該指令放在1040H單元,A的原內容為A0H,DPTR中的值為
3000H,則操作數的地址等于:A0H+3000H=30A0H,即將30A0H單元中的內容傳送至A中。該指令的執(zhí)行過程如下圖所示。
第八十二頁,共四百六十三頁,2022年,8月28日3.2.6
相對尋址方式
相對尋址是將程序計數器PC中的當前內容與指令第二字節(jié)所給出數相加,其和為跳轉指令的轉移地址,轉移地址也稱為轉移目的地址。PC中的當前值稱為基地址,指令第二字節(jié)的數據稱為偏移量。偏移量為帶符號的數,其值為-128~+127。故指令的跳轉范圍相對PC的當前值在-128~+127之間跳轉。此種尋址方式一般用于相對跳轉指令。例如:SJMP05H;指令代碼是雙字節(jié)的,即80,05H
現設PC=4000H為本指令的地址,轉移目的地址=(4000+02)+05H=4007H
PC當前值
第八十三頁,共四百六十三頁,2022年,8月28日
位尋址方式
位尋址是指對片內RAM的位尋址區(qū)(字節(jié)地址20H~2FH)和可以位尋址的專用寄存器進行位操作時的尋址方式。在進行位操作時,借助于進位C作為位操作累加器。操作數直接給出該位的地址,然后根據操作碼的功能對其進行位操作。位尋址的位地址與直接尋址的字節(jié)地址形式完全一樣,主要由對應的操作數的位數來區(qū)分,使用時應加以注意。
例如:MOV10H,C;10H是位尋址的位地址(C是位累加器)
MOVA,10H;10H是直接尋址的字節(jié)地址(A是字節(jié)累加器)
第八十四頁,共四百六十三頁,2022年,8月28日單片機的7種尋址方式中,每種尋址方式可涉及的存儲器空間見下表第八十五頁,共四百六十三頁,2022年,8月28日3.3指令系統(tǒng)及應用舉例
數據傳送類指令(29條)
1.數據傳送類指令特點數據傳送指令一共29條,這類指令一般是把源操數傳送到目的操作數,指令執(zhí)行后,源操作數不變,目的操作數修改為源操作數。傳送類指令一般不影響標志位,只有堆棧操作可以直接修改程序狀態(tài)字PSW。另外,對目的操作數為A的指令將影響奇偶標志P位。
數據傳送類指令用到的助記符有MOV、MOVC、MOVX、XCH、XCHD、SWAP、PUSH、POP共8種。源操作數可以采用寄存器、寄存器間接、直接、立即、變址加基址5種尋址方式;目的操作數可以采用前三種尋址方式。第八十六頁,共四百六十三頁,2022年,8月28日
2.用于片內數據存儲器傳送的指令使用說明及舉例(1)以累加器A為目的操作數的指令(4條)MOVA,Rn;A←RnMOVA,#data;A←dataMOVA,@Ri;A←((Ri))MOVA,direct;A←(direct)
例:
MOVA,R3;(R3)→A,(A)=(R3)MOVR1,#80H;#80H→R1,(R1)=80H
MOVA,@R1;((R1))→A,(80H)→AMOVA,#20H;#20H→A,(A)=20H第八十七頁,共四百六十三頁,2022年,8月28日(2)以工作寄存器Rn為目的操作數的指令(3條)
MOVRn,A;Rn←AMOVRn,direct;Rn←(direct)MOVRn,#data;Rn←data
例
MOVR1,A;R1←A,(A)=(R1)MOVR3,30H;R3←(30H),(R3)=(30H)MOVR7,#80H;R7←#80H,(R7)=80H第八十八頁,共四百六十三頁,2022年,8月28日
(3)以直接地址為目的操作數的指令(5條)MOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#data
例:
MOV30H,A;30H←(A),(30H)=(A)MOV20H,R7;20H←(R7),(20H)=(R7)MOV27H,#0FH;27H←#0FH,(27H)=0FH
MOV50H,40H;50H←(40H)
,(50H)=(40H)第八十九頁,共四百六十三頁,2022年,8月28日
(4)以間接地址為目的操作數的指令(3條)MOV@Ri,AMOV@Ri,directMOV@Ri,#data
這組指令的功能是把源操作數所指定的內容傳送至以R0或R1為地址指針的片內RAM單元中。源操作數有寄存器尋址、直接尋址和立即尋址3種方式。目的操作數為寄存器間接尋址。例:MOVA,#00H;A←#00H,(A)=00HMOVR0,#30H;R0←#30H,(R0)=30HMOV@R0,A;(R0)←(A),(30H)=00H
第九十頁,共四百六十三頁,2022年,8月28日
(5)16位數據傳送指令(1條)MOVDPTR,#data16
這是唯一的16位立即數傳送指令,其功能是把16位立即數傳送至16位數據指針寄存器DPTR。例:MOVDPTR,#04FFH;DPTR←#04FFH,(DPTR)=04FFH
第九十一頁,共四百六十三頁,2022年,8月28日3.用于片外數據存儲器傳送指令及舉例(4條)
MOVXA,@Ri;A←((Ri))MOVXA,@DPTR;A←((DPTR))MOVX@Ri,A;(Ri)←(A)
MOVX@DPTR,A;(DPTR)←(A)
在單片機中,CPU對片外RAM的訪問只能用寄存器間接尋址的方式,且僅有4條指令。以DPTR間接尋址時,尋址的范圍達64KB;以Ri間接尋址時,僅能尋址256B的范圍。而且片外RAM的數據只能和累加器A之間進行傳送,不能與其他寄存器和片內RAM單元直接進行傳送。片外I/O端口的訪問均可使用此4條指令。
第九十二頁,共四百六十三頁,2022年,8月28日
例
MOVDPTR,#A000H;DPTR←#A000H,(DPTR)=0A000HMOVA,40H;A←(40H),(A)=(40H)MOVX@DPTR,A;(DPTR)←(A),(A000H)=(A)
這幾條指令實現了A000H←(40H)
例
MOVDPTR,#2000H;DPTR←#2000H,(DPTR)=2000HMOVXA,@DPTR;A←(2000H),(A)=(2000H)MOVDPTR,#5000H;DPTR←#5000H,(DPTR)=5000H
MOVX@DPTR,A;(DPTR)←(A),(5000H)=(A)
這幾條指令實現了5000H←(2000H)第九十三頁,共四百六十三頁,2022年,8月28日
4.用于程序存儲器數據傳送的指令及舉例(2條)
MOVCA,@A+PC;A←((A)+(PC))MOVCA,@A+DPTR;A←((A)+(DPTR))
單片機指令系統(tǒng)中,這2條一般用于查表,其數據表格放在程序存儲器中。
例:在程序存儲器中,存有LED顯示器0~9的字形段碼為:210AH:0C0H0字符的段碼
210BH:0F9H1字符的段碼
210CH:0A4H2字符的段碼
210DH:0B0H3字符的段碼
執(zhí)行MOVA,#01HMOVDPTR,#210AHMOVCA,@A+DPTR后,(A)=0F9H第九十四頁,共四百六十三頁,2022年,8月28日5.交換指令及舉例(5條)XCHA,Rn;(A)←→(Rn)XCHA,@Ri;(A)←→((Ri))XCHA,direct;(A)←→(direct)XCHDA,@Ri;(A)3-0←→((Ri))3-0SWAPA;(A)7-4←→(A)3-0
這組指令的前三條為全字節(jié)交換指令,其功能是將A的內容與源操作數所指出的數據互換。后兩條指令為半字節(jié)交換指令,其中XCHDA,@Ri是將A內容的低4位與Ri所指片內RAM單元中的低4位數據互相交換,各自的高4位不變。SWAPA指令是將A中內容的高、低4位數據互相交換。
例:設(A)=12H,(20H)=34H,執(zhí)行以下指令的結果如何?
XCHA,20H;A←→(20H),(A)=34H,(20H)=12HSWAPA;(A)7-4←→(A)3-0,(A)=43H第九十五頁,共四百六十三頁,2022年,8月28日6.堆棧操作指令及舉例(2條)PUSHdirect;SP←(SP)+1,(SP)←(direct)POPdirect;direct←((SP)),SP←(SP)-1
PUSH指令是入棧(或稱壓?;蜻M棧)指令,其功能是先將棧指針SP的內容加1,然后將直接尋址單元中的數壓入到SP所指示的單元中。POP是出棧(或稱彈出)指令,其功能是先將棧指針SP所指示的單元內容彈出送到直接尋址單元中,然后將SP的內容減1,仍指向棧頂。使用堆棧時,一般需重新設定SP的初始值。系統(tǒng)復位或上電時SP的值為07H,而08H~1FH正好也是CPU的工作寄存器區(qū),故為不占用寄存器區(qū),程序中需使用堆棧時,先應給SP設置初值。但應注意不超出堆棧的深度。一般SP的值可以設置在1FH或更大一些的片內RAM單元。
第九十六頁,共四百六十三頁,2022年,8月28日利用堆棧操作指令可以實現數據的傳送,例如:
PUSHDPHPOP30H可以實現30H←(DPH)注意:在對累加器進行堆棧操作時必須使用ACC,而不能用A。
PUSHACC和POPACC是正確的寫法,而
PUSHA和POPA的寫法是錯誤的。第九十七頁,共四百六十三頁,2022年,8月28日小結1、單片機的七種尋址方式
2、七種尋址方式的尋址空間3、29條數據傳送類指令的使用第九十八頁,共四百六十三頁,2022年,8月28日作業(yè)教材P783-1、3-2、3-3、3-43-1、什么叫尋址方式?單片機有哪幾種尋址方式?這幾種尋址方式是如何尋址的?3-2、要訪問專用寄存器和片外數據存儲器應采用什么尋址方式?3-3、用于外部數據傳送的指令有哪幾條?有何區(qū)別?3-4、指出下列指令的本質區(qū)別:
MOVA,DATAMOVA,#DATAMOVDATA1,DATA2MOV60H,#61H
第九十九頁,共四百六十三頁,2022年,8月28日3.3.2
算術運算類指令
1.算術運算類指令特點算術運算類指令共有24條,其中包括4種基本的算術運算指令,即加、減、乘、除。這4種指令能對8位無符號數進行直接的運算,借助溢出標志也能對有符號的二進制整數進行加減運算。同時借助進位標志,可以實現多精度的加減和循環(huán)移位,也可以對壓縮的BCD數進行運算(壓縮BCD數,是指在一個字節(jié)中存放二位BCD數)。
算術運算指令對程序狀態(tài)字PSW中的Cy、AC、OV三個標志位都有影響,根據運算的結果可將他們置1或清除。但是加1和減1指令不影響這些標志。算術運算類指令用到的助記符有:ADD、ADDC、SUBB、INC、DEC、DA、MUL和DIV八種。
第一百頁,共四百六十三頁,2022年,8月28日2.算術運算類指令使用說明及舉例
(1)不帶進位的加法指令(4條)ADDA,Rn;A←(A)+(Rn)ADDA,@Ri;A←(A)+((Ri))ADDA,direct;A←(A)+(direct)ADDA,#data;A←(A)+#data
這4條指令的功能是把A中的數與源操作數所指出的內容相加,其結果仍存在A中。相加過程中若位3和位7有進位,則將輔助進位標志AC和進位標志Cy置位,否則清0。
第一百零一頁,共四百六十三頁,2022年,8月28日
(2)帶進位加法指令(4條)ADDCA,Rn;A←(A)+(Rn)+(Cy)ADDCA,@Ri;A←(A)+((Ri))+(Cy)ADDCA,direct;A←(A)+(direct)+(Cy)ADDCA,#data;A←(A)+#data+(Cy)
這4條指令的功能是把源操作數所指示的內容和A中的內容及進位標志Cy相加,結果存入A中。運算結果對PSW中相關位的影響同上述的4條加法指令。
帶進位加法指令一般用于多字節(jié)數的加法運算,低位字節(jié)相加時和可能產生進位,可以通過帶進位加法指令將低位字節(jié)的進位加到高字節(jié)上去。高位字節(jié)求和時必須使用帶進位的加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 10 我們當地的風俗 第1課時(教學設計)2023-2024學年統(tǒng)編版道德與法治四年級下冊
- 23梅蘭芳蓄須(教學設計)2024-2025學年-統(tǒng)編版語文四年級上冊
- 橋架安裝合同范本
- 4 月相變化的規(guī)律(教學設計)-2023-2024學年三年級科學下冊 教科版
- 14《普羅米修斯》(教學設計)2024-2025學年-統(tǒng)編版語文四年級上冊
- 水電管護合同范本
- 墻紙施工合同范本格式
- 10父母多愛我-父母的愛默默的(第1課時)(教學設計)2023-2024學年統(tǒng)編版道德與法治三年級上冊
- 6 摸一摸 教學設計-2024-2025學年科學一年級上冊青島版
- 出售攪拌混凝土合同范本
- 我的物品我做主班會
- 《外科護理學(第七版)》考試復習題庫-上(單選題)
- 二次供水清洗消毒衛(wèi)生管理制度
- 外匯行業(yè)匯率風險管理方案
- 司法考試2024年知識點背誦版-民法
- 電子產品組裝工藝流程手冊
- 25 黃帝的傳說 公開課一等獎創(chuàng)新教案
- 人教版音樂三年級下冊第一單元 朝景 教案
- 幼兒園教職工開展預防性侵
- 醫(yī)療機構消毒記錄表清潔消毒日檢查記錄表
- 2024年巴西脈沖灌洗系統(tǒng)市場機會及渠道調研報告
評論
0/150
提交評論