《微機原理與接口技術(shù)》(1)_第1頁
《微機原理與接口技術(shù)》(1)_第2頁
《微機原理與接口技術(shù)》(1)_第3頁
《微機原理與接口技術(shù)》(1)_第4頁
《微機原理與接口技術(shù)》(1)_第5頁
已閱讀5頁,還剩246頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程地位:課程地位:1、微機,特別是單片機應(yīng)用技術(shù),是機電一體化六大關(guān)鍵技術(shù)之一;2、機械學(xué)院機電學(xué)院的轉(zhuǎn)變中所扮演的角色;3、本課程對機類學(xué)生電類學(xué)生的影響。課程說明:課程說明:微機原理與接口技術(shù)課程,是全國高校工科,特別是電類與機電類專業(yè)的必修課程,許多學(xué)校同時將該課程列為研究生入學(xué)考試課程。實踐中,本課程教學(xué)安排上有二種不同方案,二者有諸多相通之處,但偏重點完全不同,希望學(xué)習(xí)過程及將來參加其它考試時特別予以關(guān)注:a)主要講授8088/8086微型計算機系統(tǒng)原理及其接口技術(shù);b)主要講授單片微型計算機原理及其接口技術(shù)。 適用教材適用教材: 單片機應(yīng)用技術(shù)參考書目:參考書目:單片微型計算機原

2、理與接口技術(shù) 陳光東編華中理工大學(xué)出版社 單片機中級教程-原理與應(yīng)用 何立民主編、 張俊謨著 北京航空航天大學(xué)出版社單片機原理與應(yīng)用李曉荃主編、魏立東等著 電子工業(yè)出版社計劃學(xué)時:計劃學(xué)時:64學(xué)時 (其中講課46學(xué)時,實驗6學(xué)時,習(xí)題學(xué)時)前導(dǎo)課程:前導(dǎo)課程:數(shù)學(xué)、電工電子學(xué)、計算機語言類等課程后續(xù)教學(xué)環(huán)節(jié):后續(xù)教學(xué)環(huán)節(jié):1、課程設(shè)計2、機電一體化相關(guān)方向的畢業(yè)設(shè)計學(xué)學(xué)習(xí)習(xí)網(wǎng)網(wǎng)站站21IC中國電子網(wǎng)中國電子網(wǎng)HTTP:/ WWW.21IC.COM愛思電子愛思電子 HTTP:/WWW.NJ-ICES.COM/大蝦電子網(wǎng)大蝦電子網(wǎng)HTTP:/ WWW.DAXIA.COM單片機學(xué)習(xí)網(wǎng)單片機學(xué)習(xí)網(wǎng)H

3、TTP:/www.MCUSTUDY.COM飛翔電子技術(shù)飛翔電子技術(shù) HTTP:/WWW.MCUOK.COM/紫薇單片機紫薇單片機HTTP:/WWW.ZWMCU.COM/IC在線網(wǎng)在線網(wǎng)HTTP:/WWW.E-IC.COM.CN/深圳賽格深圳賽格HTTP:/WWW.SEGEM.COM.CN/力源信息力源信息HTTP:/WWW.ICBASE.COM/DAQCHINA工業(yè)控制網(wǎng)工業(yè)控制網(wǎng)http:/ Porcess Unit,是小型或微型計算機的核心,負(fù)責(zé)數(shù)據(jù)的運算與控制。除微處理器外,還需有存儲器、輸入輸出接口(如鍵盤、顯示器、打印機)等外圍電路與之協(xié)同工作的一個完整的系統(tǒng)。統(tǒng)稱系統(tǒng)機,以功能的通

4、用性與完整性,及應(yīng)用的開放性為突出特征。PC機:機:典型的系統(tǒng)機。(Personal Computer)簡稱單片機,以滿足一定要求的基本功能或少量的特殊功能部件,包括CPU、RAM、ROM、定時/計數(shù)器、及各種I/O接口電路集成于一片芯片上為突出特征。正在發(fā)展之中的片上完整系統(tǒng)。1971年,Intel公司推出4004微處理器。(4位機位機)1974年,Intel公司推出8080微處理器。(8位機位機)同時期產(chǎn)品:Motorola公司的M6800、Zilog公司的Z80、Intel公司的8080A、8085A1978年,Intel公司推出8086微處理器。(16位機)同時期產(chǎn)品:Motorola

5、的M68000、Zilog的Z8000、Intel的8088(8位版的8086)1979年,IBM公司進(jìn)入微型計算機市場。1983年,Intel公司的802861985年以來,Intel公司的80386、80486、Pentium、Pentium II、Pentium III、Pentium IV Single Chip Microcomputer,常用,但不夠準(zhǔn)確Microcontroller Unit,比單片機更準(zhǔn)確一些,但不夠流行Enbedded MicroprocesserEnbedded Microcontroller,時髦,準(zhǔn)確,正在流行,Intel公司推出公司推出MCS-48系列

6、單片機。系列單片機。特點:特點:8位位CPU、并行、并行I/O口、口、8位定時器、片內(nèi)小容量的位定時器、片內(nèi)小容量的RAM、ROM、尋址、尋址空間小于空間小于4KB、簡單的中斷處理機制、無串行口、簡單的中斷處理機制、無串行口,Intel公司推出公司推出MCS-51系列單片機。系列單片機。特點:外部總線規(guī)范化特點:外部總線規(guī)范化(16位地址總線,尋址空間位地址總線,尋址空間64KB;8位數(shù)據(jù)總線;增加位數(shù)據(jù)總線;增加串行總線;控制總線串行總線;控制總線),8位位CPU、并行、并行I/O口、口、16位定時器、片內(nèi)位定時器、片內(nèi)RAM、ROM容容量增大、多級中斷處理機制、位操作功能、片內(nèi)特殊功能寄存

7、器量增大、多級中斷處理機制、位操作功能、片內(nèi)特殊功能寄存器SFR(建立了外圍建立了外圍功能電路的功能電路的SFR集中管理模式集中管理模式),Intel公司推出公司推出MCS-96系列單片機。系列單片機。特點:特點:16位位CPU、增加、增加8路路10位位A/D、PWM型型D/A等等同期間,不同廠家同步推出了相應(yīng)的單片機機型:同期間,不同廠家同步推出了相應(yīng)的單片機機型:Motorola公司的公司的M6800系列系列Zilog公司的公司的Z8系列系列Rockwell公司的公司的6500系列系列,Intel公司公開了公司公開了8051內(nèi)核。內(nèi)核。特點:特點:8051兼容型單片機,形成了百花齊放的局面

