版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 微機(jī)原理與接口技術(shù)</b></p><p><b> 課程設(shè)計(jì)說明書</b></p><p> 起止日期: 2012年12月22日 至 2012年12月28日</p><p><b> 計(jì)算機(jī)與通信學(xué)院</b></p><p> 2012年
2、 12月28 日</p><p><b> 附件</b></p><p><b> 程序源代碼:</b></p><p> 程序一:只在屏幕上顯示</p><p> DATA SEGMENT</p><p> A_8255 EQU 300H</p>
3、<p> B_8255 EQU 301H</p><p> C_8255 EQU 302H</p><p> CON_8255 EQU 303H </p><p> PC_0 DB '0 1 2 3 4 5'</p><p> PC_1 DB '6 7 8 9 A B'</
4、p><p> PC_2 DB 'C D E F'</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:DATA</p><p> START: MOV AX,DATA&
5、lt;/p><p><b> MOV DS,AX</b></p><p> MOV AL,81H</p><p> MOV DX,CON_8255</p><p><b> OUT DX,AL</b></p><p> MOV AL,00H</p><
6、;p> MOV DX,C_8255</p><p><b> OUT DX,AL</b></p><p> WAIT1: MOV AL,0FEH</p><p><b> MOV BH,0d</b></p><p> WAIT2: MOV DX,A_8255</p>
7、<p><b> OUT DX,AL</b></p><p><b> MOV BL,AL</b></p><p> MOV DX,C_8255</p><p><b> IN AL,DX</b></p><p> TEST AL,00000001B<
8、;/p><p><b> JZ PC0</b></p><p> TEST AL,00000010B</p><p><b> JZ PC1</b></p><p> TEST AL,00000100B</p><p><b> JZ PC2</b>
9、;</p><p><b> MOV AL,BL</b></p><p><b> ROL AL,1</b></p><p><b> INC BH</b></p><p><b> inc bh</b></p><p>&
10、lt;b> CMP BH,12</b></p><p><b> JZ WAIT1</b></p><p><b> JMP WAIT2</b></p><p> PC0: MOV SI,OFFSET PC_0</p><p> CALL KEYB_HANDLING&l
11、t;/p><p> CALL DELAY</p><p><b> JMP WAIT1</b></p><p> PC1: MOV SI,OFFSET PC_1</p><p> CALL KEYB_HANDLING </p><p> CALL DELAY</p><
12、p><b> JMP WAIT1</b></p><p> PC2: MOV SI,OFFSET PC_2</p><p><b> CMP BH,8</b></p><p><b> JL NEXT1</b></p><p><b> JNZ N
13、EXT</b></p><p> CALL BACKSPACE</p><p><b> JMP WR</b></p><p> NEXT: CMP BH,10</p><p><b> JNZ WR</b></p><p> CALL ENTER&l
14、t;/p><p><b> JMP WR </b></p><p> NEXT1: CALL KEYB_HANDLING</p><p> WR: CALL DELAY</p><p><b> JMP WAIT1</b></p><p> KEYB_HANDL
15、ING PROC</p><p><b> MOV BL,BH</b></p><p> MOV BH,00H</p><p> MOV AL,[SI+BX]</p><p><b> MOV DL,AL</b></p><p> MOV AH,02H</p
16、><p><b> INT 21H</b></p><p> CALL DELAY</p><p><b> RET</b></p><p> KEYB_HANDLING ENDP</p><p> ENTER PROC</p><p><
17、;b> JMP EXIT</b></p><p> ENTER ENDP</p><p> BACKSPACE PROC</p><p> MOV AL,00H</p><p> MOV DX,B_8255</p><p><b> OUT DX,AL</b><
18、/p><p><b> RET</b></p><p> BACKSPACE ENDP</p><p> DELAY PROC</p><p><b> MOV CX,0D</b></p><p> AA1: MOV BX,8000D</p><p
19、> AA2: DEC BX</p><p><b> JNZ AA2</b></p><p> LOOP AA1 </p><p><b> RET</b></p><p> DELAY ENDP</p><p> EXIT: MOV AH,4CH&
20、lt;/p><p> INT 21H </p><p><b> CODE ENDS</b></p><p><b> END START</b></p><p> 程序二:在數(shù)碼管上顯示</p><p> data segment</p>&l
21、t;p> pc_0 db 3fh,06h,5bh,4fh,66h,6dh;發(fā)光二極管</p><p> pc_1 db 7dh,07h,7fh,67h,77h,7ch</p><p> pc_2 db 39h,5eh,79h,71h</p><p> pcA_0 db 30h,31h,32h,33h,34h,35h;DOS字符ASCI
22、I值</p><p> pcA_1 db 36h,37h,38h,39h,41h,42h</p><p> pcA_2 db 43h,44h,45h,46h</p><p> temp db 00h,00h,00h,00h;四個(gè)燈的變量</p><p> temp1 db 30h,30h,30h,30h;DOS字符的值&
23、lt;/p><p><b> data ends</b></p><p> code segment</p><p> assume cs:code,ds:data</p><p> beg:mov ax,data</p><p><b> mov ds,ax</b>&
24、lt;/p><p> mov al,10000001b </p><p> mov dx,303h</p><p><b> out dx,al</b></p><p> mov al,00h</p><p> mov dx,302h</p><p><b
25、> out dx,al</b></p><p> f1:mov al,0feh;鍵盤掃描開始</p><p> mov bh,00h</p><p> f2:mov dx,300h</p><p><b> out dx,al</b></p><p><b&g
26、t; mov bl,al</b></p><p><b> call show</b></p><p> mov dx,302h</p><p><b> in al,dx</b></p><p> test al,00000001b</p><p>&
27、lt;b> jz pc0</b></p><p> test al,00000010b</p><p><b> jz pc1</b></p><p> test al,00000100b</p><p><b> jz pc2</b></p><p&
28、gt;<b> mov al,bl</b></p><p><b> rol al,1</b></p><p><b> inc bh</b></p><p><b> cmp bh,6h</b></p><p><b> jz f1
29、</b></p><p><b> jmp f2</b></p><p> pc0:mov si,offset pc_0 ;第一排鍵盤</p><p> call key_press</p><p> mov si,offset pcA_0</p><p> call
30、input</p><p> call delay</p><p><b> jmp f1</b></p><p> pc1:mov si,offset pc_1 ;第二排鍵盤</p><p> call key_press </p><p> mov si,offset pcA_
31、1</p><p> call input</p><p> call delay</p><p><b> jmp f1</b></p><p> pc2:mov si,offset pc_2 ;第三排鍵盤</p><p> cmp bh,04h</p><p
32、><b> jl next1</b></p><p><b> jnz next </b></p><p><b> jmp wr</b></p><p> next:cmp bh,05h ;第17鍵盤</p><p><b> jnz w
33、r</b></p><p> call enter</p><p><b> jmp wr </b></p><p> next1:call key_press</p><p> mov si,offset pcA_2</p><p> call input</p&g
34、t;<p> wr: call delay</p><p><b> jmp f1</b></p><p> key_press proc;鍵盤按下</p><p><b> mov bl,bh</b></p><p> mov bh,00h</p>&l
35、t;p> call shift_l</p><p> mov al,00h</p><p> mov dx,302h</p><p><b> out dx,al</b></p><p> mov al,[si+bx]</p><p> mov dx,301h</p>
36、<p><b> out dx,al</b></p><p> mov si,offset temp</p><p> mov [si],al </p><p><b> ret</b></p><p> key_press endp</p>&
37、lt;p> enter proc ;回車盤</p><p> mov si,offset temp1</p><p><b> mov cx,4</b></p><p><b> mov bx,3</b></p><p> bb1:mov dl,[si
38、+bx]</p><p><b> dec bx</b></p><p> mov ah,02h</p><p><b> int 21h</b></p><p><b> loop bb1</b></p><p><b> jmp
39、exit</b></p><p> enter endp</p><p> input proc ;輸入到顯示在屏幕上的值</p><p> call shift_e</p><p> mov al,[si+bx]</p><p> mov si,offset temp1
40、</p><p> mov [si],al </p><p><b> ret</b></p><p> input endp</p><p> show proc ;顯示在發(fā)光二極管</p><p><b> push ax<
41、;/b></p><p><b> push bx</b></p><p> mov si,offset temp</p><p><b> mov cx,4</b></p><p><b> mov bx,0</b></p><p>
42、mov ah,00h</p><p> bbb:mov al,ah</p><p> mov dx,302h</p><p> out dx,al </p><p> mov al,[si+bx]</p><p><b> inc bx</b></p><p>
43、 mov dx,301h</p><p><b> out dx,al</b></p><p> add ah,10h</p><p> call delay1</p><p><b> loop bbb</b></p><p><b> pop bx&l
44、t;/b></p><p><b> pop ax</b></p><p><b> ret </b></p><p><b> show endp</b></p><p> shift_l proc ;二極管的燈左移動(dòng)</p&g
45、t;<p><b> push si</b></p><p><b> push ax</b></p><p><b> push cx</b></p><p><b> push bx</b></p><p> mov si,of
46、fset temp</p><p><b> mov cx,3</b></p><p><b> mov bx,2</b></p><p><b> mov al,2</b></p><p> bsss:mov bl,al</p><p> m
47、ov ah,[si+bx]</p><p><b> inc bx</b></p><p> mov [si+bx],ah</p><p><b> dec al</b></p><p><b> loop bsss</b></p><p>&l
48、t;b> pop bx</b></p><p><b> pop cx</b></p><p><b> pop ax</b></p><p><b> pop si</b></p><p><b> ret</b></p
49、><p> shift_l endp</p><p> delay proc ;按鍵延時(shí)</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b>&l
50、t;/p><p><b> mov cx,0</b></p><p> dela:mov bx,2000</p><p> dela1:dec bx</p><p><b> jnz dela1</b></p><p><b> loop dela</b
51、></p><p><b> pop cx </b></p><p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> de
52、lay endp</p><p> delay1 proc ;燈光延時(shí)</p><p><b> push ax</b></p><p><b> push bx</b></p><p><b> push cx</b></p><p&g
53、t; mov cx,10000</p><p> dela0:mov bx,500</p><p> dela10:dec bx</p><p> jnz dela10</p><p> loop dela0</p><p><b> pop cx </b></p>&
54、lt;p><b> pop bx</b></p><p><b> pop ax</b></p><p><b> ret</b></p><p> delay1 endp</p><p> shift_e proc ;顯示在屏幕上的值的移動(dòng)<
55、/p><p><b> push si</b></p><p><b> push ax</b></p><p><b> push cx</b></p><p><b> push bx</b></p><p> mov s
56、i,offset temp1</p><p><b> mov cx,3</b></p><p><b> mov bx,2</b></p><p><b> mov al,2</b></p><p> bsss1:mov bl,al</p><p&
57、gt; mov ah,[si+bx]</p><p><b> inc bx</b></p><p> mov [si+bx],ah</p><p><b> dec al</b></p><p> loop bsss1</p><p><b> pop
58、 bx</b></p><p><b> pop cx</b></p><p><b> pop ax</b></p><p><b> pop si</b></p><p><b> ret</b></p><p&
59、gt; shift_e endp</p><p> exit:mov ah,4ch ;退出返回到dos界面</p><p><b> int 21h</b></p><p><b> code ends</b></p><p><b> end beg</b>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 變速器課程設(shè)計(jì)說明書
- 減速器課程設(shè)計(jì)說明書
- 壓煮器課程設(shè)計(jì)說明書
- 減速器課程設(shè)計(jì)說明書
- 變速器課程設(shè)計(jì)說明書
- 濾波器課程設(shè)計(jì)說明書
- 離合器課程設(shè)計(jì)說明書
- 搶答器課程設(shè)計(jì)說明書
- 轉(zhuǎn)速器盤課程設(shè)計(jì)說明書
- 減速器課程設(shè)計(jì)說明書
- 減速器課程設(shè)計(jì)說明書
- 課程設(shè)計(jì)--減速器設(shè)計(jì)說明書
- 課程設(shè)計(jì)說明書
- 課程設(shè)計(jì)說明書
- 航空開傘器課程設(shè)計(jì)說明書
- 齒輪減速器課程設(shè)計(jì)說明書
- 煤油冷卻器課程設(shè)計(jì)說明書
- 機(jī)械課程設(shè)計(jì)說明書---減速器
- 機(jī)械課程設(shè)計(jì)-減速器設(shè)計(jì)說明書
- 減速器設(shè)計(jì)說明書分解-機(jī)械設(shè)計(jì)課程設(shè)計(jì)說明書
評(píng)論
0/150
提交評(píng)論