《8086實(shí)驗(yàn)指導(dǎo)書(shū)》_第1頁(yè)
《8086實(shí)驗(yàn)指導(dǎo)書(shū)》_第2頁(yè)
《8086實(shí)驗(yàn)指導(dǎo)書(shū)》_第3頁(yè)
《8086實(shí)驗(yàn)指導(dǎo)書(shū)》_第4頁(yè)
《8086實(shí)驗(yàn)指導(dǎo)書(shū)》_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、8086實(shí)驗(yàn)指導(dǎo)書(shū) 微機(jī)原理實(shí)驗(yàn)室實(shí)驗(yàn)一、簡(jiǎn)單I/O口擴(kuò)展實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康模?、認(rèn)識(shí)簡(jiǎn)單輸入輸出接口的工作原理。2、掌握D觸發(fā)器(74LS273)和緩沖器(74LS244)的引腳及使用方法。二、 實(shí)驗(yàn)內(nèi)容:1、熟悉74LS273、74LS244的應(yīng)用接口方法。2、熟悉用鎖存器、三態(tài)門(mén)擴(kuò)展簡(jiǎn)單并行輸入、輸出口的方法。用邏輯電平開(kāi)關(guān)作為74LS244的輸入,用發(fā)光二極管作為74LS273的輸出,編寫(xiě)程序使得電平開(kāi)關(guān)的輸入狀態(tài)從發(fā)光二極管上顯示出來(lái)。邏輯電平開(kāi)關(guān)撥上時(shí)為5V,發(fā)光二極管輸入“1”為亮、“0”為滅。三、實(shí)驗(yàn)原理圖UVuv 四、實(shí)驗(yàn)步驟1、連線:將74LS244(IC25)的輸入SI0

2、SI7分別與邏輯電平開(kāi)關(guān)的K1K8相連,從I/O地址片選信號(hào)中選擇CS0與74LS244的片選信號(hào)(CSU10)相連(例如CS0)。將74LS273(IC24)的輸出與SO0SO7分別與發(fā)光二極管電路的L1L8相連,從I/O地址片選信號(hào)選擇CS1與74LS273的片選信號(hào)相連。2、編寫(xiě)程序,單步運(yùn)行,調(diào)試程序。3、觀察實(shí)驗(yàn)現(xiàn)象,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)說(shuō)明用邏輯電平開(kāi)關(guān)作為74LS244(IC25)的輸入,用發(fā)光二極管作為74LS273(IC24)的輸出,編寫(xiě)程序,使得邏輯電平開(kāi)關(guān)的輸入狀態(tài)從發(fā)光二極管上顯示出來(lái)。邏輯電平開(kāi)關(guān)撥上時(shí)為5V,撥下時(shí)為0V。發(fā)光二極管輸入1為亮,0為滅。從74LS

3、244讀入的數(shù)據(jù)應(yīng)求反后從輸出口輸出。六、實(shí)驗(yàn)程序框圖 七、實(shí)驗(yàn)程序舉例 assume cs:code code segment public org 100hstart: mov dx,04a0h in al,dx mov dx,04b0h out dx,al jmp start code ends end start實(shí)驗(yàn)二、8255A并行口實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康模?(1)掌握通過(guò)8255A實(shí)現(xiàn)并行接口實(shí)驗(yàn)。 (2)掌握8255A的編程方法。 二、實(shí)驗(yàn)內(nèi)容:1、掌握8255A的編程原理2、熟悉計(jì)算機(jī)并行接口的使用方法將8255A的A端口作為輸入用,B端口作為輸出用,用邏輯電平開(kāi)關(guān)作為A端口的輸入

