微機原理期末考試重點總結(jié)_第1頁
微機原理期末考試重點總結(jié)_第2頁
微機原理期末考試重點總結(jié)_第3頁
微機原理期末考試重點總結(jié)_第4頁
微機原理期末考試重點總結(jié)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、把尋找操作數(shù)的方式叫做(操作數(shù))尋址方式立即數(shù)尋址方式寄存器尋址方式存儲器尋址方式1、直接尋址方式 2、寄存器間接尋址方式3、寄存器相對尋址方式 4、基址變址尋址方式 5、相對基址變址尋址方式微處理器的定義微處理器即中央處理單元,采用大規(guī)模集成電路技術(shù)制成的半導(dǎo)體芯片,內(nèi)部集成了計算機的主要部件:控制器、運算器、寄存器組。微處理器通過執(zhí)行指令序列完成指定的操作,處理器能夠執(zhí)行全部指令的集合就是該處理器的指令系統(tǒng)。微機的總線結(jié)構(gòu)的好處,使用特點。包括總線定義,分類??偩€定義:指傳遞信息的一組公用導(dǎo)線,總線結(jié)構(gòu)的好處:總線結(jié)構(gòu)使得微機系統(tǒng)組態(tài)靈活,擴展方便。使用特點:在某個時刻只有一個總線主控設(shè)備

2、控制系統(tǒng)總線。某一時刻只能有一個設(shè)備向總線發(fā)送信號,但可以有多個設(shè)備同時從總線上獲取信號??偩€按傳輸信號可以分為數(shù)據(jù)總線(用于CPU與其他部件之間傳遞信息,具有三態(tài)功能,且是雙向的)、地址總線(用于傳遞CPU要訪問的存儲單元或I/O接口的地址信號)、控制總線(連接CPU的控制部件和內(nèi)存、I/O設(shè)備等,用來控制內(nèi)存和I/O設(shè)備的全部工作)馮諾依曼存儲程序工作原理1、 將采取二進制形式表示數(shù)據(jù)和指令。指令由操作碼和地址碼組成2、 將程序和數(shù)據(jù)存放在存儲器中,計算機在工作時從存儲器取出指令加以執(zhí)行,自動完成計算任務(wù)。3、 指令的執(zhí)行是順序的,即一般按照指令在存儲器中存放的順序執(zhí)行,程序分支由轉(zhuǎn)移指令

3、實現(xiàn)。4、 計算機由存儲器、運算器、控制器、輸入設(shè)備和輸出設(shè)備五大基本部件組成,并規(guī)定了各部件的基本功能。8086微處理器的構(gòu)成、每一個T狀態(tài)的主要工作?;镜拇鎯ψx、寫總線周期構(gòu)成。常用的控制信號??偩€周期是指CPU通過總線與外部(存儲器或I/O端口)進行一次數(shù)據(jù)交換的過程,即完成一次總線操作的時間指令周期是指一條指令經(jīng)取指、譯碼、操作數(shù)讀寫直到指令完成所需要的時間。存儲器讀總線周期:T1狀態(tài)輸出存儲器的地址T2狀態(tài)輸出控制信號-RD,選通存儲器;DEN信號,選通數(shù)據(jù)收發(fā)器T3和Tw狀態(tài)檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送存儲器寫總線周期:T1狀態(tài)輸出20位存儲器地址A

4、19 A0 T2狀態(tài) -WR信號有效,-DEN信號有效以輸出數(shù)據(jù)D7D0T3和Tw狀態(tài) -WR、-DEN等控制信號持續(xù)有效,T3時鐘下降沿檢測READY信號,決定是否插入Tw;Tw期間,各信號延續(xù)狀態(tài)。T4狀態(tài)完成數(shù)據(jù)傳送,并準(zhǔn)備過渡到下一操作。-WR、-DEN轉(zhuǎn)為無效。常用的控制信號:ALE地址鎖存允許,輸出、三態(tài)、高電平有效IO/-M:I/O或存儲器訪問,輸出、三態(tài)-WR:寫控制,輸出、三態(tài)、低電平有效-RD:讀控制,輸出、三態(tài)、低電平有效INTR、-INTA等存儲器地址的譯碼問題全譯碼:所有的系統(tǒng)地址線均參與對存儲單元的譯碼尋址特點:采用全譯碼,每個存儲單元的地址都是唯一的,不存在地址重

