问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编语言 编写 程序 LED 灯显示

发布网友 发布时间:2022-04-29 22:26

我来回答

2个回答

热心网友 时间:2022-06-24 13:27

开关控制指示灯显示
MY8255_A EQU 0A860H;8255A口地址
MY8255_B EQU 0A861H;8255B口地址
MY8255_C EQU 0A862H;8255C口地址
MY8255_MODE EQU 0A863H;8255控制口地址

CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8255_MODE
MOV AL,82H
OUT DX,AL ;将控制字82H写入8255控制口,A口方式0输出,B口方式0输入, C口未用到。

A1: MOV DX,MY8255_B
IN AL,DX ;读8255 B口内容
MOV DX,MY8255_A
OUT DX,AL ; 将前面读到的B口内容送到A口,即A口内容=B口内容
CALL BREAK ;调用子程序BREAK
JMP A1        ;跳转到A1

BREAK PROC NEAR ;BREAK子程序
MOV AH,1
INT 16H
JZ RETURN ;读按键字符,ZF=1,则返回;ZF=0,则AL=字符
MOV AX,4C00H
INT 21H       ;返回DOS 
RETURN:RET

BREAK ENDP

CODE ENDS         
END START  

;流水灯显示
MY8255_A EQU 0b860H;8255A口地址
MY8255_B EQU 0b861H;8255B口地址
MY8255_C EQU 0b862H;8255C口地址
MY8255_MODE EQU 0b863H;8255控制口地址

DATA SEGMENT
LA DB ?;留出1个字节
LB DB ?;留出1个字节
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA
MOV DS,AX
MOV DX,MY8255_MODE
MOV AL,80H
OUT DX,AL ;控制字80H送入8255控制口,A口、B口都是方式0输出,C口未用到。
MOV DX,MY8255_A
MOV AL,7FH
OUT DX,AL ;将7FH送入A口
MOV LA,AL ;将7FH送入LA存储单元
MOV DX,MY8255_B
MOV AL,0FEH
OUT DX,AL ;将FEH送入B口
MOV LB,AL ;将FEH送入LB存储单元
CALL DALLY
A1: MOV AL,LA
ROR AL,1 ;LA内容循环右移1次
MOV LA,AL
MOV DX,MY8255_A
OUT DX,AL ;将循环右移后的LA内容送A口,其目的是让A口连接的LED灯依次向右循环点亮
MOV AL,LB
ROL AL,1 ;LB内容循环左移1次
MOV LB,AL
MOV DX,MY8255_B
OUT DX,AL ;将循环左移后的LB内容送B口,其目的是让B口连接的LED灯依次向左循环点亮
CALL DALLY ;延时,让一个LED灯发光稳定之后再点亮另一个
CALL BREAK ;调用BREAK子程序,看是否有键按下
JMP A1 ;跳转到A1

DALLY: MOV CX,3FFH ;延时子程序
D1: MOV AX,0FFFFH
D2: DEC AX
JNZ D2
LOOP D1
RET

BREAK PROC NEAR ;是否有键按下
MOV AH,06H
MOV DL,0FFH
INT 21H
JE RETURN ;若无,则转RETURN
MOV AX,4C00H
INT 21H ;返回DOS
RETURN:RET
BREAK ENDP

CODE ENDS
END START

热心网友 时间:2022-06-24 13:28

300块,可写。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何让孩子爱上营养早餐? 牟mou姓与牟mu姓的区别 mou是什么 “MOU”指什么? 如何在EXCEL中表示“大于等于”? vivi是什么 可以直接洗冷水澡吗 室友一开wifi共享大师我的共享大师就不能用怎么回事? 共享大师电脑连不上共享大师电脑版 lol里面的ad、ap、adc都是什么意思啊?详细说明一下,还有其他的专业术语... 不想让我最爱的人,了解我的近况对他的朋友圈可以关闭掉吗? 怎么把自己写的文章发表到百度网页? 朋友圈视频怎么都显示同一个人朋友圈视频一打开? 香蕉奶昔制作过程 怎样编写程序点亮led灯 LED灯条怎么编程 用单片机控制LED灯要怎样编写 怎么才能把自己的文章发表在百度上。可以搜索的到呢? 请问知道的朋友?微信密码忘了,手机号换了。没绑定银行卡,QQ邮箱申诉也不通过。怎样消除微信内容呢? 有什么网站有当天新成立企业 注册公司网址 oracle每隔一小时执行一次定时任务,批量执行语句 电脑下载爱奇艺找不到怎么办??? 学校教室按监控摄像头了。怎么屏蔽他呢。。。 爱奇艺下载后删除了怎么找回来? 怎么才能关闭监控录像 我电脑里的爱奇艺突然不见了,下载安装包结果装不进去,怎么办 最近公司装了监控摄像头,防止员工上班的时候上网,听说有办法可以让摄像头拍屏幕是全黑的,要怎么做? 怎样黑掉yoosee的监控 win10开始菜单找不到爱奇艺图标 香蕉奶昔的做法? 酒吧LED灯怎么编程 怎么做香蕉奶昔 会动的手机壁纸 我有32个LED灯,用C语言编写程序,现实一些图案或字体 如何做香蕉奶昔? 你最讨厌朋友圈里的哪些内容? 如何做香蕉奶昔 怎样编写led控制程序 对于售卖自己朋友圈内容的人,虞书欣怎样追究法律责任? 如何用C语言编写一个LED灯渐变的程序 香蕉奶昔的做法有哪些? AD 控制LED灯亮度 C语言程序怎么编写 哪里能下载到会动的明星手机壁纸 51单片机用汇编语言如何编写LED灯逐渐变亮在逐渐变暗啊 香蕉奶昔的制作方法窍门 怎样在朋友圈植入广告视频 怎么下载会动的手机壁纸 圣诞,元旦到了,公司的LED灯怎么写? 如何简单的做香蕉奶昔