第一篇:《32位微機原理與接口技術》課程教學大綱
《32位微機原理與接口技術》課程教學大綱
一、課程名稱:32位微機原理與接口技術
Principle of 32-bit Microcomputer and Interface Technology
二、課程編碼:
三、學時與學分:32/2
四、先修課程:電子技術基礎,16位微機原理與接口技術
五、課程教學目標
1.幫助學生獲得32位微型計算機組成及接口的基本知識,了解計算機科學發展前沿,掌握計算機應用與計算機結構研究的一般方法;
2.培養學生利用計算機分析問題與解決問題的意識,提高學生在本專業領域中的計算機應用能力。
3.使學生能更深入地認識計算機,提高學習與計算機相關知識的能力。
六、適用學科專業
非計算機類的理工科專業
七、基本教學內容與學時安排 ●微型計算機概述(2學時)微處理器的發展歷程 微型計算機組織結構 微型計算機的性能指標 ●32位微處理器(3學時)32位微處理器的功能結構 32位微處理器的內部寄存器 32位微處理器的外部引腳及功能 32位微處理器的工作方式
●存儲器空間管理與保護(4學時)描述符和頁表項
存儲器空間的分段管理 存儲器空間的分頁管理 多任務和保護
●微型計算機的存儲器系統(4學時)32位存儲器的組成與多字節訪問 存儲器系統的多級結構 高速緩沖存儲器 虛擬存儲器
●32位微處理器指令系統與程序設計(4學時)32位微處理器指令系統與尋址方式 32位匯編語言程序設計 高級語言程序的機器級表示 ●總線操作與時序(3學時)
32位微處理器的基本總線操作時序 ISA系統總線 PCI系統總線
●中斷系統(3學時)
中斷向量和中斷描述符表
32位微處理器的中斷類型與中斷處理過程 外部中斷處理與中斷控制器 軟件中斷與CPU內部異常處理
●32位微處理器輸入/輸出接口(3學時)32位微處理器的輸入/輸出端口 輸入/輸出端口地址譯碼技術 32位微處理器典型接口芯片 ●32位微型計算機組成(2學時)微型計算機的一般架構 微型計算機的主板及其發展 典型的32位微型計算機組成 ●基本人機交互接口(2學時)鍵盤 鼠標
CRT和LCD顯示器接口 其他人機交互接口
● 高性能計算機新技術(2學時)Pentium 微處理器的內部結構 指令執行的并行技術
多處理器的分布式存儲器結構 集群技術
八、教材及參考書
微型計算機(80486)原理及接口技術,朱德森主編,化學工業出版社,2003年 注:此點要求寫詳細,便于學生購買。
九、考核方式
書面考試+討論、作業+實踐表現
第二篇:微機原理與接口技術課程總結
10電子班《微機原理與接口技術》課程總結提要
一、圍繞本課程的教學內容,除了閱讀教材外你還看了哪些資料?請歸納簡述其內容。
二、請陳述當前你對微控制器工作系統的認識
三、請綜合運用51單片機的中斷系統、定時/計數器、串行口,從實際應用出發做一個設計。這個設計可以是個新產品,也可以是對身邊生活中某個環節或產品的改善;這個設計從電子專業的角度要合理可行。請清楚地闡述這個設計的功能、技術環節。不用描繪具體電路,用框圖示意即可。
四、本學期的《微機原理與接口技術》課是第一次把微機原理、接口技術、單片機整合在一門課中,并賦予了72學時的課堂教學和36學時的實驗學時。請從教學內容、實驗內容、學時安排、教師對課程的把握等方面對本課的教學提出意見。
注:
①、對于撰寫提要中的問題不能泛泛而論,希望確實通過自己的理解與想法具體說明;
②、要求字數在2000~4000之間;
③、課程總結將計入本課考核成績;
④、請各位同學截止到7月5日24點,把課程總結的電子版發到我的教學郵箱:xyredleaf_homework_1@126.com
任課教師:洪小葉
2012-6-26
有什么問題及時溝通。
第三篇:微機原理與接口技術試題答案
微機原理與接口技術試題答案
一、填空題(20*1)
1、微機系統由(硬件系統)和(軟件系統)兩部分組成。2、8086有(20)位地址線,存儲器容量為(1M)B。3、8086CPU 內部組成結構從功能上講,可分為(BIU)和(EU)兩部分。4、8086/8088的四個段寄存器為(DS)、(ES)、(SS)、(CS)
5、用來存放CPU狀態信息的寄存器是(FLAGS)。
6、用來存放指令地址的寄存器是(IP)。7、8086的16位標志寄存器FLAGS中OF=1表示運算結果(溢出),ZF=1表示運算結果為零。PF=0表示運算結果的低8位中1的個數為(奇數)。
8、8086的16位標志寄存器FLAGS中IF=1表示CPU(允許)中斷,TF=1表示CPU進入(單步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的尋址方式有兩種,分別是(直接尋址),(間接尋址)。
12、指令JO NEXT 表示OF=(1)時轉移。
13、將I/O設備端口內容讀入AL中的指令助記符是(IN)。14、8086CPU的 I/O指令采用間接尋址時,使用的間接寄存器是(DX)。
15、設置DF=1的指令為(STD)。
16、清除CF標志的指令為(CLC)。
17、一對操作堆棧的指令為(POP)和(PUSH)。
18、LOOPNZ的循環條件為(CX≠0且ZF=0)。
19、實現無符號數乘2的指令的助記符是(SHL),實現有符號數除2的指令的助記符是(SAR)。22、8086CPU引腳信號中中斷請求兩個信號名稱為(INT)和(NMI)。
26、I/O端口的編址方式一般有(存儲器統一編址)和(獨立編址)兩種
29.1片8259A中斷控制器可管理(8)級中斷,用9片8259A可構成(64)級主從式中斷管理系統。
二: 填空題(每題2分, 共20分)1.8086CPU復位時, 寄存器 CS值為(FFFFH), 寄存器 IP的值為(0000H)2.8086CPU的8個8位通用寄存器名為(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 棧頂的實際地址為(34400H).4.指令 MOV AX, [BX] 的機器碼為 8BH, 07H , 指令 MOV [BX], AX的機器碼為(89H),(07H).5.8255A的工作方式有方式0功能為(基本輸入輸出), 方式1功能為(選通輸入輸出), 方式2功能為(雙向數據傳送).6.執行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 問: 該程序執行后BUF2中的值為(9).四、程序設計題(2*10)
1、編寫一個匯編語言程序,要求從鍵盤輸入一個小寫字母,將其轉換成大寫字母在屏幕上顯示出來。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9號調用顯示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1號調用,從鍵盤接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小轉PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大轉PEND
JA PEND;
ADD/SUB AL,20H;如在“a”與“z”之間則減去20變為大寫字符
MOV DL,AL
MOV AH,2;2號功能調用顯示一個字符
INT 21H
PEND: MOV AH,4CH;程序結束運行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址為4F0H~4F3H,設計數器1工作在方式1,計數器初值為3060H,采用二進制計數,請設計實現上述功能的8253初始化程序。8253控制字格式如下:
因為計數器初值為3060H,即為16位的,所以讀/寫格式為11 因此控制字為:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 編程題(7分)編一個完整的程序, 數據段有10個符號的ASCII碼值數據塊 BUF , 若數據為0到 9的ASCII碼值, 在屏上顯示 Y , 否則顯示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口編程(7分, 僅編程序段)8255A的A口,B口均工作于方式0, 從A口輸出數據30H, 將B口輸入的數據放入寄存器BL中.(注:8255A口地址為60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL
第四篇:《微機原理與接口技術》課程總結
《微機原理與接口技術》課程總結
主要內容:
《微機原理與接口技術》是我們這學期開的比較難學的一門課,課程緊密結合通信工程專業的特點,圍繞微型計算機原理和應用主題,以Intel8086CPU為主線,系統介紹了微型計算機的基本知識、基本組成、體系結構、工作模式,介紹了8086CPU的指令系統、匯編語言及程序設計方法和技巧,存儲器的組成和I/O接口擴展方法,微機的中斷結構、工作過程,并系統介紹了微機中的常用接口原理和應用技術,包括七大接口芯片:并行接口8255A、串行接口8251A、計數器/定時器8253、中斷控制器8259A、A/D(ADC0809)、D/A(DAC0832)、DMA(8237)、人機接口(鍵盤與顯示器接口)的結構原理與應用。在此基礎上,對現代微機系統中涉及的總線技術、高速緩存技術、數據傳輸方法、高性能計算機的體系結構和主要技術作了簡要介紹。
具體介紹:
第一章:主要了敘述微型計算機的發展構成和數的表示方法
(1)超、大、中、小型計算機階段(1946年-1980年)
采用計算機來代替人的腦力勞動,提高了工作效率,能夠解決較復雜的數學計算和數據處理(2)微型計算機階段(1981年-1990年)
微型計算機大量普及,幾乎應用于所有領域,對世界科技和經濟的發展起到了重要的推動作用。(3)計算機網絡階段(1991年至今)。
計算機的數值表示方法:二進制,八進制,十進制,十六進制。要會各個進制之間的數制轉換。計算機網絡為人類實現資源共享提供了有力的幫助,從而促進了信息化社會的到來,實現了遍及全球的信息資源共享。
第二章:介紹了8086微型機算計系統的組成原理和體系結構
(1)BIU與EU的動作協調原則:
總線接口部件(BIU)和執行部件(EU)按以下流水線技術原則協調工作,共同完成所要求的信息處理任務:
①每當8086的指令隊列中有兩個空字節,或8088的指令隊列中有一個空字節時,BIU就會自動把指令取到指令隊列中。其取指的順序是按指令在程序中出現的前后順序。
②每當EU準備執行一條指令時,它會從BIU部件的指令隊列前部取出指令的代碼,然后用幾個時鐘周期去執行指令。在執行指令的過程中,如果必須訪問存儲器或者I/O端口,那么EU就會請求BIU,進入總線周期,完成訪問內存或者I/O端口的操作;如果此時BIU正好處于空閑狀態,會
第1頁
立即響應EU的總線請求。如BIU正將某個指令字節取到指令隊列中,則BIU將首先完成這個取指令的總線周期,然后再去響應EU發出的訪問總線的請求。
③當指令隊列已滿,且EU又沒有總線訪問請求時,BIU便進入空閑狀態。
④在執行轉移指令、調用指令和返回指令時,由于待執行指令的順序發生了變化,則指令隊列中已經裝入的字節被自動消除,BIU會接著往指令隊列裝入轉向的另一程序段中的指令代碼。
從上述BIU與EU的動作管理原則中,不難看出,它們兩者的工作是不同步的,正是這種既相互獨立又相互配合的關系,使得8086/8088可以在執行指令的同時,進行取指令代碼的操作,也就是說BIU與EU是一種并行工作方式,改變了以往計算機取指令→譯碼→執行指令的串行工作方式,大大提高了工作效率,這正是8086/8088獲得成功的原因之一
(2)它的工作模式:有最小和最大(3)它的尋址方式: a、數據操作數
這類操作數是與數據有關的操作數,即指令中操作的對象是數據。數據操作數又可分為: A 立即數操作數。指令中要操作的數據包含在指令中。B 寄存器操作數。指令中要操作的數據存放在指定的寄存器中。C 存儲器操作數。指令中要操作的數據存放在指定的存儲單元中。D I/O操作數。指令中要操作的數據來自或送到I/O端口。b、地址操作數
這類操作數是與程序轉移地址有關的操作數,即指令中操作的對象不是數據,而是要轉移的目標地址。它也可以分為立即數操作數、寄存器操作數和存儲器操作數,即要轉移的目標地址包含在指令中,或存放在寄存器中,或存放在存儲單元之中。
對于數據操作數,有的指令有兩個操作數:一個稱為源操作數,在操作過程中其值不改變;另一個稱為目的操作數,操作后一般被操作結果代替。有的指令只有一個操作數,或沒有(或隱含)操作數。
對于地址操作數,指令只有一個目的操作數,它是一個供程序轉移的目標地址。下面以MOV指令為例:
MOV dst,src;(dst)←(src)
第三章:對8086的指令系統的介紹
計算機的指令通常包括操作嗎和操作數兩部分,尋址方式是指令中說明操作數所在地址的方法。尋址方式有立即尋址方式、寄存器尋址方式、直接尋址方式、寄存器間接尋址方式、寄存器相對尋址方式、基址編址尋址方式、相對基址編址尋址方式,還有隱含尋址,I/O端口尋址等。要能
第2頁
正確判斷各種尋址方式。要熟練掌握一下下面的指令:數據傳送指令,通用數據傳送指令:MOV PUSH POP XCHG XLAT,輸入輸出指令:IN OUT地址目標傳送指令: LEA LDS LES,標志傳送指令: LAHF SAHF PUSHF POPF;算術運算指令,加法:ADD ADC INC AAA DAA,減法:SUB SBB DEC NEG CMP AAS DAS,乘法: MUL IMUL AAM,除法:DIV IDIV AAD CBW CWD;邏輯運算和移位指令,邏輯運算指令:NOT AND OR XOR TEST,算術邏輯移位指令:SHL/SAL SHR SAR,循環移位指令: ROL ROR RCL RCR字符串處理指令MOVS CMPS 等,指令前綴REP(無條件重復)以及轉移指令:JC JZ JS JP;標志操作指令:CLC CMC STC STI等。
第四章:討論8086匯編語言程序設計方法,并給出實例分析
匯編語言是一種利用指令助記符、符號地址、標號來編寫的計算機語言。是機器語言的符號表示,是面向機器的語言,是較低級的語言。
本章主要內容是匯編語言語句類別、MASM的運算符及其表達式、偽指令語句格式和作用、基本程序結構、調用程序和被調用程序之間的數據傳送途徑以及匯編源程序上機調試過程。
本章重點是閱讀程序和編寫程序。本章知識要點如:匯編語言語句類別:實指令語句、偽指令語句、宏指令語句,程序基本機構:順序結構、分支結構、循環結構、過程(子程序)--參數傳遞途徑:寄存器約定、存儲器約定、堆棧傳遞,程序開發步驟:編輯--匯編--鏈接--調試程序。偽指令語句:符號定義指令EQU、=,數據定義偽指令DBDWDD……,段定義偽指令SEGMENTENDS,過程定義偽指令PROC……ENDP段指派偽指令ASSUME程序定位偽指令ORG匯編結束偽指令END。
偽指令語句中的名字可以是變量名、段名、過程名。變量也有三種屬性:段、偏移量和類型。
第五章:介紹存儲器的分類及應用
半導體存儲器是指用半導體器件作為存儲器介質的存儲器。目前,計算機的內存儲器(主存儲器)都由半導體存儲器芯片擔任。本章討論半導體存儲器芯片的類型、存儲原理、使用場合、引腳功能、如何與CPU(或系統總線)連接以及及軟件驗證l連接是否正確等問題。
本章知識要點:存儲器分外部和內部,外部又分軟盤、硬盤、磁帶、閃存盤和光盤;內部又分RAM和ROM,RAM可分為 SRAM、DRAM;ROM也可分為PROM、EPROM、EEPROM 和Flash Memory。知道各種存儲器的結構和用途,特點以及尋址方式,根據實際接線圖能寫出尋址空間,以及明白與CPU之間的速度匹配問題等。在學習時要知道存儲器芯片的存儲容量的計算方法(單元數X位數/單元),會計算各存儲器的芯片地址范圍。
第六章:講述I/O接口和系統總線
中斷傳送方式的優點是:CPU不必查詢等待,工作效率高,CPU與外設可以并行工作;由于外設
第3頁
具有申請中斷的主動權,故系統實時性比查詢方式要好得多。但采用中斷傳送方式的接口電路相對復雜,而且每進行一次數據傳送就要中斷一次CPU,CPU每次響應中斷后,都要轉去執行中斷處理程序,且都要進行斷點和現場的保護和恢復,浪費了很多CPU的時間。故這種傳送方式一般適合于少量的數據傳送。
第七章:討論中斷系統并介紹中斷控制器8259A 本章主要內容是:中斷的概念,中斷源、中斷響應、中斷優先級、中斷向量表等。會編寫初始化程序,8259A的結構和原理及應用;根據題目要求會畫實際連線圖;會寫初始化命令字ICW1、ICW2、ICW3、ICW4和操作命令字OCW1、OCW2、OCW3;會處理中斷級聯和中斷嵌套的問題。
第八章:介紹了可編程計數器、定時器、8253和8254芯片的基本原理和它們的大量應用實例
本章主要內容是:定時器/計數器的應用場合;如何實現定時/計數;可編程計數器/定時器8253芯片的內部結構、引腳功能、計數原理、6種工作方式下的工作條件和輸出波形特征。重點是8253芯片的實際應用。
本章主要知識點:知道計數和定時的概念,8253的原理和結構,有3個計數器,每個計數器能獨立工作于6種方式,可通過控制字寄存器來設置每個計數器的工作方式,根據題目要求能編寫簡單的初始化程序,也能根據連線圖寫出芯片地址。
8253的引腳功能:與系統總線相連:數據引腳D0—D7、地址引腳A1、A0、控制引腳RD/CS/WR;通道引腳CLKGATEOUT其他引腳GNDVCC 可編程計數器/定時器8253的工作方式:方式0:計數結束中斷方式,方式1:可編程單穩態輸出方式,方式2:比率發生器(分頻器),方式3:方波發生器,方式4:軟件觸發選通,方式5:硬件觸發選通。
第九章:講了可編程外圍接口芯片8255A以及具體應用
本章主要內容是并行輸入/輸出接口概念,可編程并行輸入/輸出接口芯片8255A的內部結構、引腳功能、3種工作方式下的輸入輸出工作過程及其實際應用。
本章主要內容:接口的概念,知道8255A的結構和功能以及應用;芯片包括3個端口,能分別工作于3種方式,可以通過方式控制字來選擇工作方式,端口A三種方式都能工作,端口B只能工作于方式0和1,端口C只能工作于方式0,可單獨寫控制字;鍵盤接口消抖問題。
第十章:簡述了串行通信和可編程接口芯片8251A 本章主要內容:串信通信的基本概念:數據傳送方向,串行傳送的2中基本方式,串行傳送的2種基本工作方式,串行傳送速率,串行接口芯片,調制解調器;可編程串行通信接口芯片8251A:
第4頁
內部結構和外部引腳,記住方式字、命令字和狀態字。會畫與CPU的實際連線圖,能根據實際需要編寫8251的程序及其初始化設置。
第十一章:簡介了模數(A/D)和數模(D/A)轉換
本章主要內容: 模數(A/D)和數模(D/A)轉換的概念,模擬量變成數字量需要采樣、量化、編碼,通過采樣保持器來實現。ADC0809轉換器要了解其原理,可以有8255A來控制ADC0809,知道連線圖和其在整個系統中的作用。
小結:
微機的最基礎語言——計算機語言的一個最基礎最古老的匯編語言。俗話說的好,越基礎的東西越重要,因此它在重大的編程項目中應用的最為廣泛。就我個人的理解,匯編是對寄存的地址,以及數據單元進行最直接的修改。不過它有兩面性,有優點,也有缺點,最重要的一點就是它本身較為復雜:對某個數據進行修改時,本來很簡單一個操作會用比較煩瑣的語句來解決,而這些語句本身在執行和操作的過程中,占用大量的時間和成本。因此,在一些講求效率的場合,這種語言并不可取,所以可以適當對它進行取舍。
匯編語言對學習其他計算機高級語言起到一個比較、對照參考的作用。因為學習總是從最簡單最原始最基礎的知識點開始,而匯編語言就是比較原始的一種計算機語言,故而學習高級語言也當然可以從匯編開始。而學了高級計算機語言C以后,我經常將C與匯編進行對比。也發現其中的差異,以及各自的特點,優缺點,從而讓我對計算機語言又有了更深一層次的了解。由此,可以擴展的學習C++,JAVA等高級語言,這實際上是掌握了學習計算機各種語言的能力和素養。所以掌握匯編語言對以后其他語言的學習有極大的幫助和促進作用。
第5頁
第五篇:微機原理與接口技術 實驗報告一
評
閱
微機原理與接口技術
實驗報告一
姓名
匡越
學號
1715211016
時間
地點
實驗題目
一、實驗目的1.熟悉Keil軟件使用
2.熟悉MCS-51指令
3.學習簡單程序的調試方法
二、實驗說明
通過實驗了解單片機內部存儲器的結構和分配及讀寫存儲器的方法,熟悉MCS-51指令同時,學習單片機程序編程、調試方法。
三、實驗內容及步驟
1.啟動PC機,打開Keil軟件,軟件設置為模擬調試狀態。在所建的項目文件中輸入源程序1,進行編譯,如有錯誤按提示找到該行并糾錯,重新編譯直到通過。
2.編譯無誤后,打開CPU窗口,選擇單步或跟蹤執行方式運行程序,觀察CPU窗口各寄存器的變化并將觀察到的結果記錄到預習報告。
3.新建另一個項目輸入源文件2,打開CPU窗口,選擇單步或跟蹤執行方式運行程序,觀察存儲塊數據變化情況記錄到預習報告。點擊復位按鈕,改變存儲塊數據,點擊全速執行快捷按鈕,點擊暫停按鈕,觀察存儲塊數據變化情況,記錄到預習報告。點擊復位按鈕,改變存儲塊數據,分別LOOP、LOOP1設置斷點,點擊全速執行快捷按鈕,在斷點處觀察寄存器及存儲塊數據變化情況。
WAVE軟件使用方法參考其幫助文件。
四、實驗程序流程框圖、實驗程序
1、源程序1
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H;
(R0)=
(00H)=
MOV
A,#40H;
(A)=
MOV
R6,A;
(A)=,(R6)=
MOV
A,@R0;
(R0)=
(A)=
MOV
40H,A;
(A)=
(40H)=
MOV
30H,40H;
(30H)=
(40H)=
MOV
R1,#40H;
(R1)=
MOV
@R1,#0AAH;(R1)=
(40H)=
MOV
SP,#60H;
(SP)=
PUSH
ACC;
(SP)=
(61H)=
PUSH
30H;
(SP)=
(62H)=
MOV
A,#0FFH;
(SP)=
(A)=
MOV
30H,#30H;
(SP)=
(30H)=
POP
ACC;
(SP)=
(A)=
POP
30H;
(SP)=
(30H)=
ADD
A,30H;
(30H)=
(A)=
Cy=
SUBB
A,#10;
(A)=
Cy=
MOV
R4,#00100100B;
(R4)=
H
MOV
A,#39H;
(A)
=
ADD
A,R4;
(A)
=
(R4=)
DA
A;
(A)
=
Cy=
MOV
28H,#55H;(28H)
=
Cy=
MOV
C,40H;
(PSW)
=
Cy=
MOV
26H,#00H;(26H)
=
Cy=
MOV
30H,C;
(30H)
=
(26H.1)
=
SJMP
$
j點擊project,選擇下拉式菜單中的New
project;
k選擇所要的單片機,這里我們選擇常用的Ateml
公司的AT89C51;
l新建一個File,輸入源程序;
m將新建文件保存為text.asm的格式;
n鼠標在屏幕左邊的Source
Group1
文件夾圖標上右擊彈出菜單,在這里可以做在項目中增加減少文件等操作。選“Add
File
to
Group
‘Source
Group
1’”彈出文件窗口,選擇剛剛保存的文件;
o對程序進行編譯運行;
使程序一得:
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H
;
(R0)=
0x30
(00H)=
0x0000
MOV
A,#40H
;
(A)=
0x40
MOV
R6,A
;
(A)=
0x40,(R6)=
0x40
MOV
A,@R0
;
(R0)=
0x30
(A)=
0x16
MOV
40H,A
;
(A)=0x16
(40H)=
0x0040
MOV
30H,40H
;
(30H)=
0x0030
(40H)=
0x0040
MOV
R1,#40H
;
(R1)=
0x40
MOV
@R1,#0AAH;(R1)=
0x40
(40H)=
0x0040
MOV
SP,#60H;
(SP)=
0x60
PUSH
ACC;
(SP)=
0x61
(61H)=
0x0061
PUSH
30H;
(SP)=
0x62
(62H)=
0x0062
MOV
A,#0FFH;
(SP)=
0x62
(A)=
0xff
MOV
30H,#30H;
(SP)=
0x62
(30H)=
0x0030
POP
ACC;
(SP)=
0x61
(A)=
0x16
POP
30H;
(SP)=
0x60
(30H)=
0x0030
ADD
A,30H;
(30H)=
0x0030
(A)=
0x2a
Cy=
0
SUBB
A,#10;
(A)=
0x20
Cy=
0
MOV
R4,#00100100B;
(R4)=
0x24
H
MOV
A,#39H;
(A)
=
0x39
ADD
A,R4;
(A)
=
0x5d
(R4=)
0x24
DA
A;
(A)
=
0x63
Cy=
0
MOV
28H,#55H;(28H)
=
0x0028
Cy=
0
MOV
C,40H;
(PSW)
=
0x80
Cy=
MOV
26H,#00H;(26H)
=
0x0026
Cy=
MOV
30H,C;
(30H)
=
0x0030
(26H.1)
=
0
SJMP
$
2、源程序2
設(30H)=4,(31H)=1,(32H)=3,(33H)=5,(34H)=2,(35H)=6
ORG
0000H
AJMP
MAIN
ORG
0030H
MAIN:
MOV
R0,#30H;30H→R0
MOV
R2,#6;6→R2
SORT:
MOV
A,R0;30H→A
MOV
R1,A;30H→R1
MOV
A,R2;6→A
MOV
R5,A;6→R5
CLR
F0;
狀態標志位清零
DEC
R5;寄存器R5減一
MOV
A,@R1;R1→A
LOOP:
MOV
R3,A;A→R3
INC
R1
;寄存器R1增1
CLR
C
;進位標志位清零
MOV
A,@R1;31H→A
SUBB
A,R3;累加器內容減去寄存器內容
JNC
LOOP1;僅為標志位為1,則進行LOOP1
;以下代碼完成數據交換
SETB
F0;狀態標志位置1
MOV
A,@R1;31H→A
XCH
A,R3;將A于與R3的數據交換
MOV
@R1,A;將4賦值給寄存器R1(31H)
DEC
R1;寄存器減一
MOV
A,R3;1→A
MOV
@R1,A;將1賦值給寄存器R1(30H)
INC
R1;寄存器R1增一
LOOP1:
MOV
A,@R1;4→A
DJNZ
R5,LOOP;寄存器R5減一,不為零則回到LOOP
JB
F0,SORT;狀態標志位為零,則回到SORT
SJMP
$