5、復(fù)譯碼電路可能比較復(fù)雜、連線也較多部分譯碼:只有部分(高位)地址線參與對存儲芯片的譯碼特點:每個存儲單元將對應(yīng)多個地址(地址重復(fù)),需要選取一個可用地址可簡化譯碼電路的設(shè)計、但系統(tǒng)的部分地址空間將被浪費存儲芯片為什么要設(shè)置片選信號?它與系統(tǒng)地址總線有哪些連接方式?采用何種連接方式可避免地址重復(fù)?采用哪些連接方式可節(jié)省用于譯碼的硬件?解答:片選信號說明該存儲器芯片是否被選中正常工作,設(shè)置它可以比較方便地實現(xiàn)多個存儲器芯片組成大容量的存儲空間存儲器片選信號通常與CPU地址總線的高位地址線相關(guān)聯(lián),可以采用“全譯碼”、“部分譯碼”、“線選譯碼”方式采用全譯碼方式可以避免地址重復(fù)采用部分或線選譯碼可以節(jié)

6、省譯碼硬件8086微處理器的內(nèi)部結(jié)構(gòu),EU、BIU的定義和作用,流水線。BIU(總線接口單元):由指令隊列、指令指針、段寄存器、地址加法器和總線控制邏輯構(gòu)成。該單元管理著8088與系統(tǒng)總線的接口、負責(zé)CPU對存儲器和外設(shè)進行訪問。EU(執(zhí)行單元):由ALU、通用寄存器、標(biāo)志寄存器和指令譯碼邏輯等構(gòu)成,它負責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運算。兩個單元相互獨立,分別完成各自操作。兩個單元可以并行執(zhí)行,實現(xiàn)指令取指和執(zhí)行的流水線操作8086的尋址方式。物理地址和邏輯地址的定義。兩者之間轉(zhuǎn)換。8086系統(tǒng)存儲器采用分段管理方式。(要求很熟練)對于每個存儲器單元都有一個唯一的20位地址,稱為物理地址。在80

7、88的總線內(nèi)部和用戶編程時,所采用的“段地址:偏移地址”形式,稱為邏輯地址。一個存儲器單元可以擁有多個邏輯地址,但可能擁有唯一的物理地址。轉(zhuǎn)換過程:先將段寄存器提供的16位段地址左移四位,低位補0,恢復(fù)為20位地址,然后與由各種尋址方式提供的16位偏移地址相加,即得到20位的物理地址。8086微處理器的內(nèi)部構(gòu)成。8086的寄存器結(jié)構(gòu),標(biāo)志寄存器中每一個標(biāo)志位的含義及應(yīng)用。8086復(fù)位時各寄存器的初始狀態(tài)。內(nèi)部構(gòu)成:算術(shù)邏輯單元(運算器)、寄存器組、指令處理單元(控制器)寄存器結(jié)構(gòu):8086/8088共有8個的通用寄存器,1個標(biāo)志寄存器,4個段寄存器和1個指令指針寄存器。進位標(biāo)志 CF:計算結(jié)果

8、的最高有效位有進位,則CF=1,否則CF=0溢出標(biāo)志 OF:若算術(shù)運算的結(jié)果有溢出,則OF=1;否則 OF0全零標(biāo)志位 ZF:若運算結(jié)果為全0,則ZF=1,否則ZF=0符號標(biāo)志 CF:運算結(jié)果最高位為1,則SF=1;否則SF=0奇偶標(biāo)志位 PF:當(dāng)運算結(jié)果最低字節(jié)中1的個數(shù)為零或偶數(shù)時,PF=1;否則PF=0(奇校驗)輔助進位標(biāo)志 AF:運算時D3位(低半字節(jié))有進位或借位時,AF=1;否則AF=0方向標(biāo)志 DF:存儲地址自動增加,DF=1,否則DF=0中斷允許標(biāo)志: IF1,則允許中斷,IF0,則禁止中斷陷阱標(biāo)志TF: TF0,處理器正常工作;TF1,處理器每執(zhí)行一條指令就中斷一次中斷向量表

9、。掌握中斷向量表的構(gòu)成,計算中斷類型號,中斷服務(wù)程序入口地址。中斷的工作過程。中斷向量表是一種表數(shù)據(jù)結(jié)構(gòu),是中斷向量號與其對應(yīng)的中斷服務(wù)程序入口之間的鏈接表。該地址包括:偏移地址IP 、段地址CS (共32位)每個中斷向量的低字是偏移地址、高字是段地址,需占用4個字節(jié)(低對低,高對高)。8088 微處理器從物理地址000H開始到3FFH(1KB),依次安排各個中斷向量,向量號從0到255。256個中斷向量所占用的1KB區(qū)域,稱中斷向量表中斷向量的存放首址=N*4 中斷類型:8088 CPU具有哪些中斷類型?各種中斷如何產(chǎn)生,如何得到中斷向量號?除法錯中斷:在執(zhí)行除法指令時,除數(shù)為0或商超過了寄

