当前位置:编程学习 > 汇编语言 >>

汇编题求解

有一接口电路如图所示,设计一个程序能自己记录按钮K按下的次数,并将按下次数存放在数据段内变量COUNT中,设8255的口地址为60H一63H,按下次数小于256次,现给出程序清单,请在程序清单的空格处填上正确内容。 MOV AL,90H____;初始化 OUT___63H_____,AL MOV DL,0 LOP:IN AL,__60H__;检查按键K是否按下 TEST AL,__01H__ ____JNZ____LOP INC DL;记录按下次数 MOV COUNT,DL CALL DELAY20MS;延时20ms去抖动 LOP1:IN AL, 40H;检查按键K是否释放 TEST AL,OIH JZ LOP1 JMP LOP 答案已给出,我只想问,为什么要吧90H传送给63H,而不是8255A的首地址60H,为什么在检查K是否释放要从40H读取数据。
答案:嘿嘿   还是由俺来帮你解答吧
1 关于《为什么要吧90H传送给63H,而不是8255A的首地址60H》的回答:
 8255芯片的端口有4个地址,A口地址、B口地址、C口地址、控制口地址、
 计算机通过A口地址、B口地址、C口地址, 可以分别访问A口、B口、C口。
  但对8255的初始化控制命令   必须要送到8255的控制口。
  设8255的口地址为60H一63H,则A口地址、B口地址、C口地址、控制口地址分别为60H、  61H、62H、63H。
   因为90H是计算机送给8255的控制字,所以必须要将它送给控制口63H.
2关于《 为什么在检查K是否释放要从40H读取数据》的回答:
 是书印错了   应该是60H  即A口地址(A口连接按键K)
      呵呵     满意的话   就选满意回答哦

上一个:义隆EM78P153S设置过引脚为输入还要设置内部上拉吗,什么时候要设置内部上拉,下拉,开漏,前辈指教下。
下一个:C8051F35X能外扩RAM吗

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,