4、,用發(fā)光二極管作為B端口的輸出,編寫(xiě)程序使得電平開(kāi)關(guān)的輸入狀態(tài)從發(fā)光二極管上顯示出來(lái)。邏輯電平開(kāi)關(guān)撥上時(shí)為5V,發(fā)光二極管輸入“1”為亮、“0”為滅。三、實(shí)驗(yàn)原理圖 四、 實(shí)驗(yàn)步驟: 1、在實(shí)驗(yàn)系統(tǒng)上連接線路: 將8255A(IC37)的PA0PA7分別與邏輯電平開(kāi)關(guān)的K1K8相連;PB0PB7與發(fā)光二極管的L1L8相連。從I/O地址片選信號(hào)中選擇CS0與8255A的片選(CS8255)端相連。2、編輯程序,單步運(yùn)行,調(diào)試程序。3、程序調(diào)試通過(guò)后,全速運(yùn)行,觀察試驗(yàn)結(jié)果,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)說(shuō)明邏輯電平開(kāi)關(guān)撥上時(shí)5V,撥下時(shí)0V;發(fā)光二極管輸入為1時(shí)亮,輸入為0時(shí)滅。撥動(dòng)開(kāi)關(guān),觀察發(fā)光二極

5、管的變化。當(dāng)開(kāi)關(guān)某位撥上時(shí),對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮,撥下時(shí)滅。六、實(shí)驗(yàn)程序框圖 七、實(shí)驗(yàn)程序舉例 assume cs:code code segment public org 100hstart: mov dx,04a6h mov ax,90h out dx,axstart1: mov dx,04a0h in ax,dx mov dx,04a2h out dx,ax mov dx,04a4h out dx,ax jmp start1 code ends end start實(shí)驗(yàn)三 8253定時(shí)器/計(jì)數(shù)器接口試驗(yàn)一、 實(shí)驗(yàn)?zāi)康恼莆?253定時(shí)器的編程原理,用示波器或A/D、D/A卡觀察不同模式下的輸

6、出波形。二、 實(shí)驗(yàn)內(nèi)容編程將計(jì)數(shù)器0,1,2設(shè)置為模式2(分頻方式),并觀察其輸出波形。三、 實(shí)驗(yàn)原理圖 四、 實(shí)驗(yàn)步驟1、 連線:從CS0CS7中任選一個(gè)(如CS0)于8253的片選信號(hào)(CS8253)相連,8253的OUTO與CLK2相連,OUT2與發(fā)光二極管L1相連,OUT1接示波器。有A/D、D/A卡的輸出與實(shí)驗(yàn)箱的j2相連。在軟件DB86種打開(kāi)波形觀察窗口可觀察波形。2、 編寫(xiě)并調(diào)試程序,通過(guò)后全速運(yùn)行,觀察實(shí)驗(yàn)結(jié)果,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、 實(shí)驗(yàn)說(shuō)明8253的時(shí)鐘端CLK0,CLK1均為1M/8。CLK2的時(shí)鐘由OUT來(lái)控制。六、 實(shí)驗(yàn)程序框圖 七、 實(shí)驗(yàn)程序舉例 assume cs:

7、code code segment public org 100hstart: mov dx,04a6h mov ax,36h out dx,ax mov dx,04a0h mov ax,24h out dx,ax mov ax,0f4h out dx,ax mov dx,04a6h mov ax,76h out dx,ax mov dx,04a2h mov ax,0ah out dx,ax mov ax,0 out dx,ax mov dx,04a6h mov ax,0b6h out dx,ax mov dx,04a4h mov ax,20h out dx,ax mov ax,0 out d

8、x,ax loop: mov dx,04b0h mov ax,34h out dx,ax mov dx,04c0h mov bp,1h;modifylay1: dec bp cmp bp,0 jne lay1wait1: in ax,dx and ax,1 cmp ax,1 jne wait1 mov dx,04b0h in ax,dx and ax,0ffh nop jmp loop code ends ;end of code segment end start ;end assembly實(shí)驗(yàn)四 A/D實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康氖煜/D轉(zhuǎn)換的基本原理,掌握ADC0809的使用方法。二、 實(shí)驗(yàn)內(nèi)容

