




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 配有兩塊可編程器件:配有兩塊可編程器件:EPM7128EPM7128被系統(tǒng)被系統(tǒng)占用。另一塊占用。另一塊EPM7032EPM7032供用戶實驗用。供用戶實驗用。兩塊器件皆可通過兩塊器件皆可通過JTAGJTAG接口在線編程。接口在線編程。使用十分方便。使用十分方便。第一部分第一部分 系統(tǒng)介紹系統(tǒng)介紹一、系統(tǒng)特點一、系統(tǒng)特點6264 系統(tǒng)RAM,地址范圍 03FFFH,奇地址有效6264 系統(tǒng)RAM,地址范圍03FFFH,偶地址有效27C64 系統(tǒng)ROM,地址范圍 FFFFFFC000H,奇地 址有效27C256 系統(tǒng)ROM,地址范圍 FFFFFFC000H,偶地 址有效1)、時鐘頻率:6.0M
2、Hz2)、存儲器二、系統(tǒng)概述二、系統(tǒng)概述3)、系統(tǒng)資源分配)、系統(tǒng)資源分配本系統(tǒng)采用可編程邏輯器件(本系統(tǒng)采用可編程邏輯器件(CPLD)EPM7128做地址的編譯碼工作,可通過芯片的做地址的編譯碼工作,可通過芯片的JTAG接口與接口與PC機機相連,對芯片進行編程。相連,對芯片進行編程。部分地址單元經(jīng)譯碼后輸出部分地址單元經(jīng)譯碼后輸出(插孔(插孔CS0-CS5)給用戶使用,他們的地址固定,用)給用戶使用,他們的地址固定,用戶不可改變。具體的對應關系見下地址分配。戶不可改變。具體的對應關系見下地址分配。注意,用注意,用戶的地址不能與系統(tǒng)相沖突,否則將導致錯誤。戶的地址不能與系統(tǒng)相沖突,否則將導致錯
3、誤。 地址分配地址分配CS0 片選信號,地址片選信號,地址04A004AF 偶地址有效偶地址有效CS1 片選信號,地址片選信號,地址04B004BF 偶地址有效偶地址有效CS2 片選信號,地址片選信號,地址04C004CF 偶地址有效偶地址有效 CS3 片選信號,地址片選信號,地址04D004DF 偶地址有效偶地址有效 CS4 片選信號,地址片選信號,地址04E004EF 偶地址有效偶地址有效 CS5 片選信號,地址片選信號,地址04F004FF 偶地址有效偶地址有效CS6 片選信號,地址片選信號,地址000001FF 偶地址有效偶地址有效CS7 片選信號,地址片選信號,地址020003FF
4、偶地址有效偶地址有效8250 片選地址:片選地址:0480048F,偶地址有效,偶地址有效8279 片選地址:片選地址:0490049F,偶地址有效,偶地址有效所有實驗程序的起始地址為所有實驗程序的起始地址為01100H,CS=0100H,IP=0100H,代碼段、數(shù)據(jù)段、堆棧段在同一個代碼段、數(shù)據(jù)段、堆棧段在同一個64K的地址空間中。的地址空間中。硬件實驗說明硬件實驗說明6264 系統(tǒng)系統(tǒng)RAM,地址范圍,地址范圍 03FFFH,奇地址有效,奇地址有效6264 系統(tǒng)系統(tǒng)RAM,地址范圍,地址范圍03FFFH,偶地址有效,偶地址有效27C64 系統(tǒng)系統(tǒng)ROM,地址范圍,地址范圍 FFFFFFC
5、000H,奇地,奇地 址有效址有效27C256 系統(tǒng)系統(tǒng)ROM,地址范圍,地址范圍 FFFFFFC000H,偶地,偶地 址有效址有效8066單元單元1)微處理器:80862)時鐘頻率:6MHz3)存儲器(1)簡單)簡單I/O擴展實驗擴展實驗(2)存儲器擴展實驗)存儲器擴展實驗(3)CPLD地址譯碼實驗地址譯碼實驗(4)8255可編程并口實驗可編程并口實驗(5)8253定時定時/計數(shù)器實驗計數(shù)器實驗(6)A/D0809實驗實驗(7)D/A0832實驗實驗(8)8250可編程串口實驗可編程串口實驗(9)8279顯示器接口實驗顯示器接口實驗(10)8279鍵盤擴展實驗鍵盤擴展實驗(11)8259可編
6、程中斷控制器實驗可編程中斷控制器實驗(12)8237DMA控制器實驗控制器實驗 8066單元單元4)可提供的對8086的基本實驗1、 熟悉熟悉74LS273,74LS244的應用接口方法。的應用接口方法。2、 掌握用鎖存器、三態(tài)門擴展簡單并行輸入、掌握用鎖存器、三態(tài)門擴展簡單并行輸入、 輸出口的方法。輸出口的方法。第三部分第三部分 基本實驗基本實驗(8086)(8086)實驗一實驗一 I/O端口實驗端口實驗一、實驗目的一、實驗目的MUT型實驗箱、型實驗箱、8086CPU模塊。模塊。 二、實驗設備二、實驗設備 用常用輸入輸出芯片用常用輸入輸出芯片244擴展輸入,擴展輸入,237擴展輸出擴展輸出控
7、制開關輸入、發(fā)光二極指示燈顯示輸出結果。控制開關輸入、發(fā)光二極指示燈顯示輸出結果。 1、設計出、設計出244、277與與8086接口對應硬件電路,并接口對應硬件電路,并完成相應的連接完成相應的連接 2、調試對應、調試對應244、273、開關硬件接口電路及相應、開關硬件接口電路及相應接口軟件接口軟件 3、用開關接輸入部分、用開關接輸入部分,當撥動開關對應發(fā)光二極管當撥動開關對應發(fā)光二極管亮亮,顯示輸出結果顯示輸出結果 4、寫出習題部分要求的程序、寫出習題部分要求的程序 三、實驗內容三、實驗內容 本實驗用到兩部分電路:開關量輸入輸出電路,簡本實驗用到兩部分電路:開關量輸入輸出電路,簡單單I/O口擴
8、展電路??跀U展電路。 四、實驗原理介紹四、實驗原理介紹 1、實驗接線:、實驗接線:(表示相互連接表示相互連接)CS0 CS244; CS1CS273; 平推開關的輸出平推開關的輸出K1K8 IN0IN7(對應連接);(對應連接); O0O7LED1LED8。 2、編輯程序,單步運行,調試程序、編輯程序,單步運行,調試程序 3、調試通過后,全速運行程序,觀看實驗結果。、調試通過后,全速運行程序,觀看實驗結果。 4、編寫實驗報告。、編寫實驗報告。五、實驗步驟五、實驗步驟 74LS244或或74LS273的片選信號可以改變,例如的片選信號可以改變,例如連接連接CS2,此時應同時修改程序中相應的地址。
9、,此時應同時修改程序中相應的地址。程序全速運行后,邏輯電平開關的狀態(tài)改變應程序全速運行后,邏輯電平開關的狀態(tài)改變應能在能在LED上顯示出來。例如:上顯示出來。例如:K2置于置于L位置,則位置,則對應的對應的LED2應該點亮。應該點亮。六、實驗提示六、實驗提示七、實驗結果七、實驗結果開 始初始化讀輸入至AL輸出AL結束八、程序框圖八、程序框圖(實驗程序名實驗程序名:T244273.ASM)assume cs:code code segment public org100hstart: movdx,04a0h ;74LS244地址地址 in al,dx ;讀輸入開關量讀輸入開關量 movdx,04
10、b0h ;74LS273地址地址 out dx,al ;輸出至輸出至LED jmp start code ends end start九、程序源代碼清單九、程序源代碼清單 1、修改模式為:、修改模式為: 跳躍式左移或右移,如每次移動兩位跳躍式左移或右移,如每次移動兩位2、調整移位頻率為:加快一倍,降低一倍、調整移位頻率為:加快一倍,降低一倍3、重新調整按鈕功能:、重新調整按鈕功能: KK1啟動鍵,按下后,方可開始移位啟動鍵,按下后,方可開始移位 KK2停止健,按后終止停止健,按后終止LED管的移位顯示管的移位顯示 KK3更新移位模式,每按一次,在左更新移位模式,每按一次,在左/右移右移 位模式
11、間變換位模式間變換 KK4更新亮燈模式,每按一次在更新亮燈模式,每按一次在1亮亮7暗暗1 亮間變換亮間變換(在完成上面的實驗后在完成上面的實驗后,修改原程序修改原程序,使實現(xiàn)如下功能使實現(xiàn)如下功能)十、習題十、習題MUTMUT型實驗箱、型實驗箱、8086CPU8086CPU模塊。模塊。實驗二實驗二 8255鍵盤掃描與鍵盤掃描與LED數(shù)碼管顯示實驗數(shù)碼管顯示實驗掌握掌握8255A8255A的編程原理。的編程原理。一、實驗目的一、實驗目的二、實驗設備二、實驗設備三、實驗內容三、實驗內容用用8255擴展掃描擴展掃描3X8行列式鍵盤,由一位行列式鍵盤,由一位LED數(shù)碼管顯示數(shù)碼管顯示1、設計出、設計出
12、8255與與8086接口對應硬件電路,并完成接口對應硬件電路,并完成 相應的連接相應的連接2、調試對應、調試對應8255、鍵盤、及數(shù)碼管硬件接口電路、鍵盤、及數(shù)碼管硬件接口電路 及相應接口軟件及相應接口軟件3、當用鍵盤輸入時在數(shù)碼管上顯示相應值、當用鍵盤輸入時在數(shù)碼管上顯示相應值4、寫出習題部分要求的程序、寫出習題部分要求的程序四、實驗原理介紹四、實驗原理介紹 本實驗用到兩部分電路:開關量輸入輸出電路和本實驗用到兩部分電路:開關量輸入輸出電路和8255可編程并口電路??删幊滩⒖陔娐?。1、實驗接線、實驗接線 CS0CS8255; PA0PA7 RL10RL17; PB0PB7 LED-ALED-
13、DP; PC0PC2KA10KA12;PC3LED1。2、編程并全速或單步運行。、編程并全速或單步運行。3、全速運行時按動鍵盤,觀察數(shù)碼管的變化。、全速運行時按動鍵盤,觀察數(shù)碼管的變化。五、實驗步驟五、實驗步驟 8255A是比較常用的一種并行接口芯片,其特是比較常用的一種并行接口芯片,其特點在許多教科書中均有介紹。點在許多教科書中均有介紹。8255A有三個有三個8位的位的輸入輸出端口,通常將輸入輸出端口,通常將A端口端口作為輸入用,作為輸入用,B端口端口作為輸出用,作為輸出用,C端口端口作為輸出用,本實驗也是如此。作為輸出用,本實驗也是如此。實驗中,實驗中,8255A工作于基本輸入輸出方式工作
14、于基本輸入輸出方式(方(方式式0)。六、實驗提示六、實驗提示七、實驗結果七、實驗結果本實驗為對本實驗為對3X8鍵盤鍵盤(一行有一行有8個按鈕個按鈕,共三行共三行.如如第一行第一行8個按鈕對應實驗箱上鍵盤區(qū)最上一行個按鈕對應實驗箱上鍵盤區(qū)最上一行6個加個加上下一行前兩個上下一行前兩個,逐次類推逐次類推)逐行掃描實驗逐行掃描實驗,每按一個鍵每按一個鍵通過數(shù)碼管顯示其值通過數(shù)碼管顯示其值.如一行一列顯示如一行一列顯示0,二行三列顯示二行三列顯示8. 逐次類推逐次類推.初始化初始化8255檢測是否有鍵按下檢測是否有鍵按下延時消抖延時消抖逐行掃描鍵盤逐行掃描鍵盤顯示于數(shù)碼管顯示于數(shù)碼管八、程序框圖八、程
15、序框圖(實驗程序名實驗程序名t8255.asm)assume cs:codecode segment publicorg 100hstart: mov dx,04a6h;控制寄存器地址控制寄存器地址mov ax,90h;設置為設置為A口(口(04A0H)輸入,)輸入,B口(口(04A2H)輸出)輸出,C口(口(04A4H)輸出)輸出out dx,axcheck0: mov ax,00hmov dx,04a4hout dx,axmov dx,04a0h九、程序源代碼清單九、程序源代碼清單in ax,dxcmp al,0ffhje check0movcx,05ffhdelay:loop delay
16、 ;延時消抖延時消抖mov cl,3mov ah,0mov al, 0fbhcontin: push ax mov dx,04a4h out dx,al mov dx,04a0h in al,dx mov ah,al cmp ah,0ffh jne next pop ax ror al,1 loop contin jmp check0next: mov ch,cl ;保存行值至保存行值至CH mov cl,7begin0:shl ah,1 jnc goon loop begin0 jmp check0goon: mov bl,cl ;保存列值至保存列值至BL dec ch mov cl,3 s
17、hl ch,cl add bl,ch mov bh,0 mov cx,bx ;顯示碼偏移量送顯示碼偏移量送CX display:mov si,offset discoed add si,cx mov dx,04a4h mov al,0fh out dx,al mov ax,si mov dx,04a2h out dx,ax nop nopjmp check0 discode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71h db 01h,02h,04h,08h,10h,20h,40h,80h ;顯示段碼表顯
18、示段碼表 code endsend start1、重新定義鍵值按遞減方式排列,即依次為:、重新定義鍵值按遞減方式排列,即依次為: F E CD BA98 7654 32102、按下鍵的二進制值改在、按下鍵的二進制值改在LED燈的高四位顯示燈的高四位顯示3、 按第一次鍵,在個位上顯示相應鍵位。按第一次鍵,在個位上顯示相應鍵位。 按第二次鍵,在十位上顯示相應鍵位。按第二次鍵,在十位上顯示相應鍵位。 按第三次鍵,在百位上顯示相應鍵位。按第三次鍵,在百位上顯示相應鍵位。 按第四次鍵,在千位上顯示相應鍵位。按第四次鍵,在千位上顯示相應鍵位。 按第五次鍵,在個位上顯示相應鍵位。按第五次鍵,在個位上顯示相應
19、鍵位。 其余類推。其余類推。 十、習題十、習題MUT型實驗箱、型實驗箱、8086CPU模塊、示波器。模塊、示波器。實驗三實驗三 8253定時實驗定時實驗一、實驗目的一、實驗目的二、實驗設備二、實驗設備 掌握掌握8253定時器的編程原理,用示波器觀察不同定時器的編程原理,用示波器觀察不同模式下的輸出波形。模式下的輸出波形。 用用8253作為定時器,控制周期為作為定時器,控制周期為0.5秒的方波,用一秒的方波,用一個發(fā)光二極管指示燈亮表示高電平個發(fā)光二極管指示燈亮表示高電平,滅表示低電平,亮、滅表示低電平,亮、滅時間相同滅時間相同 1、設計出、設計出8253與與8086接口對應硬件電路,并完成相接
20、口對應硬件電路,并完成相應的連接應的連接 2、調試對應、調試對應8253、發(fā)光二極管硬件接口電路及相應、發(fā)光二極管硬件接口電路及相應接口軟件接口軟件 3、寫出習題部分要求的程序、寫出習題部分要求的程序三、實驗內容三、實驗內容四、實驗原理介紹四、實驗原理介紹 本實驗用到兩部分電路:脈沖產(chǎn)生電路、本實驗用到兩部分電路:脈沖產(chǎn)生電路、8253定時器定時器/計數(shù)計數(shù)器電路器電路 1、實驗連線:、實驗連線: CS0CS8253 OUT08253CLK2 OUT2LED1 示波器示波器OUT1 CLK38253CLK0,CLK38253CLK12、編程調試程序、編程調試程序3、全速運行,觀察實驗結果、全速
21、運行,觀察實驗結果五、實驗步驟五、實驗步驟 8253是計算機系統(tǒng)中經(jīng)常使用的可編程定時器是計算機系統(tǒng)中經(jīng)常使用的可編程定時器/計計數(shù)器,其內部有三個相互獨立的計數(shù)器,分別稱為數(shù)器,其內部有三個相互獨立的計數(shù)器,分別稱為T0,T1,T2。8253有多種工作方式,其中方式有多種工作方式,其中方式3為方波方式。為方波方式。當計數(shù)器設好初值后,計數(shù)器遞減計數(shù),在計數(shù)值的前當計數(shù)器設好初值后,計數(shù)器遞減計數(shù),在計數(shù)值的前一半輸出高電平,后一半輸出低電平。實驗中,一半輸出高電平,后一半輸出低電平。實驗中,T0、T 1 的 時 鐘 由的 時 鐘 由 C L K 3 提 供 , 其 頻 率 為提 供 , 其
22、頻 率 為 7 5 0 K H z 。 六、實驗提示六、實驗提示 程序中,程序中,T0的初值設為的初值設為927CH(37500十進制),十進制),則則OUT0輸出的方波周期為(輸出的方波周期為(37500*4/3*10-6=0.05s)。)。T2采用采用OUT0的輸出為時鐘,則在的輸出為時鐘,則在T2中設置初值為中設置初值為n時,時,則則OUT2輸出方波周期為輸出方波周期為n*0.05s。n的最大值為的最大值為FFFFH,所以所以OUT2輸出方波最大周期為輸出方波最大周期為3276.75s(=54.6分鐘分鐘)??梢?,采用計數(shù)器疊加使用后,輸出周期范圍可以大可見,采用計數(shù)器疊加使用后,輸出周
23、期范圍可以大幅 度 提 高 , 這 在 實 際 控 制 中 是 非幅 度 提 高 , 這 在 實 際 控 制 中 是 非常有用的。常有用的。 程序全速運行后,程序全速運行后,LED1閃爍閃爍(周期為周期為0.25s),OUT1示波器觀察為方波,頻率為示波器觀察為方波,頻率為15KHz。七、實驗結果七、實驗結果開 始寫 T 0 方 式 控 制 字寫 T 0 計 數(shù) 初 值寫 T 1 方 式 控 制 字結 束寫 T 1 計 數(shù) 初 值寫 T 2 方 式 控 制 字寫 T 2 計 數(shù) 初 值空 操 作八、程序框圖八、程序框圖(實驗程序名:實驗程序名:t8253.asm) assume cs:code
24、code segment public org 100hstart:mov dx,04a6h;控制寄存器控制寄存器mov ax,36h;計數(shù)器計數(shù)器0,方式,方式3out dx,axmov dx,04a0hmov ax,7Chout dx,axmov ax,92hout dx,ax;計數(shù)值計數(shù)值927Chmov dx,04a6hmov ax,76h;計數(shù)器計數(shù)器1,方式,方式3out dx,axmov dx,04a2h 九、程序源代碼清單九、程序源代碼清單mov ax,32h out dx,ax mov ax,0;計數(shù)值計數(shù)值32h out dx,ax mov dx,04a6h mov ax,
25、0b6h;計數(shù)器計數(shù)器2,方式,方式3 out dx,ax mov dx,04a4h mov ax,04h out dx,ax mov ax,0;計數(shù)值計數(shù)值04h out dx,axnext:nopjmpnextcode ends end start 十、習題十、習題1改變定時時鐘的周期,加快一倍和放慢一倍改變定時時鐘的周期,加快一倍和放慢一倍 mov ax,0b6h;計數(shù)器計數(shù)器2,方式,方式3 out dx,ax mov dx,04a4h mov ax,04h out dx,ax mov ax,0;計數(shù)值計數(shù)值04h out dx,ax修改實驗程序,如上的修改實驗程序,如上的mov ax
26、,04h的的04H的值即可的值即可 2試將試將8253的三個定時的三個定時/計數(shù)器分別設為不同的工作計數(shù)器分別設為不同的工作方式,對同一輸入信號計數(shù),在三個輸出端分別對輸入信方式,對同一輸入信號計數(shù),在三個輸出端分別對輸入信號進行號進行2分頻,分頻,4分頻,分頻,8分頻,用示波器觀察其波形。分頻,用示波器觀察其波形。 3試用試用8253測量一個脈沖的的脈寬,把測量的結果存測量一個脈沖的的脈寬,把測量的結果存放在放在2010H、2011H。 GATE0接被測脈沖,接被測脈沖, 8253的的GATE0和和74LS244的的IN0,時鐘發(fā)生電路時鐘發(fā)生電路CLK3接接8253CLK0。CS8253接
27、接CS0,CS244接接CS1。程序請參參考。程序請參參考t8253pw.asm,程序運行時候請按程,程序運行時候請按程序注釋處設斷點。查看序注釋處設斷點。查看2010H、2011H中的結果。中的結果。1、掌握、掌握8259A的工作原理。的工作原理。2、掌握編寫中斷服務程序方法。、掌握編寫中斷服務程序方法。3、掌握初始化中斷向量的方法。、掌握初始化中斷向量的方法。實驗四實驗四 8259中斷控制及中斷服務實驗中斷控制及中斷服務實驗一、實驗目的一、實驗目的二、實驗設備二、實驗設備MUT型實驗箱、型實驗箱、8086CPU模塊。模塊。 用用8259控制開關中斷源輸入中斷,由控制開關中斷源輸入中斷,由L
28、ED數(shù)碼管顯示數(shù)碼管顯示 1、設計出、設計出8259與與8086接口對應硬件電路,并完成相接口對應硬件電路,并完成相應的連接應的連接 2、調試對應、調試對應8259、開關、發(fā)光二極管硬件接口電路、開關、發(fā)光二極管硬件接口電路及相應接口軟件及相應接口軟件 3、 用開關做中斷源輸入部分用開關做中斷源輸入部分,發(fā)光二極管顯示輸出發(fā)光二極管顯示輸出結果結果,當分別撥動開關當分別撥動開關KK1、KK2、KK3、KK4時發(fā)光二極時發(fā)光二極管相應作左、右、由中間向兩邊和反顯流水燈顯示管相應作左、右、由中間向兩邊和反顯流水燈顯示 4、寫出習題部分要求的程序、寫出習題部分要求的程序三、實驗內容三、實驗內容 本實
29、驗用到三部分電路:電平開關電路、簡單本實驗用到三部分電路:電平開關電路、簡單I/O口擴口擴展電路和展電路和8259中斷控制器電路。中斷控制器電路。四、實驗原理介紹四、實驗原理介紹1、實驗接線、實驗接線 CS0 CS8259 CS1 CS273 O0O7 LED1LED8 K1K8IR0IR7 INT INT INTAINTA2、編譯調試程序、編譯調試程序3、全速運行程序,撥動某一電平開關,觀察、全速運行程序,撥動某一電平開關,觀察 LED的變化情況。的變化情況。五、實驗步驟五、實驗步驟 1、8259的使用說明請詳細閱讀教科書。的使用說明請詳細閱讀教科書。 2、8086的中斷系統(tǒng)是向量中斷方式。
30、內存中特定的中斷系統(tǒng)是向量中斷方式。內存中特定位置有一中斷向量表,表內存有不同中斷類型的中斷位置有一中斷向量表,表內存有不同中斷類型的中斷向量(中斷入口地址)。不同中斷類型的中斷向量在向量(中斷入口地址)。不同中斷類型的中斷向量在表內有對應的偏移地址,其計算方法是:中斷類型表內有對應的偏移地址,其計算方法是:中斷類型*4。六、實驗提示六、實驗提示 3、中斷類型由、中斷類型由8259通過數(shù)據(jù)總線送給通過數(shù)據(jù)總線送給8086,8086內部電路會將該類型值自動乘內部電路會將該類型值自動乘4,而后賦給指令指針,而后賦給指令指針,從而轉向中斷向量表的相應單元取得中斷入口地址,之從而轉向中斷向量表的相應單
31、元取得中斷入口地址,之后就進入中斷服務程序。請仔細研讀后就進入中斷服務程序。請仔細研讀8259的工作時序。的工作時序。 4、中斷類型的高、中斷類型的高5位由位由8259寄存器寄存器ICW2決定,低決定,低3位由中斷源位由中斷源IRx的編碼自動填入。的編碼自動填入。IR0IR7的編碼分別的編碼分別為為000,001,010,011,100,101,110,111。七、實驗結果七、實驗結果全速運行程序,由上往下?lián)軇娱_關。全速運行程序,由上往下?lián)軇娱_關。主程序主程序 中斷服務程序中斷服務程序初始化初始化8259控制字及中斷量表控制字及中斷量表.開中斷開中斷初始化標志字初始化標志字判斷標志字判斷標志字
32、,根據(jù)標志字根據(jù)標志字跳轉到相應子程序跳轉到相應子程序跑馬燈左移跑馬燈左移跑馬燈右移跑馬燈右移LED燈翻滾燈翻滾入中斷口入中斷口改變標志位改變標志位中斷返回中斷返回八、程序框圖八、程序框圖(實驗程序名:實驗程序名:t8253.asm) assume cs:code code segment public org 100hstart:mov dx,04b0hmov al,0ffh out dx,almov bl,00hmov ch,00h九、程序源代碼清單九、程序源代碼清單start1: clipush axmov dx,04a0h mov ax,13h out dx,ax ;ICW1, ICW
33、4 NEEDED movdx,04a2h mov ax,80hout dx,ax ;ICW2 中斷類型中斷類型80hmov ax,01h;01out dx,ax ;ICW4mov ax,00hout dx,ax ;OCW1, 開放所有中斷開放所有中斷nop ;以上為以上為8259初始化初始化 mov ax,0mov ds,axmov di,200h ;初始化中斷向量表初始化中斷向量表mov ax,offset int0mov ds:di,axadd di,2mov ds:di,100hadddi,2mov ax,offset int1mov ds:di,axadd di,2mov ds:di,
34、100hadddi,2mov ax,offset int2mov ds:di,axadd di,2mov ds:di,100hadddi,2mov ax,offset int3mov ds:di,axadd di,2mov ds:di,100hadddi,2mov ax,offset int4mov ds:di,axadd di,2mov ds:di,100hadddi,2mov ax,offset int5mov ds:di,axadd di,2mov ds:di,100hadddi,2mov ax,offset int6mov ds:di,axadd di,2mov ds:di,100ha
35、dddi,2mov ax,offset int7mov ds:di,axadd di,2 ;上述程序為芯片上述程序為芯片8259的初始化程序的初始化程序 mov ds:di,100hpop axmain:sti ;開中斷。開中斷。waiting:cmp bx,00hje waiting;沒發(fā)生中斷,則等待沒發(fā)生中斷,則等待cmp bl,0feh je int0_s cmp bl,0fdh je int1_scmp bl,0fbhje int2_sjmp startint0:cli ;關中斷。以下類推。關中斷。以下類推。mov ch,01h ;此兩行為此兩行為IR0的中斷服務程序的中斷服務程序m
36、ovbl,0feh ;用戶可修改。用戶可修改。iret ;中斷返回,以下類推。中斷返回,以下類推。int1:cli mov ch,01h ;此兩行為此兩行為IR1的中斷服務程序,的中斷服務程序,movbl,0fdh ;用戶可修改。用戶可修改。iretint2:climov ch,01h ;此兩行為此兩行為IR2的中斷服務程序,的中斷服務程序,movbl,0fbh ;用戶可修改。用戶可修改。iretint3:clinop ;此兩行為此兩行為IR3的中斷服務程序,的中斷服務程序,movax,0f7h ;用戶可修改。用戶可修改。iretint4:clinop ;此兩行為此兩行為IR4的中斷服務程序,
37、的中斷服務程序,movax,0efh ;用戶可修改。用戶可修改。iretint5:clinop ;此兩行為此兩行為IR5的中斷服務程序,的中斷服務程序,movax,0dfh ;用戶可修改。用戶可修改。iretint6:clinop ;此兩行為此兩行為IR6的中斷服務程序,的中斷服務程序,movax,0bfh ;用戶可修改。用戶可修改。iretint7:clinop ;此兩行為此兩行為IR7的中斷服務程序,的中斷服務程序,movax,07fh ;用戶可修改。用戶可修改。iretint0_s:cmp ch,01hjne next1mov al,0fehmov dx,04b0hout dx,alne
38、xt1: call delaymov dx,04b0hmov ah,alnot ahrol ah,1not ahmov al,ahout dx,almov ch,00hjmp start1int1_s:cmp ch,01hjne next2mov al,07fhmov dx,04b0hout dx,alnext2: call delaymov dx,04b0hmov ah,alnot ahror ah,1not ahmov al,ahout dx,almov h,00hjmp start1int2_s: cmp ch,01hjnz next3mov dx,04b0hmov al,0e7hout
39、 dx,alnot almov cl,aland al,08hand cl,10hnext3: call delaypush bxrol cl,1ror al,1mov bh,clmov bl,alor al,clmov cl,alnot almov dx,04b0hout dx,almov cl,bhmov al,blpop bxmov ch,00hjmp start1delay proc near cli push cx mov cx,0ff55hhere: loop here pop cx retcode endsend start 1、利用、利用8259做交通燈實驗,當中斷產(chǎn)生時,各路
40、口做交通燈實驗,當中斷產(chǎn)生時,各路口紅燈全亮。紅燈全亮。 2、正常顯示時,流水燈為同時亮、正常顯示時,流水燈為同時亮2盞燈;盞燈; 3、正常顯示時,流水燈向左邊移動、正常顯示時,流水燈向左邊移動 4、正常顯示時,流水燈移動頻率加快或放慢一倍、正常顯示時,流水燈移動頻率加快或放慢一倍 5、中斷顯示時,改變閃動的頻率,加快或放慢一倍、中斷顯示時,改變閃動的頻率,加快或放慢一倍 6、中斷顯示時,改動閃動模式為,亮、中斷顯示時,改動閃動模式為,亮1、3、5、7號號燈與亮燈與亮2、4、6、8號燈交替閃燈。號燈交替閃燈。十、習題十、習題 7、重新定義鍵:、重新定義鍵: KK1啟動鍵啟動鍵 KK2開放開放/
41、屏蔽中斷鍵屏蔽中斷鍵 KK3停止鍵停止鍵 8、改變中斷含義:沒有進行中斷的初始值仍為流、改變中斷含義:沒有進行中斷的初始值仍為流水燈顯示水燈顯示 第奇次中斷后:第奇次中斷后:1、3、5、7號號 燈亮燈亮/暗閃動暗閃動(2、4、6、8始終暗始終暗) 第偶次中斷后:第偶次中斷后:2、4、6、8亮亮/暗閃動暗閃動。MUT型實驗箱、型實驗箱、8086CPU模塊。模塊。實驗五實驗五 A/D轉換實驗轉換實驗一、實驗目的一、實驗目的二、實驗設備二、實驗設備熟悉熟悉A/D轉換的基本原理,掌握轉換的基本原理,掌握ADC0809的使用方法。的使用方法。 由由0809構成的數(shù)據(jù)采集電路采集電位器上電壓,在構成的數(shù)據(jù)
42、采集電路采集電位器上電壓,在LED數(shù)碼管顯示結果數(shù)碼管顯示結果 1、設計出、設計出0809與與8086接口對應硬件電路,并完成相接口對應硬件電路,并完成相應的連接應的連接 2、調試對應、調試對應0809、基本、基本I/O口、數(shù)碼管顯示硬件接口、數(shù)碼管顯示硬件接口電路及相應接口軟件口電路及相應接口軟件 3、調節(jié)電位器時相應的電壓值在數(shù)碼管顯示、調節(jié)電位器時相應的電壓值在數(shù)碼管顯示 4、寫出習題部分要求的程序、寫出習題部分要求的程序三、實驗內容三、實驗內容 本實驗用到兩部分電路:簡單本實驗用到兩部分電路:簡單I/O口擴展電路、口擴展電路、A/D、D/A電路電路四、實驗原理介紹四、實驗原理介紹1、實
43、驗連線、實驗連線AN0 ADIN0 CS0 CS0809 CS1 CS244 EOC IN02、用實驗箱左上角的、用實驗箱左上角的“VERF.ADJ”電位器調節(jié)電位器調節(jié)ADC0809 12腳上的參考電壓至腳上的參考電壓至5V。3、編寫程序并全速運行。、編寫程序并全速運行。4、檢查顯示數(shù)據(jù)是否與電位器輸出的電壓相符合。、檢查顯示數(shù)據(jù)是否與電位器輸出的電壓相符合。五、實驗步驟五、實驗步驟實驗電路中啟動信號實驗電路中啟動信號START與地址鎖存信號相連,所與地址鎖存信號相連,所以啟動以啟動A/D轉換的方法為:轉換的方法為: MOV DX ,ADDRESS ;ADDRESS是是ADC0809的端的端
44、口地址口地址OUT AL, DX;發(fā)片選及;發(fā)片選及IOW信號,啟動信號,啟動0通道通道六、實驗提示六、實驗提示七、實驗結果七、實驗結果在輸入電壓在輸入電壓AN0分別為分別為0V,1V,2V,3V,4V,5V時時顯示數(shù)據(jù)分別為顯示數(shù)據(jù)分別為00H,33H,66H,99H,0CCH,0FFH(數(shù)據(jù)低位略有偏差屬正(數(shù)據(jù)低位略有偏差屬正?,F(xiàn)象)。?,F(xiàn)象)。八、程序框圖八、程序框圖(實驗程序名:實驗程序名:t0809.ASM) 開始啟動通道0讀取轉換結果轉換結束?con8279 equ 0492hdat8279 equ 0490hassume cs:codecode segmentpublicorg
45、 100hstart: jmpstart1segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh, 07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1:mov dx,04a0h mov ax,34h out dx,ax;啟動通道啟動通道 九、程序源代碼清單九、程序源代碼清單wait1: mov dx,04b0h ;CS244in ax,dx ;讀讀 EOC and ax,1 cmp ax,1 jne wait1 ;如果如果EOC=0,waiting. mov dx,04a0h in ax,dx ;讀轉換結果讀轉換結果 and ax,0ffh m
46、ov bx,ax nop ;disp:mov di,offset segcodmov ax,08h ;工作方式,工作方式,16位,左入位,左入mov dx,con8279out dx,axmov ax,90hmov dx,con8279out dx,ax ;寫顯示寫顯示RAM命令,地址自增命令,地址自增mov dx,dat8279push bxand bx,0f0h ;取高取高4位位movcl,4shrbx,cladddi,bxmov al,cs:dimov ah,0out dx,ax;寫寫RAM0nopnopmov di,offset segcodpop bxand bx,0fh ;取低取低
47、4位位adddi,bxmov al,cs:dimov ah,0out dx,ax ;寫寫RAM1delay:mov cx,0ffffh ;time delaydelay1:nop noploop delay1jmp start1codeendsend tart1修改程序,改用修改程序,改用AD0809的第二個通道進行的第二個通道進行AD轉換,轉換,并顯示在數(shù)碼管上。實驗接線與做實驗的接線一樣。并顯示在數(shù)碼管上。實驗接線與做實驗的接線一樣。start1:mov dx,04a0h mov ax,34h out dx,ax;啟動通道啟動通道 0wait1: mov dx,04b0h ;CS244in
48、 ax,dx;讀讀 EOC and ax,1 cmp ax,1 jne wait1十、習題十、習題要改變通道只要修改要改變通道只要修改mov dx,04a0h中的把中的把04a0h改成改成04a2即改為了第二個通道即改為了第二個通道, 通道及地址值對應如下:通道及地址值對應如下:地址值地址值通道通道04a0H0通道通道04a2H1通道通道04a4H2通道通道04a6H3通道通道04a8H4通道通道04aAH5通道通道04aCH6通道通道04aEH7通道通道 2根據(jù)實驗程序,編寫程序實現(xiàn)兩個通根據(jù)實驗程序,編寫程序實現(xiàn)兩個通道同時道同時AD轉換并,并在數(shù)碼管上顯示兩個通轉換并,并在數(shù)碼管上顯示兩個通道的值道的值,請參考程序請參考程序T0809.asm。實驗接線,與。實驗接線,與做實驗接線一樣,然后把第做實驗接線一樣,然后把第0通道和第通道和第1通聯(lián)接通聯(lián)接起來,數(shù)碼上顯示兩個通道的值應一樣。起來,數(shù)碼上顯示兩個通道的值應一樣。利用利用D/A轉換器產(chǎn)生鋸齒波和三角波。轉換器產(chǎn)生鋸齒波和三角波。實驗六實驗六 D/A實驗實驗一、實驗目的一、實驗目的二、實驗設備二、實驗設備熟悉數(shù)模轉換的基本原理,掌握熟悉數(shù)模轉換的基本原理,掌握D/A的使用方法。的使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論