10、存器所能表達的范圍產(chǎn)生指令中斷:在執(zhí)行中斷指令I(lǐng)NT n時產(chǎn)生溢出中斷:在執(zhí)行溢出中斷指令I(lǐng)NTO時,溢出標(biāo)志OF為1產(chǎn)生單步中斷:單步標(biāo)志TF為1,在每條指令執(zhí)行結(jié)束后產(chǎn)生非屏蔽中斷:外部通過NMI請求信號向微處理器提出請求時產(chǎn)生可屏蔽中斷:外部通過INTR請求信號向微處理器提出請求,并在允許可屏蔽中斷的條件下產(chǎn)生(2)除法錯中斷、溢出中斷、單步中斷、非屏蔽中斷的向量號是8086微處理器內(nèi)部已經(jīng)確定指令中斷的操作數(shù)n就是向量號可屏蔽中斷的向量號在響應(yīng)中斷時通過數(shù)據(jù)總線從外部獲得什么是8259A的中斷結(jié)束字(EOI)?(1)IRi被響應(yīng)時,ISR中對應(yīng)的Di位被置1;(2)中斷處理完畢,相應(yīng)的

11、Di位應(yīng)置0。(3)向8259A送中斷結(jié)束指令,使ISR的某位清0,指令的內(nèi)容叫作中斷結(jié)束字。8259A中IRR、IMR和ISR三個寄存器的含義中斷請求寄存器IRR:保存8條外界中斷請求信號IR0IR7的請求狀態(tài)Di位為1表示IRi引腳有中斷請求;為0表示無請求中斷屏蔽寄存器IMR:保存對中斷請求信號IRi的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許中斷服務(wù)寄存器ISR:保存正在被8259A處理的中斷的狀態(tài)Di位為1表示IRi中斷正在處理中;為0表示沒有被處理中斷的概念。中斷向量表的含義。深入理解8259的工作方式,優(yōu)先權(quán)設(shè)置、中斷結(jié)束處理、中斷源屏蔽、中斷觸發(fā)等等。8259

12、的初始化編程。中斷服務(wù)程序編寫。中斷:指當(dāng)出現(xiàn)需要時,CPU暫時停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的程序和執(zhí)行過程。優(yōu)先權(quán)設(shè)置:在ISR的 Di 位置位期間,禁止再發(fā)生同級和低級優(yōu)先權(quán)的中斷,但允許高級優(yōu)先權(quán)中斷的嵌套中斷結(jié)束處理:自動中斷結(jié)束方式、普通中斷結(jié)束方式、特殊中斷結(jié)束方式;中斷向量表的含義:256個中斷向量所占用的1KB區(qū)域,稱中斷向量表計算機主機和I/O設(shè)備之間進行數(shù)據(jù)傳送的方法。重點掌握查詢方式完成數(shù)據(jù)傳送的流程,要會編程。查詢傳送的特點是:工作可靠,適用面寬,但傳送效率低查詢輸入接口(考電路):代碼如下: mov dx,8000h ;dx指向狀態(tài)端口Status: in a

13、l, dx ;讀狀態(tài)端口 test al,01h ;測試標(biāo)志位D0 jz status ;D0=0,未就緒,繼續(xù)查詢 inc dx ;D0=1,就緒,DX指向數(shù)據(jù)端口 in al,dx ;從數(shù)據(jù)端口輸入數(shù)據(jù)中斷傳送:中斷傳送是一種效率更高的程序傳送方式;中斷過程的完成由中斷系統(tǒng)(硬件,如8259和CPU)和中斷服務(wù)程序(軟件)共同控制完成中斷工作過程:1、 中斷請求(外設(shè)) 2、中斷響應(yīng)(CPU)3、關(guān)中斷(CPU) 4、斷點保護(CPU)5、中斷識別(軟件/硬件) 6、現(xiàn)場保護(用戶)7、中斷服務(wù)(用戶) 8、恢復(fù)現(xiàn)場(用戶)9、開中斷(用戶/CPU) 10、中斷返回(IRET/用戶)最小組

