微机原理实验程序.docx
《微机原理实验程序.docx》由会员分享,可在线阅读,更多相关《微机原理实验程序.docx(8页珍藏版)》请在冰点文库上搜索。
![微机原理实验程序.docx](https://file1.bingdoc.com/fileroot1/2023-7/7/ec0f6981-feac-44a2-b6b6-50c7a4e9c400/ec0f6981-feac-44a2-b6b6-50c7a4e9c4001.gif)
微机原理实验程序
硬件实验七D/A转换实验(2锯齿波---------------
;注意:
进行本实验前,请先装载运行D/A0V输出(调基准电压程序Asm88\da_0v.asm
;使D/A输出端“AOUT”输出电压为0V,再进行本实验。
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG33F0H
DAPORTEQU0FFE0H
H7:
MOVDX,DAPORT
MOVAL,00H
P7:
OUTDX,AL
INCAL
JMPP7
CODEENDS
ENDH7
串行通信
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG35C0H;TX=RX
H11:
JMPSTART
Z8251EQU0FFE1H
D8251EQU0FFE0H
COM_MODEQU04EH
COM_COMEQU25H
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
?
?
?
?
START:
MOVBX,4000H
MOVAL,[BX]
CMPAL,00H
JNZSR0
SR8251:
MOVDX,Z8251
MOVAL,COM_MOD
OUTDX,AL
MOVAL,COM_COMOUTDX,AL
MOVAL,10
MOVDI,4000HABC:
MOV[DI],AL
INCAL
INCBX
CMPAL,26
JNEABC
SR0:
CALLWP
MOVSI,4000HMOVDI,5000HMOVCX,0010HSR1:
MOVAH,[SI]
CALLSEND
CALLRX
MOV[DI],AHINCSI
INCDI
LOOPSR1
SR2:
CALLDIS
JMPSR2
RX:
MOVDX,Z8251RX1:
INAL,DX
TESTAL,02H
JZRX1
MOVDX,D8251INAL,DX
MOVAH,AL
RET
;------------------------
WP:
MOVBUF,11HMOVBUF+1,10HMOVBUF+2,10HMOVBUF+3,10HMOVBUF+4,10HMOVBUF+5,10HRET
;--------------------------
SEND:
MOVDX,Z8251W1:
INAL,DX
TESTAL,01H
JZW1
MOVDX,D8251
MOVAL,AH
OUTDX,AL
RET
;---------------------------
DIS:
MOVCL,20H
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
PUSHBX
MOVBX,OFFSETLED
XLAT
POPBX
MOVDX,ZXK
OUTDX,AL
MOVAL,CL
MOVDX,ZWK
OUTDX,AL
PUSHCX
MOVCX,0100H
DELAY:
LOOP$
POPCX
CMPCL,01H
JZEXIT
INCBX
SHRCL,1
JMPDIS1
EXIT:
MOVAL,00H
MOVDX,ZWK
OUTDX,AL
RET
;--------------------------
CODEENDS
ENDH11
LED显示学号
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODEORG1000H
LED8:
MOVCL,20H
MOVSI,0
MOVBX,OFFSETLED
L0:
MOVAL,BUF[SI]
XLAT
MOVDX,0FFDCH
OUTDX,AL
MOVAL,CL
MOVDX,0FFDDH
OUTDX,AL
MOVDX,040H
K1:
DECDX
JNZK1
INCSI
SHRCL,1
CMPCL,0
JNZL0
JMPLED8
LEDDB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
BUFDB1,1,2,3,0,6
CODEENDS
ENDLED8
--------硬件实验八8259单级中断控制器实验----------
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE,ES:
CODE
ORG3400H
H8:
JMPP8259
ZXKEQU0FFDCH
ZWKEQU0FFDDH
LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H
BUFDB?
?
?
?
?
?
Port0EQU0FFE0H
Port1EQU0FFE1H
P8259:
CLI;关中断
CALLWP;初始化显示“P.”
MOVAX,OFFSETINT8259
MOVBX,003CH;ir7x4=3ch偏移地址
MOV[BX],AX
MOVBX,003EH;求端地址
MOVAX,0000H
MOV[BX],AX
CALLFOR8259
movsi,0000h
STI;开中断
CON8:
CALLDIS
JMPCON8
;------------------------------------
INT8259:
cli
MOVBX,OFFSETBUF
MOVBYTEPTR[BX+SI],07H
INCSI
CMPSI,0007H
JZX59
XX59:
MOVAL,20H
MOVDX,Port0
OUTDX,AL
movcx,0050h
xxx59:
pushcx
calldis
popcx
loopxxx59
popcx
movcx,3438h
pushcx
STI
IRET
X59:
MOVSI,0000H
CALLWP
JMPXX59
;==============================
FOR8259:
MOVAL,13H
MOVDX,Port0;初始化icw100010011OUTDX,AL
MOVAL,08H
MOVDX,Port1;初始化icw200001xxxOUTDX,AL
MOVAL,09H
OUTDX,AL;初始化icw400001001MOVAL,7FH;IRQ7屏蔽除ir07以外的中断OUTDX,AL
RET
;---------------------------
WP:
MOVBUF,11H;初始化显示“P.”
MOVBUF+1,10H
MOVBUF+2,10H
MOVBUF+3,10H
MOVBUF+4,10H
MOVBUF+5,10H
RET
;--------------------------------
DIS:
MOVCL,20HMOVBX,OFFSETBUFDIS1:
MOVAL,[BX]PUSHBXMOVBX,OFFSETLEDXLATPOPBXMOVDX,ZXKOUTDX,ALMOVAL,CLMOVDX,ZWKOUTDX,ALPUSHCXMOVCX,0100HDELAY:
LOOP$POPCXCMPCL,01HJZEXITINCBXSHRCL,1JMPDIS1EXIT:
MOVAL,00HMOVDX,ZWKOUTDX,ALRET;-------------------------CODEENDSENDH8