接口实验报告-3_第1页
接口实验报告-3_第2页
接口实验报告-3_第3页
接口实验报告-3_第4页
接口实验报告-3_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ioport equ0d400h-0280hio8253a equioport+283hio8253b equioport+280hcodesegment assumecs:codestart:moval,14h;设置8253通道0为工作方式2,二进制计数 movdx,io8253a outdx,al movdx,io8253b;送计数初值为0FH moval,0fh outdx,allll:inal,dx;读计数初值 calldisp;调显示子程序 pushdx movah,06h movdl,0ffh int21h popdx jzlll movah,4ch;退出 int21hdispprocnear;显示子程序 pushdxandal,0fh;首先取低四位 movdl,al cmpdl,9;判断是否<=9 jlenum;若是则为'0'-'9',ASCII码加30H adddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30h movah,02h;显示 int21h movdl,0dh;加回车符 int21h movdl,0ah;加换行符 int21h popdx ret;子程序返回dispendpcodeendsendstartatasegmentioport equ0d400h-0280hio8255a equioport+288hio8255b equioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1db0dh,0ah,'Inputanum(0--9h):',0dh,0ah,'$'dataendscodesegment assumecs:code,ds:datastart:movax,data movds,ax movdx,io8255b;使8255的A口为输出方式 movax,80h outdx,alsss:movdx,offsetmesg1;显示提示信息 movah,09h int21h movah,01;从键盘接收字符 int21h cmpal,'0';是否小于0 jlexit;若是则退出 cmpal,'9';是否大于9 jgexit;若是则退出 subal,30h;将所得字符的ASCII码减30H movbx,offsetled;bx为数码表的起始地址 xlat;求出相应的段码 movdx,io8255a;从8255的A口输出 outdx,al jmpsss;转SSSexit:movah,4ch;返回DOS int21hcodeendsioport equ0d400h-0280hio0809a equioport+298hcodesegment assumecs:codestart:movdx,io0809a;启动A/D转换器 outdx,al movcx,0ffh;延时delay:loopdelay inal,dx;从A/D转换器输入数据 movbl,al;将AL保存到BL movcl,4 shral,cl;将AL右移四位 calldisp;调显示子程序显示其高四位 moval,bl andal,0fh calldisp;调显示子程序显示其低四位 movah,02 movdl,20h;加回车符 int21h movdl,20h int21h pushdx movah,06h;判断是否有键按下 movdl,0ffh int21h popdx jestart;若没有转START movah,4ch;退出 int21hdispprocnear;显示子程序 movdl,al cmpdl,9;比较DL是否>9 jleddd;若不大于则为'0'-'9',加30h为其ASCII码 adddl,7;否则为'A'-'F',再加7ddd:adddl,30h;显示 movah,02 int21h retdispendpcodeendsendstartdatasegmentioport equ0d400h-0280hio8255a equioport+28ahio8255b equioport+28bhportc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能 db81h,82h,80h,82h,80h,82h,80h;的状态数据 db0ffh;结束标志dataendscodesegmentassumecs:code,ds:datastart: movax,data movds,ax movdx,io8255b moval,90h outdx,al;设置8255为C口输出 movdx,io8255are_on: movbx,0on: moval,portc1[bx] cmpal,0ffh jzre_on outdx,al;点亮相应的灯 incbx movcx,20;参数赋初值 testal,21h;是否有绿灯亮 jzde1;没有,短延时 movcx,2000;有,长延时de1: movdi,9000;di赋初值5000de0: decdi;减1计数 jnzde0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论