9、按查詢方式采樣三路A/D轉(zhuǎn)換數(shù)據(jù),用簡(jiǎn)單輸入口(74LS244)查詢EOC信號(hào)。每循環(huán)一次0,1,2通道個(gè)采樣一次。采樣結(jié)果是0通道放入CX中,CL有效,1通道放入BX中,BL有效,2通道放入AX中,AL有效。三、 實(shí)驗(yàn)原理圖 四、 實(shí)驗(yàn)步驟1、 連線:將可變電位器KB1,KB2,KB3分別與ADC0809的IN0,IN1,IN2相連,從CS0CS3中任選一個(gè)(如CS0)與ADC0809的片選(CS0809)端相連。將ADC0809的EOC與IC25(74LS244)的SI0相連,從CS0CS7中任選一個(gè)(如CS1)與IC25的片選(CSU10)端相連。2、 編寫(xiě)并調(diào)試程序,通過(guò)后設(shè)置斷點(diǎn)全速

10、運(yùn)行,觀察實(shí)驗(yàn)結(jié)果,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、 實(shí)驗(yàn)說(shuō)明實(shí)驗(yàn)電路中啟動(dòng)信號(hào)START與地址鎖存信好相連,所以啟動(dòng)A/D轉(zhuǎn)換的方法為:MOV,DX,PADC ;PADC是ADC0809的端口地址OUT,AL,DX ;發(fā)片選及IOW信號(hào),這是0通道 ;啟動(dòng)1通道時(shí),DX應(yīng)加1六、 實(shí)驗(yàn)程序框圖 七、 實(shí)驗(yàn)程序舉例 assume cs:code code segment public org 100hstart: mov dx,04a0h mov ax,34h out dx,ax mov dx,04b0h mov bp,1000hlay1: dec bp cmp bp,0 jne lay1wait1: i

11、n ax,dx and ax,1 cmp ax,1 jne wait1 mov dx,04a0h in ax,dx and ax,0ffh mov cx,ax mov dx,04a2h mov ax,34h out dx,ax mov bp,1000hlay2: dec bp cmp bp,0 jne lay2 mov dx,04b0hwait2: in ax,dx and ax,1 cmp ax,1 jne wait2 mov dx,04a2h in ax,dx and ax,0ffh mov bx,ax mov dx,04a4h mov ax,34h out dx,ax mov bp,10

12、00hlay3: dec bp cmp bp,0 jne lay3 mov dx,04b0hwait3: in ax,dx and ax,1 cmp ax,1 jne wait3 mov dx,04a4h in ax,dx and ax,0ffh nop jmp start code ends ;end of code segment end start ;end assembly實(shí)驗(yàn)五 D/A實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康氖煜?shù)模轉(zhuǎn)換的基本原理,掌握DAC0832的使用方法。二、 實(shí)驗(yàn)內(nèi)容看懂接口電路后連好硬件線路,編寫(xiě)程序已產(chǎn)生以下兩種波形并用示波器觀察。1、鋸齒波形3、 三角波形三、實(shí)驗(yàn)原理圖 四、

13、實(shí)驗(yàn)步驟1、連線:從CS0CS7中任選一個(gè)(如CS0)與DAC0832的片選(CS0832)端相連。將示波器接至DAC0832的輸出端OUT。具體連接方法與實(shí)驗(yàn)三相同。2、編寫(xiě)并調(diào)試程序,通過(guò)后全速運(yùn)行,產(chǎn)生不同波形。觀察實(shí)驗(yàn)結(jié)果,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)說(shuō)明DAC0832再上圖所示的接口電路中,KB6調(diào)節(jié)參考電壓VREF,KB5調(diào)節(jié)DA的零點(diǎn),KB4調(diào)節(jié)DA的瞞偏,DAC0832工作在雙緩沖接口方式下。當(dāng)A1=0時(shí)可鎖存輸入數(shù)據(jù),當(dāng)A1=1時(shí),可啟動(dòng)轉(zhuǎn)換輸出。六、實(shí)驗(yàn)程序框圖 七、實(shí)驗(yàn)程序舉例1、 產(chǎn)生鋸齒波程序 assume cs:codecode segment publicorg 10

14、0hstart:mov dx,04a0hup1:mov bx,0up2:mov ax,bxout dx,axmov dx,04a2hout dx,axmov dx,04a0hinc bxcmp bx,0ffhjne up2jmp up1 code ends ;end of code segment end start ;end assembly2、 產(chǎn)生三角波程序 assume cs:codecode segment publicorg 100hstart:mov dx,04a0hup1:mov bx,0up2:mov ax,bxout dx,axmov dx,04a2hout dx,axin

