工业用微型计算机实验报告工业用微型计算机实验报告
工业用微型计算机实验报告
实验一 8255动态LED数码显示实验
实验目的和内容
进一步掌握8255的使用原理;
掌握动态LED数码显示的原理;
完成动态LED数码显示的编程实验;
在四个数码管上进行十进制的加法计数,最大数为9999,显示器显示提示信息,然后按键返回;
在四个数码管找那个任意二位上进行十进制加法计数,最大数为50,显示器显示提示信息,然后案件返回;
编制并调试在数码管上连续显示0—9。
实验电路
动态LED数码显示的原理如下:8255的B口工作于简单输出方式,经缓冲控制动态LED数码管各显示段的亮暗(1:亮,0:暗),PC4~PC7设置为输出,控制四个LED数码管公共端的电流通路(0:通,1:断),从而构成动态LED数码显示器。设立一计数单元,该单元做0~9999的十进制加计数。编制动态LED数码显示的子程序和计数单元并显示的主程序。
实验原理分析
1.可编程并行通信接口8255A
1) 8255A的内部结构由四部分组成:
数据总线缓冲器
数据端口A、B、C
A组和B组的控制电路
读/写控制逻辑
如下图7-1:
2) 8255A的工作状态
8255A的工作状态是由CPU用输出指令向控制寄存器送的控制字来决的,8255A的控制字可以分为两类:
(一)方式选择控制字:
可以使8255A工作在不同的方式,格式见下图7-3:
(二)端口C置1/置0控制字
格式如下图7-5:
2.LED显示器接口
七段发光二极管简称LED,它是一种应用很普遍的显示器件。LED的主要部分是七段发光管,这七段发光管分别称为:a、b、c、d、e、f、g,有的产品还附带一个小数点DP。通过七段发光管的不同组合,可以显示0~9和A~F共16个字母数字,从而实现十六进制数的显示。LED可以分为共阴极和共阳极两种结构。
流程图
8255动态LED数码显示实验框图如图3-3-2所示。
程序清单
DLYC1 EQU 50
DLYC2 EQU 200
DATA SEGMENT
DISC DB 0BBH,0A0H,97H,0B5H,0ACH,3DH,3FH,0A1H,0BFH,0BDH,0AFH,3EH,1BH,0B6H,1FH,0FH
DIS0 DB 'PRESS ANY OF THE KEYS TO QUIT!',24H
DDBB DB 4 DUP(0)
COUNT DB 00H
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS: CODE,DS: DATA
START:MOV AL,3
MOV AH,0
INT 10H
MOV AX,DATA
MOV DS,AX
MOV AH,2
MOV BH,0
MOV DX,0614H
INT 10H
MOV DX,OFFSET DIS0
MOV AH,9
INT 21H
MOV DX,347H
MOV AL,80H
OUT DX,AL
MOV DX,346H
MOV AL,0FFH
OUT DX,AL
AA: MOV SI,OFFSET DDBB
MOV CX,0004H
CC0:MOV AL,[SI]
INC AL
CMP AL,0AH
JNE CC1
MOV AL,0
MOV [SI],AL
INC SI
LOOP CC0
CC1:MOV [SI],AL
MOV COUNT,DLYC1
CCLP:CALL DISP
MOV DX,350H
IN AL,DX
AND AL,0F0H
CMP AL,0F0H
JNE KPR
MOV AL,COUNT
DEC AL
MOV COUNT,AL
JNZ CCLP
JMP AA
KPR:MOV AL,0
MOV DX,0350H
OUT DX,AL
MOV AX,4C00H
INT 21H
MAIN ENDP
DISP PROC NEAR
MOV BH,0
MOV SI,OFFSET DDBB
MOV DX,345H
MOV BL,[SI]
MOV DI,BX