8、,成為單兼容型單片機,形成了百花齊放的局面,成為單片機的發(fā)展方向。片機的發(fā)展方向。1、增加片內(nèi)功能、增加片內(nèi)功能(如存儲容量與方式、如存儲容量與方式、WDT、程序保密系統(tǒng)、程序保密系統(tǒng)、A/D、D/A、電壓、電壓比較器、比較器、LED/LCD/VFD顯示器驅(qū)動、顯示器驅(qū)動、I2C/CAN/USB總線總線)2、提升性能、提升性能(CMOS化、提高運行頻率、化、提高運行頻率、RISC結(jié)構(gòu)運行、低功耗、寬電壓、程序結(jié)構(gòu)運行、低功耗、寬電壓、程序串行下載串行下載ISP、增大尋址空間、增大尋址空間)3、降低成本、降低成本(緊湊型緊湊型)、低價格、低價格 代表:代表:ATMEL公司的公司的 89c51、8

9、9c2051Philips公司的公司的8Xc51WENBOND公司的公司的W78c51由于單片機有許多優(yōu)點,因此其應(yīng)用領(lǐng)域之廣,幾乎到了無孔不入的地步。單片機應(yīng)用的主要領(lǐng)域有:1) 智能化家用電器:各種家用電器普遍采用單片機智能化控制代替?zhèn)鹘y(tǒng)的電子線路控制,升級換代,提高檔次。如洗衣機、空調(diào)、電視機、錄像機、微波爐、電冰箱、電飯煲以及各種視聽設(shè)備等。2) 辦公自動化設(shè)備:現(xiàn)代辦公室使用的大量通信和辦公設(shè)備多數(shù)嵌入了單片機。如打印機、復(fù)印機、傳真機、繪圖機、考勤機、電話以及通用計算機中的鍵盤譯碼、磁盤驅(qū)動等。3) 汽車電子產(chǎn)品:現(xiàn)代汽車的集中顯示系統(tǒng)、動力監(jiān)測控制系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)和運

10、行監(jiān)視器(黑匣子)等都離不開單片機。4) 商業(yè)營銷設(shè)備:在商業(yè)營銷系統(tǒng)中已廣泛使用的電子稱、收款機、條形碼閱讀器、IC卡刷卡機、出租車計價器以及倉儲安全監(jiān)測系統(tǒng)、商場保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保險系統(tǒng)等都采用了單片機控制。5) 工業(yè)自動化控制:工業(yè)自動化控制是最早采用單片機控制的領(lǐng)域之一。如各種測控系統(tǒng)、過程控制、機電一體化、PLC等。在化工、建筑、冶金等各種工業(yè)領(lǐng)域都要用到單片機控制。6) 智能化儀表:采用單片機的智能化儀表大大提升了儀表的檔次,強化了功能。如數(shù)據(jù)處理和存儲、故障診斷、聯(lián)網(wǎng)集控等。7) 智能化通信產(chǎn)品:最突出的是手機,當(dāng)然手機內(nèi)的芯片屬專用型單片機。8) 航空航天系統(tǒng):飛機

11、、飛船、空間站,及其跟蹤、監(jiān)測、生命保障系統(tǒng)等,無一不是人類科技高度集中的產(chǎn)品,大量采用的智能傳感器、控制裝置中,單片機扮演著重要的角色。9) 國防軍事、尖端武器等領(lǐng)域:單片機的應(yīng)用更是不言而喻。單片機應(yīng)用的意義不僅在于它的廣闊范圍及所帶來的經(jīng)濟(jì)效益。更重要的意義在于,單片機的應(yīng)用從根本上改變了控制系統(tǒng)傳統(tǒng)的設(shè)計思想和設(shè)計方法。以前采用硬件電路實現(xiàn)的大部分控制功能,正在用單片機通過軟件方法來實現(xiàn)。以前自動控制中的PID調(diào)節(jié),現(xiàn)在可以用單片機實現(xiàn)具有智能化的數(shù)字計算控制、模糊控制和自適應(yīng)控制。這種以軟件取代硬件并能提高系統(tǒng)性能的控制技術(shù)稱為微控技術(shù)。隨著單片機應(yīng)用的推廣,微控制技術(shù)將不斷發(fā)展完善

12、。取典型機型,學(xué)習(xí)單片機基本理論硬件與軟件學(xué)習(xí)并舉理論教學(xué)與實驗教學(xué)相結(jié)合以培養(yǎng)獲得從事系統(tǒng)開發(fā)的能力為目標(biāo)012345670000000100100011010001010110011189ABCDEF10001001101010111100110111101111在計算機內(nèi)部計算在計算機內(nèi)部計算/存儲存儲/邏輯運算中,邏輯運算中,實際上采用的是二進(jìn)制。實際上采用的是二進(jìn)制。具體地:在電路結(jié)構(gòu)中,高電平為1,低電平為0在計算機編程過程中,常采用十六進(jìn)制數(shù),在計算機編程過程中,常采用十六進(jìn)制數(shù),便于記憶二進(jìn)制數(shù)。便于記憶二進(jìn)制數(shù)。計算機能識別的數(shù)是二進(jìn)制數(shù)(或十六進(jìn)制數(shù)) 問題問題:1)數(shù)字的

13、符號(正數(shù)與負(fù)數(shù));2)加減法 ;3)字符的表示方法8位無符號數(shù),可表示0255,共256個數(shù)值。原碼原碼:數(shù)碼的最高位表示符號,0:正數(shù);1:負(fù)數(shù)8位有符號數(shù)原碼,可表示-127+127,共255個數(shù)反碼:反碼:由原碼求得。正數(shù)的反碼與原碼相同;負(fù)數(shù)的反碼除符號位不變外,其余各位均由1變0,或由0變1(取反)。 8位有符號數(shù)反碼,可表示-127+127,共255個數(shù)補碼:補碼:由反碼求得。正數(shù)的補碼與反碼相同;負(fù)數(shù)的補碼為反碼加18位有符號數(shù)補碼,可表示-128+127,共256個數(shù)例1:X1=+1010101B X1原=01010101B X1反=01010101B X1補=0101010

14、1B例2:X2=-1010101B X2原=11010101B X2反=10101010B X2補=10101011B注意:X2補補=11010101B=X2原1)日?,F(xiàn)象:當(dāng)前時間為3點。設(shè)某表當(dāng)前指示為10點,該如何撥動? 方法1:逆時針方向撥動7格 算式:10-7=3 方法2:順時針方向撥動5格 算式: 10515(12)+32)一組概念 模(mod)系統(tǒng)量程即能表示的最大的數(shù)。上例中,模為12。 同余Z=nK+Y (n 為自然數(shù)),則稱Z與Y對模K同余。 溢出系統(tǒng)超程,最高位自然丟失。1311241124補3)有符號數(shù)的加減法:符號帶在數(shù)碼中,可將減法轉(zhuǎn)換成(補碼的)加法進(jìn)行計算。例:

15、二進(jìn)制運算過程: 0001,1000B+1111,0101B =1,0000,1101B此例中,模為28=25611=0000,1011B,與245=1111,0101 同余。補碼的理解:補碼的理解:負(fù)數(shù)以有符號數(shù)補碼表示時,實際上取的是其同余數(shù)的無符號數(shù)碼。01234567890000 0001 0010 0011 0100 0101 0110 0111 1000 1001作用:便于記憶與閱讀,又適于計算機處理特點:1)不能直接在二進(jìn)制數(shù)與BCD碼之間進(jìn)行轉(zhuǎn)換,而必須先經(jīng)過十進(jìn)制,再間接進(jìn)行轉(zhuǎn)換。例: 0011,0101BCD=35=0010,0011B2)計算機運算時將其視作為二進(jìn)制數(shù),程

16、序員必須非常清醒!1、80C51功能方框圖89S51新增功能雙DPTRWDTISPFlash Memory89S52新增功能T2定時器2、89s51單片機內(nèi)部結(jié)構(gòu)圖1、89s51引腳圖2、89s51邏輯符號3、89s51的外形與封裝1)DIP封裝有40腳(最常用)42腳二種。2)TQFP封裝3)PLCC封裝4、89S51單片機的引腳定義及功能1)輸入輸出引腳)輸入輸出引腳P0.0P0.7(3932腳):第一功能:8位漏極開路型雙向I/O口。第二功能:在訪問片外存儲器時,它分時提供低8位地址和8位雙向數(shù)據(jù)。P1.0P1.7(2128腳):第一功能:帶內(nèi)部上拉的8位雙向I/O口。第二功能:P1.0

17、(T2) P1.1(T2 EX) P1.5(MOSI) P1.6(MISO) P1.7(SCK)P2.0P2.7(2128腳):第一功能:帶內(nèi)部上拉的8位雙向I/O口。第二功能:在訪問片外存儲器時輸出高8位地址P3.0P3.7(1017腳):多功能口。主功能:帶內(nèi)部上拉的8位雙向I/O口。復(fù)用功能: RDWRTTINTINTTxDRxD10102)控制引腳)控制引腳RST(9腳)復(fù)位輸入端,高電平有效。ALE (30腳):地址鎖存允許,當(dāng)單片機訪問外部存儲器時,該引腳控制是否鎖存P0口輸出的低8位地址。對87C51片內(nèi)EPROM編程(固化)時,此引腳用于輸入編程脈沖。PROGPSEN (29腳

18、):在訪問片外程序存儲器時,此端輸出負(fù)脈沖作為存儲器讀選通信號。 VPP(31腳):當(dāng) 端輸入高電平時,CPU從片內(nèi)程序存儲器地址0000H單元開始執(zhí)行程序。當(dāng)?shù)刂烦?KB(對80C51而言,視片內(nèi)ROM的容量而定)時,將自動執(zhí)行片外程序存儲器的程序。當(dāng)端輸入低電平時,CPU僅訪問片外程序存儲器。在對87C51EPROM編程時,此引腳用于施加編程電壓VPP。EAEAEA3)主電源引腳)主電源引腳Vss(20腳):接地。Vcc(40腳):主電源+5VDC。4)時鐘電路引腳)時鐘電路引腳XTAL1(19腳):接外部晶體的一端。在片內(nèi)它是振蕩電路反向放大器的輸入端。在采用外部時鐘時,對于HMOS單

19、片機,該端引腳必須接地;對于CHMOS單片機,此引腳作為驅(qū)動端。XTAL2(18腳):接外部晶體的另一端。在片內(nèi)它是一個振蕩電路反向放大電路的輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時鐘電路,對于HMOS單片機,該引腳輸入外部時鐘脈沖;對于CHMOS單片機,此引腳應(yīng)懸浮。1、指令:規(guī)定計算機執(zhí)行特定操作的命令,一般由二進(jìn)制表示。指令可分為操作碼和操作數(shù)兩部分。2、指令系統(tǒng):計算機全部指令的集合。3、程序:根據(jù)任務(wù)要求有序編排指令的集合。4、軟件:為了運行和管理計算機所編制的各種程序的總和。CPU主要是由運算器和控制器這兩大部分組成。1、控制器1)功能:用來統(tǒng)一指揮和控制計算機工作的部

20、件。取指指令譯碼發(fā)出控制信號2)組成:指令部件時序部件微操作控制部件3)程序計數(shù)器: 又稱為PC指針,是一個16位專用寄存器作用:用于存放和指示下一條要執(zhí)行指令的地址。自動加1的功能:每次取指后,PC就會自動加1。 2、運算器1)功能:用于對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯操作的執(zhí)行部件2)組成: 算術(shù)邏輯部件ALU累加器ACC(Accumulator)暫存寄存器程序狀態(tài)字寄存器PSW(Program Status Word)通用寄存器BCD碼運算調(diào)整電路等 PSW外部總線暫存器控制信號累加器暫存器ALU數(shù)據(jù)總線緩沖器時序電路指令寄存器微操作控制電路指令譯碼器存儲器地址寄存器PC1微命令狀態(tài)譯碼器1、存

21、儲器結(jié)構(gòu)分類:哈 佛 結(jié) 構(gòu)普林斯頓結(jié)構(gòu)2、89S51采用哈佛結(jié)構(gòu)1、分片內(nèi)程序存儲器與片外程序存儲器二種 片內(nèi)、片外程序存儲器空間重疊 片內(nèi)或片外的指定,由腳狀態(tài)決定。 64K空間, 16位尋址EA2、程序存儲器低端關(guān)鍵單元的特殊作用 0000H單元:80C51單片機復(fù)位后的程序入口 0003H單元:外部中斷0的中斷服務(wù)程序入口 000BH單元:T0的中斷服務(wù)程序入口 0013H單元:外部中斷1的中斷服務(wù)程序入口 001BH單元:T1的中斷服務(wù)程序入口 0023H單元:串行口的中斷服務(wù)程序入口 002BH單元:T2的中斷服務(wù)程序入口3、用MOVC指令,采用PC或DPTR變址尋址訪問程序存儲器

