单片机LED花样流水灯汇编程序

单片机LED花样流水灯汇编程序,第1张

做好中断现场保护和还原就可以解决这个问题了。

INT:

    PUSH PSW;先现场保护

    PUSH ACC;

    PUSH 00H;R0

    PUSH 01H;R1 

    PUSH 02H;R2 

    PUSH 03H;R3

    PUSH 04H;R4

    PUSH 05H;R5

    PUSH 06H;R6

    PUSH 07H;R7

    MOV A,#0AAH

MAG:

    MOV P2,A

    LCALL DELAY

    RL A

    JNB P33,MAG

    MOV A,#1

    MOV R2,#7

    POP 07H;R7;现场还原

    POP 06H;R6 

    POP 05H;R5 

    POP 04H;R4

    POP 03H;R3

    POP 02H;R2

    POP 01H;R1

    POP 00H;R0  

    POP ACC;       

    POP PSW;

    RETI

led应该是一个变量,是代表led灯 亮或者灭的一个变量。 当你按下开关后,s1==0,就执行 led=!led 这条语句。 led=!led  的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;}

使用四个独立按键控制四个LED灯亮灭的汇编程序怎么弄?

单片机的P10-P13接四个发光二极管L1-L4的阴极,P14-P17接四个开关K1-K4

程序:

ORG 00H

START: MOV A,P1

ANL A,#0F0H

RR A

RR A

ORl A,#0F0H

MOV P1,A

SJMP START

可以检测单个按键,也可以同时检测多个按键

过程:开始--读P1口数据到A--A中的数据右移4次--A中的内容和F0H相或--A中的数据送到P1口--回到开始

LZ 要是 懂汇编的话,就能知道这是为什么了。

事实上,LZ 的程序是个单次系统,结果应该如同LZ 所说的一样,一个回合后就结束了。

可是,实际使用中,产品都是循环系统,不做单次系统,而很多新手在编程序的时候,也会经常遗漏循环语句,导致循环系统变成了单次系统。于是软件制作方(如KEIL)就在软件上增加了一个功能,编译的时候,将整个程序的外沿,套上一个死循环,保证不出现单次系统。

LZ可以通过查看编译时的 反汇编窗口,里面的汇编程序中,主函数是多了一个循环语句的。

这个问题可大可小,

用三种红绿蓝可以混合色各种颜色,这个程序是吧,每个颜色分成200级(实际是201级),所以值就是0到200,然后用PWM输出控制各色的亮度,混合出七彩,如R=200、G=200、B=200就是白色,但不是纯正的白。(纯白色时RGB的值是不相等的)

户外的超大LED广告屏就是这样的,每个像素点就是一个全色LED灯。

以上就是关于单片机LED花样流水灯汇编程序全部的内容,包括:单片机LED花样流水灯汇编程序、单片机按键控制LED灯亮灭程序怎么做到的、单片机LED灯闪烁延迟程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9307864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存