14、態(tài)的寫總線周期時序:如何限制只能輸入小寫字母( 61h7Ah,課本P22),否則要求重新輸入。.datamsg db not a lowercase,input again, db0dh, 0ah, $input:mov ah,1;輸入小寫字母int 21h cmp al, 61hjl once-againcmp al, 7Ahja once-againjmp convertonce-again: mov dx,offset msgmov ah,9int 21hjmp inputconvert:sub al,20h ;轉(zhuǎn)換為大寫字母采用查表法,實現(xiàn)一位16進制數(shù)轉(zhuǎn)換為ASCII碼顯示04h34

15、h(4) 0bh42h(B)ASCIIdb 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;對應(yīng)0 9的ASCII碼db 41h,42h,43h,44h,45h,46h;對應(yīng)A F的ASCII碼hexdb 04h,0bh;假設(shè)兩個16進制數(shù);代碼段mov bx,offset ASCII;BX指向ASCII碼表mov al, hex;AL取得一位16進制數(shù);恰好就是ASCII碼表中的位移and al, 0fh;只有低4位是有效的,高4位清0xlat ;換碼:ALDS:BXALmov dl,al;欲顯示的ASCII碼送DLmov ah,2;2號DOS功能調(diào)用int

16、21h;顯示一個ASCII碼字符mov al,hex+1;轉(zhuǎn)換并顯示下一個數(shù)據(jù)and al,0fhxlatmov dl,almov ah,2int 21h編寫一個源程序,在鍵盤上按一個鍵,將從AL返回的ASCII碼值顯示出來,如果按下ESC鍵則程序退出。(可調(diào)用書中的HTOASC子程序)HTOASCprocand al,0fh ;al低四位保存待轉(zhuǎn);換的16進制數(shù)cmp al,9jbe htoasc1add al,37h ;是A F,加37Hret ;子程序返回htoasc1:add al,30h ;0 9,加30Hret ;子程序返回HTOASCendppush axmov cl, 4ror

17、 al, clcall HTOASCcall disp_a_charpop axcall HTOASCcall disp_a_char把從鍵盤輸入的一個小寫字母用大寫字母顯示出來(大小寫字母轉(zhuǎn)換)。 mov ah,1;輸入小寫字母int 21hsub al,20h;轉(zhuǎn)換為大寫字母mov dl,almov ah,2int 21h;顯示寫一個子程序,根據(jù)入口參數(shù)AL0、1、2,依次實現(xiàn)對大寫字母轉(zhuǎn)換成小寫、小寫轉(zhuǎn)換成大寫或大小寫字母互換。欲轉(zhuǎn)換的字符串在string中,用0表示結(jié)束。 lucaseprocpush bxmov bx,offset stringcmp al,0je case0 cmp

18、 al,1 jz case1 cmp al,2 jz case2 jmp donecase0:cmp byte ptr bx,0 je donecmp byte ptr bx,A jb next0cmp byte ptr bx,Z ja next0add byte ptr bx,20hnext0:inc bxjmp case0case1:cmp byte ptr bx,0je donecmp byte ptr bx,ajb next1cmp byte ptr bx,zja next1sub byte ptr bx,20hnext1:inc bxjmp case1case2:cmp byte p

19、tr bx,0 je donecmp byte ptr bx,A jb next2cmp byte ptr bx,Z ja next20add byte ptr bx,20hjmp next2next20:cmp byte ptr bx,ajb next2cmp byte ptr bx,zja next2sub byte ptr bx,20hnext2:inc bxjmp case2done:pop bxretlucaseendp循環(huán)累加(調(diào)用子程序)arraydb 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90hcountequ $-array;數(shù)組元素個數(shù)

20、resultdb ?;校驗和;代碼段(主程序)mov bx,offset array;BX數(shù)組的偏移地址mov cx,count;CX數(shù)組的元素個數(shù)call checksum;調(diào)用求和過程mov result,al;處理出口參數(shù)checksumprocxor al,al;累加器清0sum:add al,bx;求和inc bx;指向下一個字節(jié)loop sum RetChecksum endp計算AX中有符號數(shù)的絕對值 cmp ax,0 jge nonneg;條件滿足(AX0),轉(zhuǎn)移 neg ax;條件不滿足,求補(即絕對值P43)nonneg: mov result,ax;保存結(jié)果;不恰當(dāng)?shù)姆种?/p>