15、c bxmov dx,04a0hcmp bx,0ffhjne up2up3:mov ax,bxout dx,axmov dx,04a2hout dx,axdec bxmov dx,04a0hcmp bx,0jne up3jmp up1 code ends ;end of code segment end start ;end assembly實(shí)驗(yàn)六 8250串口實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、 熟悉串行通信的一般原理和8250的工作原理;2、 了解RS232串行接口標(biāo)準(zhǔn)及連接方法;3、 掌握8250芯片的編程方法。二、 實(shí)驗(yàn)內(nèi)容在實(shí)驗(yàn)箱與PC機(jī)(上位機(jī))之間實(shí)行串行通信,按下面流程圖編寫(xiě)程序,主機(jī)每下傳

16、一個(gè)字符,如通訊正確,則下位機(jī)返回一個(gè)同樣的字符;如果不正確,則無(wú)返回或返回值不相同。三、 實(shí)驗(yàn)原理圖 四、 實(shí)驗(yàn)步驟1、 用通信電纜連接實(shí)驗(yàn)箱與PC機(jī);2、 編寫(xiě)程序(8250各引腳線路均已接好);3、 在主機(jī)上運(yùn)行DB86,下載實(shí)驗(yàn)程序T6.asm,并全速運(yùn)行;4、 主機(jī)退出DB86,啟動(dòng)實(shí)驗(yàn)六的上位機(jī)驅(qū)動(dòng)程序T6UP.EXE,首先選擇串行口,然后輸入ASCII碼,看是否有返回。若要退出T6UP.EXE,按回車(chē)鍵。五、 實(shí)驗(yàn)說(shuō)明上下機(jī)波特率均選用9600Bit。上下機(jī)均用查詢方式。8250的端口地址為0480起始的偶地址單元。8250的時(shí)鐘為1.8432MHz。六、 實(shí)驗(yàn)程序框圖七、 實(shí)驗(yàn)

17、程序舉例1、 下位機(jī)程序 ;*code segment ;define data segmentassume cs:codeorg 0100hstart:mov bx,0480hmov dx,bxadd dx,6mov ax,80hout dx,axmov dx,bxmov ax,0ch ;000ch-9600 ,clk=4.77MHZ/4 ; AL=/16/9600/4=8out dx,axadd dx,2mov ax,0hout dx,axadd dx,4 ; mov dx,3fbhmov ax,07 ;no pe,8 bit, 1 stopout dx,axmov dx,bxadd dx

18、,2 ;mov dx,3f9h ;no interuptmov ax,0out dx,axadd dx,8h ;mov dx,3fdhin ax,dxmov dx,bx ;mov dx,3f8hin ax,dxcrd:call recvcall sendjmp crdsend: push axmov bx,0480hmov dx,bxadd dx,0ah ;mov dx,3fdhin ax,dxtest ax,20hjnz recv2pop axjmp sendrecv2: pop axmov dx,bx ;mov dx,3f8hout dx,axretrecv:mov bx,0480hmov

19、 dx,bxadd dx,0ah ;mov dx,3fdhin ax,dxtest ax,01hjnz recv1jmp recvrecv1: mov dx,bx ;mov dx,3f8hin ax,dxretcode ends ;end of code segmentend start ;end assembly2、 上位機(jī)程序 ;*data segment ;define data segmentttt dw 0ttt1 dw 0com dw 0messag1 db Please key in com(1,2):,$messag2 db send: ,$rcvstr db 255 dup

20、(?)messag3 db receive: ,$data endscode segment ;define data segmentassume cs:code,ds:datamain proc far ;main part of programstart:push dssub ax,axpush ax;set DS to current data segmentmov ax,datamov ds,ax;set ES tp current extra segment ;main part of the program followingmain0:mov ah,0mov al,3int 10

21、h ;clear the screen 80x25 color modemov ah,5mov al,15lea dx,messag1call displ ;display message2 string ;please wait for a string to be received! ;should change to wait for receive data ;if the data is stop receivewkey:mov ah,1int 21hcmp al,31hje com1cmp al,32hje com2jmp wkeycom1: mov si,offset commo

