好文档 - 专业文书写作范文服务资料分享网站

微机原理 LED灯实验

天下 分享 时间: 加入收藏 我要投稿 点赞

实验5 可编程并行接口8255芯片

一.实验目的

1.了解8255芯片的结构和功能 2.掌握8255初始化程序的设计方法 3.学会8255和CPU信号的连接方法

4.重点掌握方式0的控制字和A,B,C端口的使用

二.实验内容

1.实验4的第3个内容用8255方式0实现,其中A口输入,B口输出

DATA SEGMENT

LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H IOA EQU 200H IOB EQU 202H IOC EQU 206H IOCON EQU 206H DATA ENDS

CODE SEGMENT PUBLIC

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DX,AX MOV DX,IOCON MOV AL,10010000B OUT DX,AL

MOV BX,OFFSET LED

REP1:

MOV DX,IOB MOV AL,0C0H OUT DX,AL MOV AL,01H MOV SI,1 MOV CX,10 LOP1: READ1:

MOV DX,IOA IN AL,DX TEST AL,01H JNZ READ1 READ2:

MOV DX,IOA IN AL,DX TEST AL,01H JZ READ2 MOV AX,SI XLAT

MOV DX,IOB OUT DX,AL INC SI LOOP LOP1 JMP REP1 CODE ENDS END START

实验结果为按一下按钮,数码管跳变一次,从1到9,到9后再按输出0,循环下去。

2.完成8255方式1选通式查询输出,要求采用查询式输出,不断检测输出缓冲区满信号OBF,当OBF为高电平时,轮流电亮8个LED灯。

DATA SEGMENT ORG 0100H LED DB 01H IOA EQU 200H IOB EQU 202H IOC EQU 204H IOCON EQU 206H DATA ENDS

CODE SEGMENT PUBLIC

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX MOV DX,IOCON MOV AL,10100000B OUT DX,AL NEXT:

MOV DX,IOA MOV AL,LED OUT DX,AL MOV DX,IOA WAIT_A:

MOV DX,IOC IN AL,DX

TEST AL,10000000B JZ WAIT_A

ROL LED,1 CALL DELAY JMP NEXT

DELAY PROC NEAR PUSH BX PUSH CX MOV BX,200 LP1:

MOV CX,496 LP2:

LOOP LP2 DEC BX JNZ LP1 POP CX POP BX RET

DELAY ENDP

CODE ENDS END START

实验结果为按一次按钮,LED灯从左到右点亮一盏,如果按住按钮不松开,则LED灯自动从左向右循环点亮。

3.8255方式1输入,实验设计B口工作与方式1输入,A口工作在方式0输入。

IOA EQU 200H IOB EQU 202H IOC EQU 204H IOCON EQU 206H CODE SEGMENT

ASSUME CS:CODE START:

MOV DX,IOCON MOV AL,10000110B OUT DX,AL RD_B:

MOV DX,IOC IN AL,DX AND AL,02 JZ RD_B MOV DX,IOB IN AL,DX MOV DX,IOA OUT DX,AL JMP RD_B DELAY PROC PUSH BX PUSH CX MOV BX,500 LP1:

MOV CX,496 LP2:

LOOP LP2 DEC BX JNZ LP1 POP CX POP BX RET DELAY ENDP

CODE ENDS END START

实验结果为由开关控制LED灯的亮灭,将开关拨好后,按下按钮即可实现控制

03scf3dwbe35m4y31ezc5v45r56fh1008zh
领取福利

微信扫码领取福利

微信扫码分享