版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、;*; ;* 數(shù)/模轉(zhuǎn)換實(shí)驗(yàn)1 *;* 產(chǎn)生鋸齒波 *;*;io0832a equ 290hcode segment assume cs:codestart: mov cl,0 mov dx,io0832alll: mov al,cl out dx,al add cl,10 push dx mov ah,06h ;判斷是否有鍵按下 mov dl,0ffh int 21h pop dx jz lll ;若無(wú)則轉(zhuǎn)LLL mov ah,4ch ;返回 int 21hcode ends end start;*;* 數(shù)/模轉(zhuǎn)換實(shí)驗(yàn)2 *;* 產(chǎn)生正弦波 *;*;data segmentio0832a e
2、qu 290h Sin db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hDb 00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波數(shù)據(jù)data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,axll: mov si,offset sin ;置正弦波數(shù)據(jù)的偏移地址為SI mov bh,32 ;一組輸出32個(gè)數(shù)據(jù)l
3、ll: mov al,si ;將數(shù)據(jù)輸出到D/A轉(zhuǎn)換器 mov dx,io0832a out dx,al mov ah,06h mov dl,0ffh int 21h jne exit mov cx,1delay: loop delay ;延時(shí) inc si ;取下一個(gè)數(shù)據(jù) dec bh jnz lll ;若未取完32個(gè)數(shù)據(jù)則轉(zhuǎn)lll jmp llexit: mov ah,4ch ;退出 int 21hcode ends end start;*;* AD轉(zhuǎn)換器2-示波器 *;* 采集數(shù)據(jù)在屏幕是作圖 *;*;io0809b equ 299hcode segment assume cs:code
4、start: mov ax,0012h ;設(shè)屏幕顯示方式為VGA 640X480模示 int 10hstart1: mov ax,0600h int 10h ;清屏 and cx,0 ;cx為橫坐標(biāo)draw: mov dx,io0809b ;啟動(dòng)A/D轉(zhuǎn)換器通道1 out dx,al mov bx,200;500 ;延時(shí)delay: dec bx jnz delay in al,dx ;讀入數(shù)據(jù) mov ah,0 mov dx,368 ;dx為縱坐標(biāo) sub dx,ax mov al,0ah ;設(shè)置顏色 mov ah,0ch ;畫(huà)點(diǎn) int 10h cmp cx,639 ;一行是否滿 jz s
5、tart1 ;是則轉(zhuǎn)start inc cx ;繼續(xù)畫(huà)點(diǎn) push dx mov ah,06h ;是否有鍵按下 mov dl,0ffh int 21h pop dx je draw ;無(wú),則繼續(xù)畫(huà)點(diǎn) mov ax,0003 ;有恢復(fù)屏幕為字符方式 int 10h mov ah,4ch ;返回 int 21hcode endsend start;*;*8251串行通訊(自發(fā)自收)*;*;data segment io8253a equ 280h io8253b equ 283h io8251a equ 2b8h io8251b equ 2b9h mes1 db 'you can play
6、 a key on the keybord!',0dh,0ah,24h mes2 dd mes1data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,io8253b ;設(shè)置8253計(jì)數(shù)器0工作方式 mov al,16h out dx,al mov dx,io8253a mov al,52 ;給8253計(jì)數(shù)器0送初值 out dx,al mov dx,io8251b ;初始化8251 xor al,al mov cx,03 ;向8251控制端口送3個(gè)0 delay: call out
7、1 loop delay mov al,40h ;向8251控制端口送40H,使其復(fù)位 call out1 mov al,4eh ;設(shè)置為1個(gè)停止位,8個(gè)數(shù)據(jù)位,波特率因子為16 call out1 mov al,27h ;向8251送控制字允許其發(fā)送和接收 call out1 lds dx,mes2 ;顯示提示信息 mov ah,09 int 21hwaiti: mov dx,io8251b in al,dx test al,01 ;發(fā)送是否準(zhǔn)備好 jz waiti mov ah,01 ;是,從鍵盤(pán)上讀一字符 int 21h cmp al,27 ;若為ESC,結(jié)束 jz exit mov d
8、x,io8251a inc al out dx,al ;發(fā)送 mov cx,40hs51: loop s51 ;延時(shí)next: mov dx,io8251b in al,dx test al,02 ;檢查接收是否準(zhǔn)備好 jz next ;沒(méi)有,等待 mov dx,io8251a in al,dx ;準(zhǔn)備好,接收 mov dl,al mov ah,02 ;將接收到的字符顯示在屏幕上 int 21h jmp waitiexit: mov ah,4ch ;退出 int 21hout1 proc near ;向外發(fā)送一字節(jié)的子程序 out dx,al push cx mov cx,40hgg: loo
9、p gg ;延時(shí) pop cx retout1 endpcode endsend start;8259-1.asm;8259中斷查詢方式應(yīng)用實(shí)驗(yàn);*; 2008年03月為8259應(yīng)用修改;*I8259_1 EQU 2B0H ;8259的ICW1端口地址I8259_2 EQU 2B1H ;8259的ICW2端口地址I8259_3 EQU 2B1H ;8259的ICW3端口地址I8259_4 EQU 2B1H ;8259的ICW4端口地址O8259_1 EQU 2B1H ;8259的OCW1端口地址O8259_2 EQU 2B0H ;8259的OCW2端口地址O8259_3 EQU 2B0H ;8
10、259的OCW3端口地址data segment mes1 db 'you can play a key on the keyboard!',0dh,0ah,24h mes2 dd mes1 mess1 db 'Hello! This is interrupt * 0 *!',0dh,0ah,'$' mess2 db 'Hello! This is interrupt * 1 *!',0dh,0ah,'$' mess3 db 'Hello! This is interrupt * 2 *!',0dh
11、,0ah,'$' mess4 db 'Hello! This is interrupt * 3 *!',0dh,0ah,'$' mess5 db 'Hello! This is interrupt * 4 *!',0dh,0ah,'$' mess6 db 'Hello! This is interrupt * 5 *!',0dh,0ah,'$' mess7 db 'Hello! This is interrupt * 6 *!',0dh,0ah,'$'
12、 mess8 db 'Hello! This is interrupt * 7 *!',0dh,0ah,'$'data endsstacks segment db 100 dup(?)stacks endsSTACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:stacks,ES:DATA.386START: mov ax,data mov ds,ax mov es,ax mov ax,stacks mov ss,ax MOV DX,I8259_1 ;
13、初始化8259的ICW1 MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4 OUT DX,AL MOV DX,I8259_2 ;初始化8259的ICW4 MOV AL,0B0H ;非自動(dòng)結(jié)束EOI OUT DX,AL ;MOV AL,00H ;OUT DX,AL MOV AL,03H OUT DX,AL MOV DX,O8259_1 ;初始化8259的OCW1 MOV AL,00H ;打開(kāi)IR0和IR1的屏蔽位 OUT DX,AL QUERY: MOV AH,1 ;判斷是否有按鍵按下 INT 16H JNZ QUIT ;有按鍵則退出 MOV DX,O8259_3 ;向8259的OC
14、W3發(fā)送查詢命令 MOV AL,0CH OUT DX,AL IN AL,DX ;讀出查詢字 MOV AH,AL AND AL,80H TEST AL,80H ;判斷中斷是否已響應(yīng) JZ QUERY ;沒(méi)有響應(yīng)則繼續(xù)查詢 MOV AL,AH AND AL,07H CMP AL,00H JE IR0ISR ;若為IR0請(qǐng)求,跳到IR0處理程序 CMP AL,01H JE IR1ISR ;若為IR1請(qǐng)求,跳到IR1處理程序 CMP AL,02H JE IR2ISR CMP AL,03H JE IR3ISR CMP AL,04H JE IR4ISR CMP AL,05H JE IR5ISR CMP A
15、L,06H JE IR6ISR CMP AL,07H JE IR7ISR JMP QUERYIR0ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess1 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR1ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess2 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR2ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess3 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR3IS
16、R: MOV AX,DATA MOV DS,AX MOV DX,offset mess4 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR4ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess5 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR5ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess6 ;顯示提示信息 MOV AH,09 INT 21H JMP EOIIR6ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess7 ;顯示提示信
17、息 MOV AH,09 INT 21H JMP EOIIR7ISR: MOV AX,DATA MOV DS,AX MOV DX,offset mess8 ;顯示提示信息 MOV AH,09 INT 21HEOI: MOV DX,O8259_2 ;向8259發(fā)送中斷結(jié)束命令 MOV AL,20H OUT DX,AL JMP QUERY QUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21HCODE ENDS END START;*;* DMA傳送實(shí)驗(yàn)(塊傳送) *;* 2008年2月為8237擴(kuò)展板修改 *;*;io8237 equ 280h ;從8237地址code segmen
18、t assume cs:codestart: mov ax,0D000h mov es,ax mov bx,4000h mov cx,0ffH;傳輸個(gè)數(shù) mov dl,40h;字符Arep1: inc dl mov es:bx,dl inc bx cmp dl,5ah jnz ss1 mov dl,40hss1: loop rep1 mov dx,18h ;關(guān)閉主8237 mov al,04h out dx,al mov dx,1dh ;復(fù)位主8237 mov al,00h out dx,al mov dx,18h ;開(kāi)啟主8237,DACK信號(hào)高有效 mov al,80h out dx,al
19、 mov dx,1bh ;主8237為級(jí)聯(lián)方式 mov al,0c0h out dx,al mov dx,io8237+08h ;關(guān)閉從8237 mov al,04h out dx,al mov dx,io8237+0dh ;復(fù)位從8237 mov al,00h out dx,al mov dx,io8237+02h ;寫(xiě)目的地址低位 mov al,00h out dx,al mov dx,io8237+02h ;寫(xiě)目的地址高位 mov al,42h out dx,al mov dx,io8237+03h ;傳送字節(jié)數(shù)低位 mov al,0ffh out dx,al mov dx,io8237
20、+03h ;傳送字節(jié)數(shù)高位 mov al,00h out dx,al mov dx,io8237+00h ;源地址低位 mov al,00h out dx,al mov dx,io8237+00h ;源地址高位 mov al,40h out dx,al mov dx,io8237+0bh ;通道1寫(xiě)傳輸,地址增 mov al,85h out dx,al mov dx,io8237+0bh ;通道0讀傳輸,地址增 mov al,88h out dx,al mov dx,io8237+08h ;DREQ低電平有效,存儲(chǔ)器到存儲(chǔ)器,開(kāi)啟從8237 mov al,41h out dx,al mov d
21、x,io8237+09h ;通道1請(qǐng)求 mov al,04h out dx,al mov cx,0F000hdelay: loop delay mov ax,0D000h mov es,ax mov bx,04200h;目的地址起始 mov cx,0ffh;讀出字符個(gè)數(shù)rep2: mov dl,es:bx mov ah,02h int 21h inc bx loop rep2 mov ax,4c00h int 21h code ends end start;*;* 8253分頻 *;*io8253a equ 280hio8253b equ 281hio8253c equ 283hcode se
22、gment assume cs:codestart:mov dx,io8253c ;向8253寫(xiě)控制字 mov al,36h ;使0通道為工作方式3 out dx,al mov ax,1000 ;寫(xiě)入循環(huán)計(jì)數(shù)初值1000 mov dx,io8253a out dx,al ;先寫(xiě)入低字節(jié) mov al,ah out dx,al ;后寫(xiě)入高字節(jié) mov dx,io8253c mov al,76h ;設(shè)8253通道1工作方式2 out dx,al mov ax,1000 ;寫(xiě)入循環(huán)計(jì)數(shù)初值1000 mov dx,io8253b out dx,al ;先寫(xiě)低字節(jié) mov al,ah out dx,al ;后寫(xiě)高字節(jié) mov ah,4ch ;程序退出 int 21h code ends end start;*;* 8253方式0計(jì)數(shù)器實(shí)驗(yàn) *;*;io8253a equ 283hio8253b equ 280hcode segment assume cs:codestart: mov al,14h ;設(shè)置8253通道0為工作方式2,二進(jìn)制計(jì)數(shù) mov dx,io8253a out dx,al mo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江公務(wù)員面試模擬74
- 建筑工程配電管及管內(nèi)穿線工程質(zhì)量控制監(jiān)理實(shí)施細(xì)則
- 2024年簡(jiǎn)易廠房租賃合同范本
- 2024年信用借款合同樣本
- 2024年簡(jiǎn)單租地合同協(xié)議書(shū)
- 浙江公務(wù)員面試模擬76
- 新解讀《GBT 41111-2021氣焊用非合金鋼及熱強(qiáng)鋼填充絲》
- 2024年工地用工合同范本(2050字)
- 2024年簡(jiǎn)單租車合同
- 地方公務(wù)員+遼寧申論108
- GB/T 25748-2010壓鑄鎂合金
- GA/T 766-2020人精液PSA檢測(cè)金標(biāo)試劑條法
- DB11-T 1832.10-2022建筑工程施工工藝規(guī)程 第10部分:裝飾裝修工程
- 2023年廣州市法院書(shū)記員招聘筆試題庫(kù)及答案解析
- 鋰礦及碳酸鋰的生產(chǎn)工藝基本知識(shí)課件
- 一、小柴胡湯課件
- 2022-2023學(xué)年浙科版(2019)選擇必修三 5.2 我國(guó)禁止生殖性克隆人 課件(28張)
- 洗車店管理制度
- 2022版道德與法治新課程標(biāo)準(zhǔn)課標(biāo)測(cè)試卷測(cè)試題庫(kù)(含答案)(教師招聘試卷教資考試)
- 高中英語(yǔ)選修一(人教版)2-1Looking into the Future 教學(xué)課件
- 電動(dòng)汽車充電樁申請(qǐng)安裝備案表
評(píng)論
0/150
提交評(píng)論