汇编程序设计 要求用8255芯片 设计程序,输出方波 有延时 怎么写呀求指导的帮助

汇编程序设计 要求用8255芯片 设计程序,输出方波 有延时 怎么写呀求指导的帮助,第1张

我记得有个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可编程接口芯片怎么初始化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9299310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存