我记得有个8255A芯片,是端口拓展用的,时间太长了,具体记不清。
1、查数据手册,找8255A的指令用法,学会必须的指令。
2、查数据手册,找8255A的数据线、地址线的连接方法,看管脚图,确定原理图。
3、查数据手册,找8255A的封装,绘制电路板,Protel里有这个芯片的封装,可以直接用。
4、制板、焊件、调试,如果是面包板,就确定该连接的都连接好。
5、程序思路:
1、给8255A初始化指令,让A\B\C口都输出高或低电平,连接LED查看是否工作正常。
2、程序要求出方波,就是一会儿出高电平,一会儿出低电平就是方波。
3、主程序中:
1、初始化51的各个寄存器。
2、初始化8255A
3、发指令给8255A,让A口0线出低电平
4、第一个延时程序,控制低电平持续时间,可以用加法比较延时,也可用定时器。
5、发指令给8255A,让A口0线出高电平
6、第二个延时程序,控制高电平持续时间,同4
7、LOOP循环到程序3位置。死循环即可。
用示波器看输出的波形,调整4、6的参数,使得方波满足你要的高低电平时间,不要特意计算程序一条指令是多少时间,延时多少时间,那样即麻烦,又不准,8255A是有执行延迟的,所以用示波器看输出最准。
这些是02年我大二时学的,好久不用。
估计你是用来完成老师的作业,实际干活,没人用8255的。不知我猜对了没有。
A做输入,B做输出,工作方式可选择90H,由译码器和A1A0决定其端口地址:G1是高电平有效,由与门输出,则A8A7=11,G2A、G2B是低电平有效则A6A5=00,又由于译码器输出为Y2则A4A3A2=010,所以其A、B、C、控制端口地址分别是188H、189H、18AH、18BH。
源程序:
mov al,90h
out 18bh,al
mov dx,188h
in al,dx
mov dx,189h
out dx,al
举例说明如下:
设8255A-5芯片的端口地址为200H~203H,,需设置A端口是输入口,端口B是输出口,端口C为输出口。分析说明A口B口的工作方式并编写初始化程序。
答:
方式控制字 =1001000B,
A口方式0输入,B口方式0输出,C口方式0输出
初始化程序:
MOV DX, 203H ;8255控制口地址送入DX
MOV AL,101000B ;方式控制字送入AL
OUT DX, AL ;方式控制字从AL输出到8255控制口
1、地址确定
因为A10A9A8A7A6A5A4A3=01010011,A2A1=11为控制字端口,A2A1=10为C口,A2A1=01为B口,A2A1=00为A口,A0为0,所以8255A地址范围为24CH~24FH。
2、控制字确定
因为A口为方式0输出,B口为方式0输入,所以控制字为10000010B=82H
3、初始化程序
MOV AL,82H
MOV DX,24FH
OUT DX,AL
>
CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOAPT EQU 0FF28H
IOBPT EQU 0FF29H
IOCPT EQU 0FF2AH
ORG 10e0H
START: MOV DX,IOCONPT
MOV AL,80H
OUT DX,AL
MOV DX,IOBPT
MOV AL,00H
OUT DX,AL
MOV DX,IOCPT
MOV AL,0FH ;H
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,01011010B ;13L 24H
MOV DX,IOCPT
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00001010B ;13LN
OUT DX,AL
MOV CX,8H
IOLED1: MOV DX,IOBPT
MOV AL,50H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOCPT
MOV AL,10100101B
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00000101B
OUT DX,AL
MOV CX,8H
IOLED2: MOV DX,IOBPT
MOV AL,0A0H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOCPT
MOV AL,0FH
OUT DX,AL
CALL DELAY2
JMP IOLED0
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START
以上就是关于汇编程序设计 要求用8255芯片 设计程序,输出方波 有延时 怎么写呀求指导的帮助全部的内容,包括:汇编程序设计 要求用8255芯片 设计程序,输出方波 有延时 怎么写呀求指导的帮助、如图 1)分析各端口地址2)A口,B口工作在什么方式3)写出8255A的初始化程序、8255可编程接口芯片怎么初始化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)