第五次实验指导.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五次实验指导

计算机硬件技术基础( Ⅰ) 计算机硬件技术基础( Ⅰ) 硬件实验第二次 硬件实验第二次 1 例:用8255A的C口读入8个开关K1-K8的状态,并用LED显示开关为 “1”的个数,LED亮表示“1”、灭表示“0” ,当8个开关的状态均为“1” 时程序结束,LED用8255A的A口进行控制。如K1-K8有5个开关向 上,8个LED应显示为 CODE SEGMENT ASSUME CS:CODE START:MOV DX,20BH ;8255控制口地址 MOV AL,89H ;A、B口输出,C口输入,工作方式为0 OUT DX,AL ;8255初始化 MOV AH,0 ;AH存入开关状态,初值为0 L0: MOV DX,20AH ;C口地址 IN AL,DX ;读开关状态 CMP AL,AH ;比较状态改变否? JE L0 ;未改变,继续读开关状态 MOV AH,AL ;开关状态已改变,更新 MOV BL,0 ;BL为开关状态为“1”的计数器,初值0 MOV CX,8 ;循环次数(8位开关) 2 1 L1: SHL AL,1 ;左移1位,最高位到CF,最低位添0 JNC L2 ;位为0,继续 INC BL ;位为1,“1”状态计数器加1 L2: LOOP L1 ;循环8次 MOV DX,208H ;A口 MOV AL,BL ;LED“1”状态计数器值送AL OUT DX,AL ;点亮8位LED中的相关位 CMP AL,8 ;开关全为“1”? JNE L0 ;否,继续 MOV AH,4CH ;程序结束 INT 21H CODE ENDS END START 硬件连接:输入:J9(C口)与J11(开关)相连(PC0-K1…PC7- K8).输出:J8(A口)与J4(LED)相连(PA0-L1…PA7-L8) 3 第1题: • 程序结构可参考实验教程P130例3.1 • 未指明用途的端口可设置为输出或输入,本题只涉及输出,可将A、B和C 口都设置为输出 • LED状态初值设为55H,后面在循环中用NOT指令改变状态 • 延时用软件延时法,设置空循环(参考P130例3.1)和调用BIOS中断15H (子功能号86H)均可 • 可用3种方式结束程序: ①设置一定的循环次数(次数不要太多,参考P130例3.1); ②用A或C口的一位与某一开关相接,输入开关状态(相应要改 变初始化指令,使A或C口置为输入) ③按微机键盘任一键(调用DOS中断子功能号06H) 检查键盘缓冲区(ZF)并获取字符(AL) 入口参数: … AH=06H ;DOS中断子功能号 MOV AH ,6 DL=0FFH ;功能定义(区别打印) MOV DL ,0FFH 出口参数: INT 21H ZF ;ZF=1 空,ZF=0 有字符 JZ AGAIN ;继续运行程序 4 AL ;取字符ASCII码

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档