打印

[交流] 8255流水灯显示 很酷的哦

0

8255流水灯显示 很酷的哦

现在大家都在用电脑实现一些声音效果 但是大家有没有想过如果用一些老古董的东西会给人更奇妙的感觉

现在就让我们用8255来实现流水灯,8255这种板子在很多学校里都有淘汰的@@

首先我们用的是汇编语言 ,代码如下:
8255流水灯显示实验
;****************根据查看端口资源修改下列符号值*******************
IOY0         EQU   9C00H          ;片选IOY0对应的端口始地址
;*****************************************************************
MY8255_A     EQU   IOY0+00H*4     ;8255的A口地址
MY8255_B     EQU   IOY0+01H*4     ;8255的B口地址
MY8255_C     EQU   IOY0+02H*4     ;8255的C口地址
MY8255_MODE  EQU   IOY0+03H*4     ;8255的控制寄存器地址

STACK1 SEGMENT STACK
        DW 256 DUP(?)
STACK1 ENDS

DATA SEGMENT
LA      DB  ?                     ;定义数据变量
LB      DB  ?
DATA ENDS

CODE SEGMENT
        ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA
       MOV DS,AX

       MOV DX,MY8255_MODE         ;定义8255工作方式            
       MOV AL,80H                 ;工作方式0,A口和B口为输出
       OUT DX,AL

       MOV DX,MY8255_A            ;写A口发出的起始数据
       MOV AL,80H
       OUT DX,AL
       MOV LA,AL

       MOV DX,MY8255_B            ;写B口发出的起始数据
       MOV AL,01H
       OUT DX,AL
       MOV LB,AL

LOOP1: CALL DALLY
       MOV AL,LA                  ;将A口起始数据右移再写入A口
       ROR AL,1        
       MOV LA,AL
       MOV DX,MY8255_A
       OUT DX,AL

       MOV AL,LB                  ;将B口起始数据左移再写入B口
       ROL AL,1
       MOV LB,AL
       MOV DX,MY8255_B
       OUT DX,AL

       MOV AH,1                   ;判断是否有按键按下
       INT 16H
       JZ  LOOP1                  ;无按键则跳回继续循环,有则退出

QUIT:  MOV AX,4C00H               ;结束程序退出
       INT 21H

DALLY PROC NEAR                   ;软件延时子程序
       PUSH CX
       PUSH AX
       MOV  CX,3FFH
D1:    MOV  AX,0FFFFH
D2:    DEC  AX
       JNZ  D2
       LOOP D1
       POP  AX
       POP  CX
       RET
DALLY ENDP

CODE ENDS
     END START
连接的话 就是在电脑上用数据线连到板子,然后IOY0 CS RDWR的线接好 就可以看到流水灯了 试试吧@@ 首次发主题 请大家都支持 版主多体谅

TOP

0
非常感谢的呀 可是这种板子到底哪里有呀?有照片的话比较好吧

TOP

0
看的我云里雾里,说的是啥都不知道!哈哈!路过顶一下楼主

TOP

0
LZ啊,麻烦你还是上图片的,说有个P用啊,关键还是图片

TOP

0
太专业了 ,看到一半做不下去。

TOP

0
0FFFFH
这个是指灯色吗?那么端口2和端口1交互的时候是一样的?

TOP

0
太专业了,相当的厉害,有没有什么照片的贴出来看看那
本帖最近评分记录
  • w84416625 金币 -6 无意义回复!仔细阅读版规! 2010-6-30 03:31

TOP

0
经鉴定 明显的95/98程序 nt系统无法运行 可以用Masm进行汇编 在虚拟机里边测试

TOP

0
这个就是单片机么?没一定专业水平的我想应该看不懂吧。我学的时候就很头大。希望楼主为了大家不能做点视频或者图片教程看看?
另外8255这种东西,应该在机电类专业学校有很多吧。

TOP

0
汇编啊,好久没有碰过了,全部忘光光了,想起了大学的日子,怀念

TOP

当前时区 GMT+8, 现在时间是 2025-3-21 01:33