问一道关于《微机原理与接口技术的题》的题,请高手帮忙解答下, 一个8086系统中,采用8255A芯片,令8255

一个8086系统中,采用8255A芯片,令8255端口A接8个发光二极管LED,8255端口B接8个开关,要求用开关控制相应的发光二极管LED的亮或灭。开关断开,相应的L... 一个8086系统中,采用8255A芯片,令8255端口A接8个发光二极管LED,8255端口B接8个开关,要求用开关控制相应的发光二极管LED的亮或灭。开关断开,相应的LED点亮,开关合上,LED熄灭。已知8255A端口地址为F0H,F2H,F4H,F6H。
请画出该系统的硬件连线图并写出相应的应用程序
展开
 我来答
看云的太阳
2010-12-30 · TA获得超过123个赞
知道答主
回答量:27
采纳率:0%
帮助的人:20万
展开全部
#include<stdio.h>
#include<conio.h>
#include"ApiEx.h"
#pragma comment(lib,"ApiEx.lib")

void main()
{
BYTE data;

printf("Press any key to begin!\n\n");
getch();
printf("Press any key to exit!\n");
if(!Startup())
{
printf("Error!\n");
return;
}
PortWriteByte(0xF6,0x031); //
PortWriteByte(0xF0,0x10);//
while(!kbhit())
{
PortReadByte(0xF0,&data);
printf("%d\n",data);
}
Cleanup();
}
这个是我用c写的,程序查询方式。接线就是cs接地址译码,A0-A7接LED,B0-B7接开关。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心若草1988
2010-12-31
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
代码部分
PORT_A EQU F0H
PORT_B EQU F2H
PORT_C EQU F4H
PORT_CT EQU F6H
STACK SEGMENT PARA 'STACK'
SA DW 100 DUP(?)
TOP EQU LENGTH SA
STACK ENDS
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE,SS:STACK
MAIN PROC FAR
MOV AX,STACK
MOV SS,STACK
MOV AH,10010000B;A口接键盘,B口接LED,选择共阳极接法
OUT PORT_CT,AH
CHECK_PRESS: IN AH,PORT_A;
CMP AH,0FFH
JE CHECK_PRESS
MOV CX,16EAH
DELAY: LOOP DELAY
IN AH,PORT_A
CMP AH,0FFH
JE CHECK_PRESS
OUT_PORTB: OUT PORT_B,AH
IN AH,PORT_A
CMP AH,0FFH
JNE OUT_PORTB
JMP CHECK_PRESS
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END
关于接线的问题,8255的A1A2两个引脚应该和8086的A1A2(空出A0)地址线相连接,CS引脚和地址译码电路相连接,这个数电内容,A口和键盘的连接选择是阳极连接,按键按下接地的这种方式,B口的共阳极连接方式,你要是想用共阴极,B口每个中间加上反向就好了,程序要改,不过不难。其他的引脚对应接就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
damonfan
2010-12-28
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
8255
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式