22、1、分“片內(nèi)數(shù)據(jù)存儲器”與“片外數(shù)據(jù)存儲器”二種 片內(nèi)、片外數(shù)據(jù)存儲器空間獨立 片內(nèi)128 B (256B)空間,8位地址尋址 片外64K空間, 16位尋址2、片外數(shù)據(jù)存儲器映象 64K片外數(shù)據(jù)存儲器空間,無特殊規(guī)定 片外I/O端口,與RAM統(tǒng)一編址 片外數(shù)據(jù)存儲器與片外I/O訪問,均使用或控制 片外數(shù)據(jù)存儲器或I/O的訪問,均采用MOVX指令 片外數(shù)據(jù)存儲器或I/O的訪問,均通過累加器A進(jìn)行RDWRFFFFH1000H外部ROM0FFFH0000H內(nèi)部ROMEA = 1外部ROMEA = 0工作寄存器03組位尋址區(qū)RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH3、片

23、內(nèi)數(shù)據(jù)存儲器映象1)片內(nèi)數(shù)據(jù)存儲器的低128B為RAM區(qū) 最低32B(00H1FH)為工作寄存器區(qū)分為 4 個工作寄存器組:0組00H07HRS1=0RS0=01組08H0FHRS1=0RS0=12組10H17HRS1=1RS0=03組18H1FHRS1=1RS0=1每個工作寄存器組包含 8 個工作寄存器:R7R6R5R4R3R2R1R0(參見P33表32) 次低16B(20H2FH)為可位尋址RAM位地址編排:00H7FH共128位(參見P34表33) 其余(30H7FH)為普通的數(shù)據(jù)存儲器FFFFH1000H外部ROM0FFFH0000H內(nèi)部ROMEA = 1外部ROMEA = 0工作寄存

24、器03組位尋址區(qū)RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH(89S52還有80H0FFH,為只能間接尋址的普通數(shù)據(jù)存儲器)2)片內(nèi)數(shù)據(jù)存儲器的高128B為SFR區(qū) 專用寄存器區(qū)SFR(稱為“特殊功能寄存器”)分布圖譜可位尋址的單元特征:地址的低3位為0(或者說,低4位地址為0或8)位地址80HFFHT2CON00000000BT2MODXXXXXX00BTL200000000BTH200000000BRCAP2L00000000BRCAP2H00000000B與89S52對應(yīng)的T2定時器89S51新增的WDT、雙DPTR等 80C51有 21 個特殊功能寄存器:A

25、cc 累加器BB寄存器PSW程序狀態(tài)字SP堆棧指針DPTR數(shù)據(jù)指針(DPH、DPL)P0P3端口P0P3的印象寄存器IP中斷優(yōu)先級寄存器IE中斷允許寄存器TMOD定時器/計數(shù)器方式字TCON定時器/計數(shù)器控制字TH0T0計數(shù)值高8位TL0T0計數(shù)值低8位TH1T1計數(shù)值高8位TL1T1計數(shù)值低8位SCON串行控制字SBUF串行數(shù)據(jù)緩沖器PCON電源控制字89S51新增:AUXR1AUXRWDTRSTDP1HDP1L89S52新增:TH2TL2RCAP2HRCAP2LT2CONT2MODCY:進(jìn)借位標(biāo)志在進(jìn)行加法(或減法)運算時,如果操作結(jié)果最高位(位7)有進(jìn)位,CY置“l(fā)”,否則清“0”。在進(jìn)

26、行位操作時,CY又作為位操作累加器C。移位指令時,左移D7Cy右移D0CyAC:半進(jìn)位標(biāo)志加法(或減法)運算時,低半字節(jié)(位3)向高半字節(jié)進(jìn)位(或借位),AC置“1”,否則清“0”。AC亦可用于BCD碼調(diào)整時的判別位。RS0、RS1:工作寄存器區(qū)選擇位工作寄存器組選擇位,用以選擇指令當(dāng)前工作的寄存器組。OV:溢出標(biāo)志有符號數(shù)運算時,如運算結(jié)果超出了數(shù)值范圍會發(fā)生溢出,使OV1,否則OV0。 在乘法運算中,OV1表示乘積超過255在除法運算中,OV1表示除數(shù)為0。P:奇偶標(biāo)志運算結(jié)果中如果有奇數(shù)個“1”,則置P為“1”,否則置“0”。在在80C51的指令系統(tǒng)中,凡是改變累加器的指令系統(tǒng)中,凡是改

27、變累加器A中內(nèi)容的指令均影響奇偶標(biāo)志位中內(nèi)容的指令均影響奇偶標(biāo)志位P。F1、F0:用戶標(biāo)志由用戶置位或復(fù)位。PSW堆棧的作用 SP初始值為07H 用戶可修改SP的值 SP指向棧頂SPSP1堆棧操作 先入后出原則 SP自動加1(壓棧時)或自動減1(退棧時) 顯式操作與隱式操作 覆蓋的危險性!SP堆棧指針 暫存數(shù)據(jù) 保護(hù)現(xiàn)場雙 DPTR DPTR的作用 89S51新增雙 DPTR雙 DPTR 的使用 DPTR0與DPTR1的切換AUXR11)不可位尋址2)僅最低位有定義DPS1選用DPTR1DPS0選用DPTR0 DPTR的賦值方法1)雙DPTR共用一個名稱:DPTR取決于選中哪個2)MOVDPT

28、R,#34D3H 或MOVDPH,#34H MOVDPL,#0D3HD7D6D5D4D3D2D1D0DPS書中有錯:D0D7不是位地址!1、P0口(80H)的位結(jié)構(gòu)IO切換讀引腳/讀鎖存器上拉電阻第二功能數(shù)據(jù)復(fù)現(xiàn)問題P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內(nèi)部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制2、P1口(90H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉ISP功能T2T2EXP1.n鎖存器P1.nQQD讀鎖存器寫鎖存器內(nèi)部總線讀引腳內(nèi)部上拉電阻TVCC3、P2口(0A0H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉第二功能數(shù)據(jù)復(fù)現(xiàn)問題P2.n鎖存器P2.nQQD讀鎖存器寫鎖存器內(nèi)部總線讀

