资源描述:
《《微机原理与接口技术》实训程序代码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实训1排序程序设计六.参考代码DATASEGMENTDW0055H,0033H,0066H,0077H,0099H,0011H,0022H,0088H,0044H,0000HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,9LOOP1:MOVDX,CXMOVBX,0LOOP2:MOVAX,[BX]INCBXINCBXCMPAX,[BX]JLEDONE;小于或等于转移XCHG[BX],AXDECBXDECBXMOV[BX],AXINC
2、BXINCBXDONE:DECDXJNELOOP2LOOPLOOP1MOVAX,4C00HINT21HCODEENDSENDSTART实训二8259A外部中断六.参考代码CS273equ8000HICW1euq00010011b;单片8259,上升沿触发中断,写ICW4
ICW2equ00100000b;中断号为20H
ICW4equ00000001b;工作在8086/88方式
OCW1equ11111110b;只响应IR0
CS8259Aequ0A000h
CS8259Bequ0A001hdatasegmentCNTdb
3、0dataendscodesegmentasummecs:code,ds:dtaienterprocnearpushaxpushdxmovdx,CS273incCNTmoval,CNToutdx,al;输出计数值movdx,CS8259Amoval,20houtdx,alpopdxpopaxiretienterendpiinitprocmovdx,CS8259Amoval,ICW1outdx,almovdx,CS8259Bmoval,ICW2outdx,almoval,ICW4outdx,almoval,OCW1outdx
4、,alretiinitendpstartprocnearclimovax,0movds,axmovbx,4*ICW2movax,code;movax,offsetienter;中断入口地址(段地址为0)mov[bx],axmovax,0incbxincbxmov[bx],ax;代码段地址为0calliinitmovax,datamovds,axmovCNT,0;计数初值为0moval,CNTmovdx,CS273outdx,alstiLP:nop;等待中断jmpLPstartendpcodeendsendstart实训三8
5、255输入/输出七.参考代码modeequ082h;方式0,PA,PC输出,PB输入
PortAequ8000h;PortA
PortBequ8001h;PortBPortCequ8002h;PortCCAddrequ8003h;控制字地址codesegmentassumecs:codestartprocnearStart:moval,modemovdx,CAddroutdx,al;输出控制字moval,80Hmovcx,08HOutA:movdx,PortAoutdx,al;输出PortAmovdx,PortCoutdx
6、,alshral,1;移位movah,100calldelay;延时loopOutAdelayprocnearpushaxmoval,0pushcxmovcx,axloop$popcxpopaxretdelayendpcodeendsenfstart实训48251A串行通讯七.参考代码CS8251Dequ8000h;8251控制口地址CS8251Cequ8001hdatasegmentsourcedb256dup(055h)targetdb256dup(0aah)RBufdb0TBufdb0dataendscodesegm
7、entassumecs:code,ds:dataIInitprocnear;8251初始化movdx,CS8251Cmoval,01001111b;1位停止位,无校验,8位数据,波特率因子64outdx,almoval,00010101b;清除错标志,允许发送接收retIInitendpsendprocnear;串口发送movdx,CS8251Cmoval,00010101boutdx,alWaitTXD:inal,dxtestal,1;发送缓冲器是否为空jzWaitTXDmoval,TBuf;取要发送的字movdx,CS
8、8251Doutdx,al;发送数据retsendendpreceiveprocnear;串行接收movdx,CS8251CWaitRXD:inal,dxtestal,2;是否已收到一个字jeWaitRXDmovdx,CS8251Dinal,dx;读取接收的字movRBuf,alretreceiveen