21、 cmp ax,0 jl yesneg;條件滿足(AX0),轉(zhuǎn)移 jmp nonnegyesneg:neg ax;條件滿足,求補nonneg:mov result,ax;保存結(jié)果設(shè)置兩個變量maxay和minay存放最大和最小值arraydw 10 dw -3,0,20,900,587,-632,777,234,-34,-56maxaydw ?;存放最大值minaydw ?;存放最小值 lea si,array mov cx,si;取得元素個數(shù) dec cx;減1后是循環(huán)次數(shù) add si,2 mov ax,si mov bx,axmaxck:add si,2 cmp si,ax;與下一個數(shù)據(jù)

22、比較 jle minck mov ax,si;AX取得更大的數(shù)據(jù) jmp nextminck:cmp si,bx jge next mov bx,si;BX取得更小的數(shù)據(jù)next:loop maxck;計數(shù)循環(huán) mov maxay,ax;保存最大值 mov minay,bx;保存最小值挑出數(shù)組中正數(shù)(不含0)和負數(shù),分別形成正、負數(shù)組DATAS SEGMENT count equ 10 array dw 23h,9801h ayplus dw count dup(0) ayminus dw count dup(0)DATAS ENDSSTACKS SEGMENT STACKS ENDSCODE

23、S SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX mov si,offset array mov di,offset ayplus mov bx,offset ayminus mov ax,ds mov es,ax mov cx,count cld again: lodsw cmp ax,0 jl minus jz next minus: xchg bx,di stosw xchg bx,di next: loop again MOV AH,4CH INT 21HCODES ENDSEND STA

24、RT8259A 的初始化程序段(7.8), ;寫入ICW1:設(shè)定邊沿觸發(fā)方式,單片方式,:, ;寫入ICW2:設(shè)定IR0的中斷向量號為90h,:, ;寫入ICW4:設(shè)定普通嵌套方式,普通中斷方式,8259的初始化編程:主片: mov al,11h;寫入ICW1out 20h,alintr1:mov al,08h;寫入ICW2out 21h,alintr2:mov al,04h;寫入ICW3out 21h,alintr3:mov al,05h;寫入ICW4out 21h,al 從片: mov al,11h;寫入ICW1out 0a0h,alintr5:mov al,70h;寫入ICW2out 0

25、a1h,alintr6:mov al,02h;寫入ICW3out 0a1h,alintr7:mov al, 01h;寫入ICW4out 0a1h,al試按如下要求分別編寫8253的初始化程序,已知8253的計數(shù)器02和控制字I/O地址依次為204H207H。 使計數(shù)器2工作在方式2,計數(shù)值為02F0H。 mov al,0b4hmov dx,207hout dx,almov ax,02f0hmov dx,206hout dx,al ;先寫入低字節(jié)mov al,ahout dx,al ;后寫入高字節(jié)8255的初始化編程要求:A口:方式1輸入、CH口:輸出、CL口:輸入、B口:方式0輸出方式控制字:

26、1 0110 001 B或B1H初始化的程序段:mov dx,0fffeh;假設(shè)控制端口為FFFEHmov al,0b1h;方式控制字out dx,al;送到控制端口某系統(tǒng)中8253芯片中計數(shù)器的0-2和控制字端口地址分別是FFF0HFFF3H。編寫8253兩個計數(shù)器初始化程序及兩個計數(shù)器的連通圖。計數(shù)器0的計數(shù)值:5M/1K50001388H 方式控制字:0010010125H、2DH、35H、3DH (十進制計數(shù)) 0010010024H、2CH、34H、3CH (二進制計數(shù))計數(shù)器1的計數(shù)值:1000方式控制字:0110100169H、79H (十進制計數(shù)) 0110100068H、78

27、H (二進制計數(shù))MOV DX,0FFF3H MOV AL,25H ;通道0,只寫高字節(jié),方式2,十進制OUT DX,ALMOV DX, 0FFF0HMOV AL,50H ;計數(shù)初值5000OUT DX,ALMOV DX,0FFF3HMOV AL,69H ;通道1,方式4OUT DX,ALMOV DX, 0FFF1HMOV AL,10H ;計數(shù)初值1000OUT DX,AL3、某字符輸出設(shè)備(如打印機),其數(shù)據(jù)口和狀態(tài)口的地址均為80H。在讀取狀態(tài)時,當(dāng)標(biāo)志位D70時,表明該設(shè)備閑,可以接收一個字符,請編寫利用查詢方式進行數(shù)據(jù)傳送的程序段。要求將存放于符號地址addr處的一串字符(以$為結(jié)束標(biāo)

28、志)輸出給該設(shè)備。mov bx, offset addr ;利用offset操作符,可在匯編過程中得到addr的偏移地址again:mov ah, bx cmp ah, $jz donestatus:in al, 80h ;查詢一次 test al, 80h ;兩個80h不一樣 jnz status ;D7=1,表示設(shè)備忙,繼續(xù)查詢 mov al, ah out 80h, al ;輸出一個字節(jié) inc bx jmp again ;循環(huán)done:如圖10.23為用一片8255A控制8個8段共陰極LED數(shù)碼管的電路?,F(xiàn)要求按下某個開關(guān),其代表的數(shù)字(K1為1,K2為2,K8為8)在數(shù)碼管從左到右循