29、引腳TVCC地址控制內(nèi)部上拉電阻MUX4、P3口(0B0H)的結(jié)構(gòu)IO切換讀引腳/讀鎖存器內(nèi)部上拉第二功能數(shù)據(jù)復(fù)現(xiàn)問題P3.n鎖存器P3.nQQD讀鎖存器寫鎖存器內(nèi)部總線讀引腳TVCC第二輸入功能第二輸出功能內(nèi)部上拉電阻I/O口第二功能注 釋P3.0RXD串行口數(shù)據(jù)接收端P3.1TXD串行口數(shù)據(jù)發(fā)送端P3.2INT0外部中斷請求0P3.3INT1外部中斷請求1P3.4T0定時/計數(shù)器0P3.5T1定時/計數(shù)器1P3.6WR外部RAM寫信號P3.7RD外部RAM讀信號5、P3口(0B0H)的第二功能6、I/O口的負(fù)載能力1)P0口的輸出級與PlP3口的輸出級在結(jié)構(gòu)上是不同的,沒有內(nèi)部上拉電阻。因

30、此,它們的負(fù)載能力和接口要求也各不相同,P1P3口也被稱做準(zhǔn)雙向口。2) P0口的每一位可驅(qū)動8個LSTTL負(fù)載。P0既可作IO端口使用,也可作地址總線數(shù)據(jù)總線使用。當(dāng)把它作通用口輸出時,輸出級是開漏電路,在驅(qū)動NMOS或其他拉電流負(fù)載時,只有外接上拉電阻,才有高電平輸出;作地址總線數(shù)據(jù)總線時,無需外接電阻,但此時不能再作IO口使用。3)P1P3口輸出級接有內(nèi)部上拉負(fù)載電阻,每位可驅(qū)動4個LSTTL負(fù)載。4)P0P3口都是雙向IO口,作輸入時,必須先在相應(yīng)端口鎖存器上寫“1”,使驅(qū)動管FET截止。系統(tǒng)復(fù)位時,端口鎖存器全為“1” 1)時鐘周期T也稱振蕩周期,為時鐘脈沖頻率的倒數(shù)。2)機器周期完

31、成一個基本操作所需時間。MC12T3)指令周期執(zhí)行一條指令所需的時間,一般包括14個機器周期。 提供單片機片內(nèi)各種微操作的時間基準(zhǔn)。1、內(nèi)部時鐘方式 利用芯片內(nèi)部的振蕩器 外接晶體或陶瓷諧振器 晶振,典型值是12MHz C1、C2:取值在20pF100pF 89S51的晶振可達(dá)33MHz 2、外部時鐘方式 利用外部振蕩脈沖接入XTAL1或XTAL2。 HMOS和CHMOS單片機的外時鐘信號接入方式不同。 復(fù)位電路完成單片機的初始化操作。 PSENPSENVCC8051VCCRST/VPDVSSR1kC22FVCC8051VCCRST/VPDVSSR11kC122FR21kC2 22FRESET

32、(a) 上電復(fù)位(b) 按鍵脈沖復(fù)位VCC8051VCCRST/VPDVSSR1 200C22FR21kRESET(c) 按鍵電平復(fù)位D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SMODSMODGF1GF1GF0GF0PDPDIDLIDL波特率倍增位掉電操作待機操作置待機方式后的第一條指令不要為寫指令(有誤操作的可能性)64條45條2條49條45條17條單字節(jié)指令雙字節(jié)指令三字節(jié)指令程序地址地址偏差寄存器別名字節(jié)地址尋址方式尋址方式:指在指令代碼中用以表示操作數(shù)地址的各種規(guī)定。 尋址方式與計算機的存儲器空間結(jié)構(gòu)是密切聯(lián)系的,尋址方式越多則計算機的功能越強,靈活性亦越大,能更

33、有效地處理各種數(shù)據(jù)。 80C51共有7種尋址方式 Rn Ri #data #data16 direct addr11(addr16) relbit / X (X) Rn:當(dāng)前選中的工作寄存器R0R7(n07)Ri:當(dāng)前選中的工作寄存器組中可作為地址指針的兩個工作寄存器R0和R1(i0或1)#data: 8位立即數(shù),即包含在指令中的8位常數(shù)#data16: 16位立即數(shù),即包含在指令中的16位常數(shù)direct: 8位片內(nèi)低128字節(jié)RAM單元及SFR的直接地址addr11(addr16):11位或16位目的地址rel:8位地址偏移量用于相對轉(zhuǎn)移指令中補碼表示,其范圍為-128+127bit: 片

34、內(nèi)RAM或SFR的直接尋址位地址: 間接尋址方式中,表示間址寄存器的符號/:位操作指令中,表示對該位先取反再參與操作,但不影響該位原值X:注釋時,表示片內(nèi)RAM的直接地址或寄存器(X):注釋時,在直接尋址方式中,表示直接地址X中的內(nèi)容:注釋時,指示指令操作流程,將箭頭左邊的內(nèi)容送入箭頭右邊的單元內(nèi)1、立即尋址在指令中給出了操作數(shù)立即數(shù)就是存放在程序存儲器中的常數(shù)。立即數(shù)前用“#”號表示MOV A,3AHMOV DPTR,#3FA6H2、直接尋址指令中給出了操作數(shù)的地址。在80C51單片機中,直接尋址能用來訪問1)特殊功能寄存器(也只有這一種尋址方式)2)低128字節(jié)內(nèi)部RAM3)位地址空間MO

35、V A,3AHMOV PSW ,50H3、寄存器尋址以通用寄存器的內(nèi)容為操作數(shù)通用寄存器 包括:1)累加器A2)通用寄存器B(與A連用)3)地址寄存器DPTR4)R0R7(工作寄存器組的選擇由PSW中的RS1和RS0來確定。)MOV A,R2INC DPTR4、寄存器間接尋址寄存器中存放操作數(shù)的地址能用寄存器間接尋址的寄存器:R0、R1、DPTR 、SP尋址空間1)用R0、R1間接尋址,訪問片內(nèi)RAM2)用SP,進(jìn)行堆棧操作(其中,高128字節(jié)只能用這二種尋址方式)3)用DPTR、R0、R1間接尋址,訪問片外數(shù)據(jù)存儲器MOV A,R0MOVX A,DPTR5、變址尋址(基址寄存器變址寄存器間接

36、尋址)以DPTR或PC為基址寄存器,累加器A為變址寄存器。變址尋址時,把兩內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。A中的數(shù)據(jù)為無符號數(shù)尋址空間:程序存儲器MOVC A,ADPTR93H下一條指令A(yù)LU2040H2041H20EOH操作碼目標(biāo)地址(PC)=20E0H0H20H00HDPLDPH47H47H例:MOVCA,ADPTR6、相對尋址將程序計數(shù)器PC中的當(dāng)前內(nèi)容與指令第二個字節(jié)所給出的數(shù)相加,其結(jié)果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址只用于修改PC值偏移量為補碼數(shù),范圍:128127JC 03H80H下一條指令A(yù)LU54Hrel=54H2000H2001H2002H2056H操作碼PC當(dāng)前值2002H