22、v word ptr si,03f8hjmp intcomcom2: mov si,offset commov word ptr si,02f8hintcom: mov si,offset commov bx,simov dx,bxadd dx,3mov al,80hout dx,almov dx,bxmov al,0ch ;000ch-9600 ,clk=4.77MHZ/4 ; AL=/16/9600/4=8out dx,alinc dxmov al,0hout dx,aladd dx,2 ; mov dx,3fbhmov al,07 ;no pe,8 bit, 1 stopout dx,a

23、lmov dx,bxinc dx ;mov dx,3f9h ;no interuptmov al,0out dx,aladd dx,4 ;mov dx,3fdhin al,dxmov dx,bx ;mov dx,3f8hin al,dxmov ax,0a15hlea dx,messag3call displmov bh,0mov ah,3int 10hmov si,offset ttt1mov word ptr si,dxmov ax,815hlea dx,messag2call displ ;display message2 stringcrd:mov ah,1int 21hcmp al,0

24、dhje exitpush axmov bh,0mov ah,3int 10hmov si,offset tttmov word ptr si,dxpop axcall sendcall recvpush axmov si,offset ttt1mov dx,simov bh,0mov ah,2int 10hpop axmov ah,2mov dl,alint 21hmov bh,0mov ah,3int 10hmov si,offset ttt1mov word ptr si,dxmov si,offset tttmov dx,simov bh,0mov ah,2int 10hjmp crd

25、exit: mov ah,4chint 21h ;get send lettermain endp ;end of main part programsend proc nearsrss: push axmov si,offset commov bx,simov dx,bxadd dx,5 ;mov dx,3fdhin al,dxtest al,20hjnz recv2push bxmov ah,1int 16hpop bxjz sret1pop axjmp srssrecv2: mov dx,bx ;mov dx,3f8hpop axout dx,alretsret1: pop axrets

26、end endprecv proc nearmov cx,1000hrss:mov si,offset commov bx,simov dx,bxadd dx,5 ;mov dx,3fdhin al,dxtest al,01hjnz recv1dec cxcmp cx,0jne rssmov al,0jmp ret1recv1: mov dx,bx ;mov dx,3f8hin al,dxret1:retrecv endp;clear screen first;then display the string(ds:dx) in specified position;ah=line no al=

27、column nodispl proc nearpush dxmov dh,ahmov dl,almov ah,2mov bh,0int 10h ;move cursor to ah line,al columnpop dxmov ah,9int 21hretdispl endpcode ends ;end of code segmentend start ;end assembly實(shí)驗(yàn)七、RAM實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?(1)掌握PC機(jī)外存擴(kuò)展的方法。 (2)掌握8086十六位數(shù)據(jù)存儲(chǔ)方法。 (3)掌握6264芯片的接口方法。二、實(shí)驗(yàn)內(nèi)容: 向02000至02100單元的偶地址送入AAH,奇地址送

28、入55H。 三、實(shí)驗(yàn)原理圖 四、 實(shí)驗(yàn)步驟: 1、連線(本實(shí)驗(yàn)連線均已接好)2、編寫(xiě)程序進(jìn)行調(diào)試。通過(guò)后,單步或設(shè)置斷點(diǎn)運(yùn)行實(shí)驗(yàn)程序,打開(kāi)內(nèi)存窗口可看到內(nèi)存區(qū)的變化。3、觀察實(shí)驗(yàn)結(jié)果,編寫(xiě)實(shí)驗(yàn)報(bào)告。4、觀察實(shí)驗(yàn)結(jié)果,并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)說(shuō)明Ram區(qū)的地址為03FFFH,編程時(shí)可段地址設(shè)為01000H,則偏移地址為1000H。如果按字節(jié)進(jìn)行存儲(chǔ),則AL為55H或AAH;如果按字進(jìn)行存儲(chǔ),則AX應(yīng)為55AAH。如果觀察運(yùn)行結(jié)果,可打開(kāi)窗口項(xiàng)中的內(nèi)存窗口。六、實(shí)驗(yàn)程序框圖七、實(shí)驗(yàn)程序舉例code segment ;define data segment assume cs:code org 01

