8255控制四个双色灯C语言,汇编语言实现通过8255A和4个开关控制实现8个LED灯和8个7位数码管显示指定数字全亮、全灭、从左至右、从右至左跑马灯式点亮...

这篇博客介绍了如何使用8255A接口芯片,通过C语言和汇编语言实现控制四个双色LED灯及8个7位数码管的全亮、全灭、左右跑马灯效果。文中提供了改进前后的代码示例,展示了如何根据4个开关输入切换不同显示模式。
摘要由CSDN通过智能技术生成

最后改进代码:

.MODELTINY

.STACK100

.DATA

ledshow DB 11111110B ;数据段定义变量按“变量名 数据类型 数据”;DB为字节型

seven DB 07h

zero DB 00h

.CODE

START:A equ 0270H;数码管端口地址

B equ 0271H;0-1开关端口地址

C equ 0272H;控制数码管显示内容

movax,@DATA ;获得当前程序的数据段地址,并传送给数据段DS寄存器保存。

mov ds,ax ;这样,程序中访问存储器操作数时,默认情况下就会从DS指定的数据段进行存取

movdx,273h

moval,10000010H

outdx,al

function:

call delay

movdx,B

inal,dx ;从dx端口地址中将数据读入到al中

andal,00001111B

cmpal,00000001B

jefun1

cmpal,00000010B

jefun2

cmpal,00000100B

jefun3

cmpal,00001000B

jefun4

fun1:movdx,A

moval,00H

outdx,al ;将al中的值读出到dx端口地址中

jmpfunction

fun2:movdx,A

moval,0FFH

outdx,al

movdx,C

moval,01011011B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值