37、修正后轉(zhuǎn)移目標(biāo)地址(PC)=2056H例:SJMP2056H7、位尋址對片內(nèi)RAM或SFR的位尋址區(qū)進(jìn)行位操作時的尋址方式。SETB 20HCLRC 是最常用、最基本的一類指令。 一般傳送類指令是把源操作數(shù)傳送到目的操作數(shù),指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)修改為源操作數(shù)。 交換型傳送指令不丟失目的操作數(shù),它只是將源操作數(shù)和目的操作數(shù)交換了存放單元。傳送類指令一般不影響標(biāo)志位傳送類指令一般不影響標(biāo)志位只有堆棧操作可以直接修改程序狀態(tài)字PSW傳送目的操作數(shù)為ACC的指令將影響奇偶標(biāo)志P 1累加器A為目的操作數(shù)的指令MOV A,data ;dataA MOV A,direct ;(direct)

38、 A MOV A,Rn ;RnAMOV A,Ri ;(Ri) A 2、以寄存器Rn為目的操作數(shù)的指令MOV Rn,#data ;dataRnMOV Rn,direct ;(direct) RnMOV Rn,A ;ARn例1 A5BH,R110HR220H,R330H,(30H)4FH執(zhí)行指令:MOV R1,A ;AR1MOV R2,30H ;(30H) R2MOV R3,#83H ;83HR3執(zhí)行后:R15BH,R24FH,R383H。 4、以直接地址為目的操作數(shù)的指令MOV direct,#data ;data(direct) MOV direct,direct ;(direct) (dir

39、ect)MOV direct,A ;A(direct)MOV direct,Rn ;Rn(direct)MOV direct,Ri ;(Ri) (direct) 3、16位數(shù)據(jù)傳送指令MOVDPTR , #DATA16 該指令在譯成機器碼時,是高字節(jié)在前,低字節(jié)在后。如“MOV DPTR,#1234H”其機器碼是90、12、34。 5、以間接地址為目的操作數(shù)的指令MOV Ri,A ;A(Ri)MOV Ri,direct ;(direct) (Ri)MOV Ri,#data ; data(Ri) 例2 已知R0=60H,(60H)=50H執(zhí)行如下指令: MOV 40H,R0 ;(R0) (40H

40、)該指令執(zhí)行過程如圖1-10所示。執(zhí)行結(jié)果是40H單元中為50H 只有這四條:MOVX A、DPTR ;(DPTR) AMOVX DPTR,A ;A(DPTR)MOVX A,Ri ;(Ri) AMOVX Ri,A ;A(Ri)例3 把外部數(shù)據(jù)存儲器2040H單元中的數(shù)取出,傳送到2230H單元中去。根據(jù)題意可編程序如下:MOV DPTR,#2040H ;2040HDPTRMOVX A,DPTR ;(DPTR) AMOV DPTR,2230H ;2230HDPTRMOVX DPTR,A ;A(DPTR) 在80C51指令系統(tǒng)中,有兩條極有用的查表指令,其數(shù)據(jù)表格放在程序存儲器中。MOVC A,A

41、十PC ;PC十1PC,(A十PC) AMOVC A,A十DPTR ;(A十DPTR) A PUSH direct ;SP十1SP,(direct) (SP)POP direct ;(SP) (direct),SP1SP 使用堆棧時。一般需重新設(shè)定SP的初始值。由于壓入堆棧的第一個數(shù)必須存放在SP十1存儲單元,故實際棧頂是在SP十1所指出的單元。另外,要注意留出足夠的存儲單元作棧區(qū),因為棧頂是隨數(shù)據(jù)的彈入和彈出而變化的,如棧區(qū)設(shè)置不當(dāng),則可能發(fā)生數(shù)據(jù)重疊,這樣會引起程序混亂,以至無法運行。一般情況,執(zhí)行此指令不影響標(biāo)志,但若目標(biāo)操作數(shù)為PSW,則有可能使一些標(biāo)志改變。這也是通過指令強行修改標(biāo)志

42、的一種方法。? XCH A,Rn ;ARnXCH A,direct ;A(direct)XCH A,Ri ;A (Ri)XCHD A,Ri ;A.3A.0(Ri.3Ri.0)SWAP A ;A.3A.0A.7A.4 包括:1、加法類、減法類、乘法類、除法類2、自加1、自減1類3、BCD碼調(diào)整類關(guān)鍵點:1、影響標(biāo)志位2、加、減、乘、除法均通過A來完成功能:把源操作數(shù)所指出的內(nèi)容加到累加器A,其結(jié)果存在A中。 ADD A,Rn ;A十RnAADD A,direct ;A十(direct) AADD A,Ri ;A十(Ri) AADD A,#data ;A十dataA如果位7有進(jìn)位:CY位置“1”,

43、否則清“0”;如果位3有進(jìn)位:AC位置“1”,否則清“0”。有符號數(shù)相加,還要判斷OV位:若OV為“1”,表示和數(shù)溢出。 功能:把源操作數(shù)所指出的內(nèi)容及進(jìn)位位內(nèi)容,加到累加器A,其結(jié)果存在A中。 ADDC A,Rn ;A十Rn+CyAADDC A,direct ;A十(direct) +CyAADDC A,Ri ;A十(Ri) +CyAADDC A,#data ;A十data+CyA1、對標(biāo)志位的影響與加法指令相同2、 常用于多字節(jié)加法運算例:MOVA,R1ADDA,R0MOVR1,AINCR0INCR1MOVA,R1ADDCA,R0先清Cy位?功能:將累加器A中的數(shù),減去源操作數(shù)所指出的內(nèi)容

44、及進(jìn)位位,其結(jié)果存在A中。 SUBB A,Rn ;ARnCASUBB A,direct ;A(direct) CASUBB A,Ri ;A(Ri) CASUBB A,#data ;AdataCA如果位7有借位:CY位置“1”,否則清“0”;如果位3有借位:AC位置“1”,否則清“0”。有符號數(shù)相減,還要判斷OV位:若OV為“1”,表示差數(shù)溢出。 先清Cy位? MUL AB ,ABBA對PSW的影響:Cy0若乘積大于FFH,則OV置“1”,否則清“0”。也影響奇偶標(biāo)志位。 DIV AB ;AB的商A,余數(shù)B對PSW的影響:執(zhí)行本指令后,標(biāo)志CY和OV均復(fù)位,B0時,A和B中的內(nèi)容為不變,OV標(biāo)志

