PS:课设,随便写写,不严谨或者有错误见谅 ,希望有帮助
电路图
元件表
代码
DATA SEGMENT ;数据段
;此处输入数据段
LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH 阳极
;3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;阴极
OUTBUFF DB 1,2,3,4,5,6,7,8 ;改成相应数字即可显示
PORTA EQU 60H
PORTB EQU 62H
PORTC EQU 64H
CS8255 EQU 66H
; A口工作方式0 输入 B口工作方式0 输出
REGIS EQU 10000000B
; REGIS EQU 10000001B
BUF DB 01H
DATA ENDS
EXTRA SEGMENT ; ;附加段
EXTRA ENDS
;
STACK SEGMENT PARA STACK ‘STACK’ ;堆栈段
STAPN DB 100 DUP (00H) ;定义100字节空间
TOP EQU LENGTH STAPN
STACK ENDS
CODE SEGMENT
;MAIN PROC FAR ;过程定义语句
;说明4个段寄存器分别与哪些段有关
ASSUME CS:CODE, DS:DATA,ES:EXTRA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV AX, EXTRA
MOV ES,AX
MOV AX,STACK
MOV SS,AX
;主要程序
MOV DX, CS8255
MOV AL, REGIS
OUT DX,AL
LOP1: CALL DISP
JMP LOP1
DISP PROC NEAR
AGAIN: MOV CL,80H
LEA SI,OUTBUFF
LEDDISP:MOV AL,CL
MOV DX,PORTA
OUT DX,AL
;LEA BX,LED
MOV BX,OFFSET LED
MOV AL,[SI]
XLAT
MOV DX,PORTB
OUT DX,AL
CALL DELAY_1S
MOV AL,0FFH
MOV DX,PORTB
OUT DX,AL
CALL DELAY_1S
CMP CL,01H
JZ NEXT
INC SI
ROR CL,1
JMP LEDDISP
NEXT:RET
DISP ENDP
DELAY_1S PROC
PUSH CX
PUSH BX
MOV BX,0FH
D1: MOV CX,0CH
D2: LOOP D2
DEC BX
JNZ D1
POP BX
POP CX
RET
DELAY_1S ENDP
CODE ENDS ;代码段结束
END START ;整个源代码结束
运行实例
关注8255片选引脚cs是否亮蓝色(此为选中)
附:如果想要详细的搭建步骤或者软件报错,可去B站搜索相关关键词,有大佬做了视频讲述