29、環(huán)顯示(已有一個延時子程序delay可以調(diào)用),直到按下另一個開關(guān)。假定8255A的數(shù)據(jù)端口A、B、C及控制端口的地址依次為FFF8HFFFBH。編寫完成上述功能的程序,應(yīng)包括8255A的初始化、控制程序和數(shù)碼管的顯示代碼表;顯示代碼表tabledb 0c0h;對應(yīng)0(任意)db 0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h ;對應(yīng)18;8255A初始化mov dx,0fffbhmov al,10001001b;89hout dx,al ;控制程序again0:mov dx,0fffah;輸入開關(guān)狀態(tài)in al,dxmov cx,8;確定哪個開關(guān)閉合mov ah,01

30、h;mov ah,08hagain1:shr al,1;shl al,1jnc disp0inc ah;dec ahloop again1jmp disp1;顯示字段disp0:mov bx,offset tablemov al,ahxlatmov dx,0fff8hout dx,al;輸出段碼disp1:mov cx,8;循環(huán)顯示8位mov al,01hmov dx,0fff9hdisp2:out dx,al;輸出位碼call delayshl al,1loop disp2jmp again0;寫入方式字mov al,100001b;81hmov dx,控制口地址;0fffehout dx,

31、al;加入下一段更好,使L0L3全亮mov al,0fhmov dx,端口C地址;0fffchout dx,al;控制程序段mov dx,端口C地址;0fffchin al,dx;讀入PC0PC3mov cl,4shl al,cl;左移4位out dx,al;控制PC4PC7以8255的B口作輸入口、連接邏輯電平開關(guān);以8255的A口作輸出口、連接發(fā)光二極管電路。要求:當(dāng)輸入不是全0時,輸出與輸入保持一致(即高電平時點亮);當(dāng)輸入是全0時,令發(fā)光二極管循環(huán)點亮(或閃爍告警)。begin: mov dx,portc ; 8255 初始化 mov al,82h ; A組方式0,A口出,; B組方式

32、0,B口入 out dx,al mov ah,0ffh mov bl,0lp: mov dx,portb ; B 口讀入開關(guān)狀態(tài) in al,dx test al,ah ;與ffh比較,看是否8個開關(guān)全閉合(0信號) jz shift mov dx,porta ; A 口輸出開關(guān)狀態(tài) not al out dx,al jmp lpshift: mov al,bl ;bl初值為0 mov dx,porta not al out dx,al call delay ; 延時shl bl,1 ; 移位 test bl,ah ;ah初值為ffh jnz lp mov bl,1 jmp lp2、如果有一個

33、輸入設(shè)備,其數(shù)據(jù)口地址為FFE0H,狀態(tài)口地址為FFE2H,當(dāng)狀態(tài)標(biāo)志D01時,表明一個字節(jié)的輸入數(shù)據(jù)就緒,請編寫利用查詢方式進行數(shù)據(jù)傳送的程序段。要求從該設(shè)備讀取100個字節(jié)并寫到從2000H:2000H開始的內(nèi)存中。通過讀取狀態(tài)寄存器的標(biāo)志位來檢查外設(shè)是否就緒。若不就緒就繼續(xù)查詢,即程序不斷循環(huán);直至就緒。然后,進行下一步的傳送工作。mov bx, 2000hmov ds, bxmov cx, 100again:mov dx, 0ffe2hstatus:in al, dx ;讀入狀態(tài)標(biāo)志D0test al, 01h ;al & 01hjz statusmov dx, 0ffe0hin al, dx ;輸入一個字節(jié)mov bx, al ;alds:bx, 寄存器間接尋址inc bx查詢方式完成數(shù)據(jù)傳送。1、編程實現(xiàn)以下功能:當(dāng)K0鍵單獨按下時,發(fā)光二極管L0L7將流水點亮(LnLn+1),每個維持200

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論