45、置“1”,說明除法溢出。此指令影響奇偶標(biāo)志位P。不影響除奇偶校驗位外的其它標(biāo)志位INC A ;A1AINC Rn ;Rn1RnINC direct ;(direct)1(direct)INC Ri ;(Ri)1(Ri)INC DPTR ;DPTR1DPTR 不影響除奇偶校驗位外的其它標(biāo)志位DEC A ;A-1ADEC Rn ;Rn-1RnDEC direct ;(diret)-1(direct)DEC R1 ;(Ri)-1(Ri)沒有:DECDPTR指令!1、清除標(biāo)志位2、只能跟在加法指令之后執(zhí)行這些指令時一般不影響程序狀態(tài)字寄存器PSW,僅當(dāng)目的操作數(shù)為ACC時對奇偶標(biāo)志位P有影響。邏輯運算

46、:與、或、異或、取反、清零等移位:A中內(nèi)容逐位左移、右移等 ANL A,Rn ;ARnA ANL A,direct ;A(direct) A ANL A,Ri ;A (Ri) A ANL A,#data ;AdataA ANL direct,A ;(direct) A(direct) ANL direct,#data ;(direct) data(direct)常用于屏蔽某些位。(使某些位為0)例1 已知A8FH,(40H)96H執(zhí)行指令“ANL A,40H”,結(jié)果:結(jié)果:A86H,(40H)96H,P1 ORL A,Rn ;ARnAORL A,rect ;A(direct) AORL A,R

47、i ;A(Ri) AORL A,#data ;AdataAORL direct,A ;(direct)A(direct)ORL direct,#data ;(direct)data(direct) 常用于置位某些位。(使某些位為1)例2: 已知A1AH,R045H(45H)39H執(zhí)行指令ORLA,R0結(jié)果:結(jié)果:A3BH,R045H(45H)39H,P1 XRL A,Rn ;ARnAXRL A,direct ;A (direct )AXRL A,Ri ;A (Ri)AXRL A,#data ;A dataAXRL direct,A ;(direct) A(direct)XRL direct,#

48、data ;(direct) data(direct)作用:使某些位取反。例3已知A87H,(32H)77H執(zhí)行指令XRL 32H,A結(jié)果:結(jié)果:A87H(32H)F0H,P0。A取反指令CPLA ;A清“0”指令CLRA ;0A 例4:已知A01011010B執(zhí)行CPLA后,A10100101B執(zhí)行CLRA后,A00H左移RLARLCA右移RRARRCAAcc.7 Acc.0 Acc.7 Acc.0 Cy Acc.7 Acc.0 Cy Acc.7 Acc.0 有條件或無條件地控制程序從原順序執(zhí)行的地址,轉(zhuǎn)移到其它指令地址上。原順序執(zhí)行的地址:PC指向下一條指令首址轉(zhuǎn)移:向前、向后轉(zhuǎn)移局部、區(qū)

49、域、全局轉(zhuǎn)移條件轉(zhuǎn)移無條件轉(zhuǎn)移調(diào)用長轉(zhuǎn)移指令LJMPADDR16短轉(zhuǎn)移指令A(yù)JMPADDR11(又稱絕對轉(zhuǎn)移指令)相對轉(zhuǎn)移指令SJMPrel相對轉(zhuǎn)移指令(2字節(jié))可以轉(zhuǎn)移到ROM中以PC指向的下一條指令的首址為起點,128127的范圍。長轉(zhuǎn)移指令(3字節(jié))可以轉(zhuǎn)移到ROM中 64K的任意位置短轉(zhuǎn)移指令(2字節(jié))可以轉(zhuǎn)移到ROM中同一頁(2K)的任意位置(注:PC指向下一條指令的首址)例:當(dāng)前PC1245H則下一條指令首址1247HPC0001,0010,0100,0111B執(zhí)行后,程序轉(zhuǎn)移到PC0001,0XXX,XXXX,XXXXB判零轉(zhuǎn)移(2字節(jié))JZrel ;A=0,pc+2+relpc

50、 ;A0, pc+2pcJNZ rel ;A0,pc+2+relpc ;A=0, pc+2pc比較轉(zhuǎn)移(3字節(jié))CJNE A,direct,rel ;A(direct):PC+3PC,0C ; A(direct):PC+3+relPC,0C ; A(direct):PC+3+relPC,1CCJNE A,#data,rel ;Adata:PC+3PC,0C ; Adata:PC+3+relPC,0C ; Adata:PC+3+relPC,1CCJNE Rn,data,rel ;Rndata:PC+3P,0C ; Rndata:PC+3+relPC,0C ; Rndata:PC+3+relPC,

51、1CCJNE Ri,data,rel ;(Ri)data:PC+3PC,0C ; (Ri)data:PC+3+relPC,0C ; (Ri)data:PC+3+relPC,lC減1轉(zhuǎn)移(3字節(jié))DJNZ Rn, rel ;Rn-1Rn ;Rn0:PC+2+relPC ;Rn0:PC+2PC DJNZ direct, rel ;(direct)-1(direct) ; (direct) 0:PC+3+relPC ;(direct)0:PC+3PCJMPADPTR指令執(zhí)行過程對DPTR、A和標(biāo)志位均無影響 多出口轉(zhuǎn)移LCALL addr16 ;PC+3PC ; SP+1SP,PC.7PC.0(SP

52、) ;SP+1SP,PC.15PC.8(SP) ;addr16PCACALL addr11 ;PC+2PC ;SP+1SP,PC.7PC.0(SP) ;SP+1SP,PC.15PC.8(SP) ;addr11PC.10PC.0RET ;(SP) PC.15PC.8,SP-1SP ;(SP) PC.7PC.0,SP-1SPRETI ;除具有RET指令的功能外,還將清除優(yōu)先級狀態(tài)寄存器NOP功能:1周期指令,不進(jìn)行任何實質(zhì)性操作常用于:操作時間間隔調(diào)整軟件陷阱位地址的表達(dá)方式有如下幾種位地址的表達(dá)方式有如下幾種:(1)直接(位)地址方式:如D4H;(2)點操作符號方式:如PSW.4,(DOH).4

53、;(3)位名稱方式:如RS1;(4)用戶定義名方式:如用偽指令bit定義 SUB.REG bit RS1CbitMOV C,bit ;bitCMOV bit,C ;CbitCLR C ;0C CLR bit ;0bitCPL C ; CCPL bit ; bitSETB C ;1CSETB bit ;1bit ANL C,bit ;CbitCANL C,/bit ;C CbitORL C,bit ;CbitCORL C,/bit ;C CbitJC rel ;C1:PC2relPC ;C0:PC2PCJNC rel ;C0:PC2relPC ;C1:PC2PCJB bit,rel ;bit1:

54、PC3relPC ;bit0:PC3PCJNB bit,rel ;bit0:PC3relPC ;bit1:PC3PCJBC bit,rel ;bit1:PC3relPC,0bit ; bit0:PC3PC例例1:比較片內(nèi)RAM 40H、50H中的兩個無符號數(shù)大小。若40H中的數(shù)小則把片內(nèi)RAM中的40H位置1,若50H中的數(shù)小則把片內(nèi)RAM中的50H位置1,若相等則把20H位置1。MOV A ,40HCJNE A ,50H , L1SETB 20HRETL1:JC L2SETB 50HRETL2: SETB 40HRET例例2:R2R3中16位補碼數(shù)(高位在R2)右移一位,并不改變符號。MOV

55、 A ,R2 MOV C , ACC.7 RRC A MOV R2, A MOV A ,R3 RRC A MOV R3 ,A SJMP $習(xí)題:P975、7、9、11、12、13、14、18、23、24、25、27、281機器語言機器語言2匯編語言匯編語言3高級語言高級語言用匯編語言編寫的源程序,在交由計算機執(zhí)行之前,必須將它翻譯成機器語言程序。這一翻譯過程稱為匯編。源程序(匯編語言程序)匯編程序目的程序(機器語言程序)1匯編語言源程序的格式匯編語言源程序的格式如下:標(biāo)號: 操作碼 操作數(shù) ;注釋標(biāo)號段:1、標(biāo)號是用戶設(shè)定的一個符號,表示存放指令或數(shù)據(jù)的存儲單元地址。2、標(biāo)號是由字母開始的18

56、個字母或數(shù)字串組成。注意,不能用指令助記符、偽指令或寄存器名來作標(biāo)號名。操作碼段是指令或偽指令的助記符,用來表示指令的性質(zhì)。操作數(shù)段給出的是參加運算(或其他操作)的數(shù)據(jù)或數(shù)據(jù)的地址。 注釋段為便于今后閱讀和交流,對本指令執(zhí)行目的和所起作用所做的說明。 2、偽指令、偽指令這些指令不屬于指令系統(tǒng),不產(chǎn)生這些指令不屬于指令系統(tǒng),不產(chǎn)生機器代碼,因此稱為偽指令或匯編指令。機器代碼,因此稱為偽指令或匯編指令。利用偽指令告訴匯編程序如何進(jìn)行利用偽指令告訴匯編程序如何進(jìn)行匯編,同時它也為人們編程或修改程序提匯編,同時它也為人們編程或修改程序提供了方便。供了方便。因不同的編程軟件,偽指令的格式因不同的編程軟件

57、,偽指令的格式與用法可能會有一些變化,請注意。與用法可能會有一些變化,請注意。2、偽指令、偽指令1)ORG確定目的程序在程序存儲器中存放的起確定目的程序在程序存儲器中存放的起始地址。始地址。 ORG 表達(dá)式表達(dá)式(exp)exp必須是必須是16位的地址值位的地址值2)END用在程序的末尾,表示程序已結(jié)束。匯用在程序的末尾,表示程序已結(jié)束。匯編程序?qū)幊绦驅(qū)ND以后的指令不再匯編。以后的指令不再匯編。2、偽指令、偽指令3)DB(Define Byte)定義字節(jié),從指定單元開始定義定義字節(jié),從指定單元開始定義(存儲存儲)若干個字節(jié)的數(shù)值或若干個字節(jié)的數(shù)值或ASCII碼字符。碼字符。DB 字節(jié)常數(shù)

58、或字節(jié)常數(shù)或ASCII字符字符4)DW(Define Word)定義字,從指定單元開始定義定義字,從指定單元開始定義(或存儲或存儲)若干個字的數(shù)據(jù)或若干個字的數(shù)據(jù)或ASCII碼字符,注意:高位碼字符,注意:高位先行。先行。 DW 字常數(shù)或字常數(shù)或ASCII字符字符2、偽指令、偽指令5)EQU(Equate)它的作用是把操作數(shù)段中的地址或數(shù)據(jù)它的作用是把操作數(shù)段中的地址或數(shù)據(jù)賦值給標(biāo)號字段中的標(biāo)號。賦值給標(biāo)號字段中的標(biāo)號。代號標(biāo)號代號標(biāo)號EQU地址或數(shù)據(jù)地址或數(shù)據(jù) 6)BIT位地址符號,把位地址賦予所規(guī)定的字位地址符號,把位地址賦予所規(guī)定的字符名稱。符名稱。 位地址符號名稱位地址符號名稱BIT

59、位地址位地址2、偽指令、偽指令7)DATA定義標(biāo)號數(shù)值,給標(biāo)號段中的標(biāo)號賦以定義標(biāo)號數(shù)值,給標(biāo)號段中的標(biāo)號賦以數(shù)值。數(shù)值。字符名稱字符名稱 DATA 表達(dá)式表達(dá)式 DATA與與EQU的區(qū)別:的區(qū)別:DATA可先使用后聲明,并登記在符號表中可先使用后聲明,并登記在符號表中EQU不登記在符號表中,必須先聲明不登記在符號表中,必須先聲明1)熟悉與分析工作任務(wù),明確其要求和要達(dá)到的工作目的、技術(shù)指標(biāo)等。2)確定解決問題的計算方法和工作步驟。3)畫工作流程圖(其圖形的符號規(guī)定均同于高級語言流程圖)。4)分配內(nèi)存工作單元,確定程序與數(shù)據(jù)區(qū)存放地址。5)按流程圖編寫源程序。6)上機調(diào)試、修改及最后確定源程序

60、。 是一種最簡單、最基本的程序(也稱為簡單程序)。特點 按程序編寫的順序依次執(zhí)行,程序流向不變例例1 將20H單元的兩個BCD碼拆開并變成ASCII碼,存入21H、22H單元。思路:采用先把20H中低4位BCD碼交換出來加以轉(zhuǎn)換、存放,然后再把高4位BCD碼交換至低4位加以轉(zhuǎn)換、存放。 ORG 2000H MOV R0,#22H MOV R0,#00 MOV A,20H XCHD A,R0 ORL 22H,#30H SWAP A ORL A,#30H MOV 21H,A例例2 設(shè)有兩個4位BCD碼,分別存放在23H、22H單元和33H、32H單元中,求它們的和,并送入43H、42H單元中去(以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論