29、00hstart: mov ax,0100h mov ds,ax mov es,ax mov si,1000h mov cx,0100h mov al,0intram: mov si,al inc si loop intram mov si,1000h mov cx,100h mov ax,55aahfil: mov si,ax inc si inc si loop fil nop jmp startcode ends ;end of code segmentend start ;end assembly實(shí)驗(yàn)八 8259A中斷控制器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?1、掌握8259A中斷控制器的工作原理。

30、2、掌握編寫(xiě)中斷服務(wù)程序方法。 3、掌握初始化中斷向量的方法。 二、實(shí)驗(yàn)內(nèi)容: 用單脈沖發(fā)生器的輸出脈沖為中斷源,每按一次產(chǎn)生一次中斷申請(qǐng)。AX的值將改為0055H,如果不產(chǎn)生中斷,則AX始終為0。 三、實(shí)驗(yàn)原理圖四、 實(shí)驗(yàn)步驟: 該實(shí)驗(yàn)推薦兩種實(shí)驗(yàn)方法:方法一:利用已開(kāi)發(fā)好的DMA中斷控制實(shí)驗(yàn)板1、將DMA中斷控制實(shí)驗(yàn)板插入實(shí)驗(yàn)箱右上角DMA插槽中,單脈沖發(fā)生器(PUL鍵處)輸出口(P0)與DMA中斷實(shí)驗(yàn)板的IR0相連,C59與CS7相連。2、編程并調(diào)試。調(diào)試時(shí)設(shè)置斷點(diǎn)于發(fā)生條件之后。觀察實(shí)驗(yàn)結(jié)果,編寫(xiě)實(shí)驗(yàn)報(bào)告。方法二、利用通用面包板擴(kuò)展實(shí)驗(yàn)1、將8259芯片插在實(shí)驗(yàn)面包板上對(duì)照原理圖將82

31、59的芯片引腳與CPU板的PI插座的相應(yīng)信號(hào)相連。PI插座定義如下:12345678910GDN0CD0D1D2D3D4D5D6D711121314151617181920A0A1A2A3A4A5A6A7A8A921222324252627282930A10A11A12A13A14A15AENHLDAHOLDINTA31323334353637383940INTMEMWMEMRDIOWDIORRSTCLKDAC0VCCDAC13、 單脈沖發(fā)生器輸出CZ35(P0)與8259的IR0相連,CS7與8255的CS相連。將8259的A0與P1的A1相連。其他信號(hào)線按原理圖標(biāo)注一致與P1相連。4、 P

32、1插座的0C應(yīng)接VCC。5、 編程并調(diào)試。調(diào)試時(shí)設(shè)置斷點(diǎn)于發(fā)生條件之后。觀察實(shí)驗(yàn)結(jié)果,編寫(xiě)實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)說(shuō)明8259的使用說(shuō)明清詳細(xì)閱讀教科書(shū)。六、實(shí)驗(yàn)程序框圖八、 實(shí)驗(yàn)程序舉例assume cs:code code segment public org 100hstart: mov dx,3f0h mov ax,13h out dx,ax mov dx,3f2hmov ax,80hout dx,ax ;ICW2 set int type 80hmov ax,01out dx,ax ;ICW4;init 8259mov ax,0hout dx,ax ; set int enablemov

33、ax,0mov ds,axmov si,200h ;int enter 0+200hmov ax,offset hintmov ds:si,axadd si,2mov ds:si,0100hmov ax,0stiwaiting: cmp ax,55h jne waitingnop jmp starthint: mov ax,55hnopcli iret code ends end start實(shí)驗(yàn)九 8279間盤(pán)擴(kuò)展實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、 掌握8279的工作原理;2、 熟悉8279與鍵盤(pán)接口的方法;3、 學(xué)習(xí)、了解鍵盤(pán)擴(kuò)展方法。二、 實(shí)驗(yàn)內(nèi)容將8279的掃描放入BX寄存器中,程序每循環(huán)一次,將讀

34、鍵碼一次。三、 實(shí)驗(yàn)原理圖1、8279原理圖2、鍵盤(pán)原理圖四、 實(shí)驗(yàn)步驟1、 連線:將8279的RL0RL7分別與鍵盤(pán)的KA0KA7相連。8279的KS0KS3分別與鍵盤(pán)的KB0KB3相連。2、 用查詢法編程并運(yùn)行。3、 調(diào)試通過(guò)后,在設(shè)置斷點(diǎn)的控操作位置,觀察BX的變化。并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、 實(shí)驗(yàn)說(shuō)明8279的I/O地址已連好,為490的偶地址,即:數(shù)據(jù)口為490H,狀態(tài)口為492H。8279外部輸入時(shí)鐘已連好,時(shí)鐘頻率為1MHz。鍵盤(pán)/顯示方式設(shè)置命令字可取00H。8279的鍵盤(pán)格式為:D7D6D5D4D3D2D1D0CNTLSHFT掃描回復(fù)FU1FU4鍵對(duì)應(yīng)上圖中K25K28鍵。其對(duì)應(yīng)的

35、鍵盤(pán)數(shù)據(jù)為:鍵名FUICNTL+FUISHFT+FUICNTL+SHFT+FUIFU1FU4D8DB58H5BH98H9BH18H1BH六、 實(shí)驗(yàn)程序框圖七、 實(shí)驗(yàn)程序舉例con8279 equ 0492h dat8279 equ 0490h assume cs:code code segment public org 100hstart: mov dx,con8279 mov al,10h out dx,al mov al,2ah out dx,al call blackrkey: mov dx,con8279disla2: in ax,dx and ax,07h jz disla2 ;ov

36、 dx,con8279 ;ov ax,40h ;ut dx,ax mov dx,dat8279 in ax,dx and ax,0ffh mov bx,ax call black nop jmp rkeyblack: mov dx,con8279 mov ax,0d1h out dx,ax mov cx,80hclsb: nop nop loop clsb ret code ends end start實(shí)驗(yàn)十 8279顯示器接口實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、 進(jìn)一步掌握8279的工作原理;2、 學(xué)習(xí)LED顯示器的使用方法;3、 熟悉8279的接口方法。二、 實(shí)驗(yàn)內(nèi)容將在6位LED上循環(huán)顯示8。三、 實(shí)

37、驗(yàn)原理圖1、8279原理圖3、 LED數(shù)碼管原理圖四、 實(shí)驗(yàn)步驟1、 連線:(本實(shí)驗(yàn)線路已經(jīng)接好)2、 編寫(xiě)程序,單步運(yùn)行,調(diào)試程序。設(shè)置斷點(diǎn),全速運(yùn)行,沒(méi)執(zhí)行一次“8”字移一位。3、 調(diào)試通過(guò)后,全速運(yùn)行,觀察實(shí)驗(yàn)結(jié)果并編寫(xiě)實(shí)驗(yàn)報(bào)告。五、 實(shí)驗(yàn)說(shuō)明LED是共陰極的,其七段LED的段選碼為:顯示字段0123456789段選碼3fh06h5bh4fh66h6dh7dh07h7fh6fh ABcDefg8.“滅”77h7ch39h5eh79h71h73hffh00h8279的片選信號(hào)以連好,地址為490的偶地址。LED的顯示方法為動(dòng)態(tài)顯示方法。六、 實(shí)驗(yàn)程序框圖七、 實(shí)驗(yàn)程序舉例 con8279

38、equ 0492hdat8279 equ 0490hassume cs:codecode segment publicorg 100hstart: jmp start1 disbuf db 6 dup(0)start1: mov di,offset disbufmov cx,6kplay1: mov byte ptr es:di,00h inc diloop kplay1mov di,offset disbufmov byte ptr es:di,7fhkplay2: call displycall rdispcall dislayjmp kplay2dislay: mov bx,2eeehmov dx,con8279disla2:dec bxcmp bx,0jnz disla2mov ax,0c2hmov dx,con8279out dx,axretrdisp: mov di,offset disbufmov al,es:dimov cx,5inc dirdisp1: mov ah,es:didec dimov es:di,ahadd d

溫馨提示

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

評(píng)論

0/150

提交評(píng)論