用51单片机(汇编语言写)写一个跑马灯程序??知道的帮个忙写写。

用51单片机(汇编语言写)写一个跑马灯程序??知道的帮个忙写写。,第1张

答疑解难   跑马灯程序

                   ORG     0000H

                   LJMP     MAIN

                   ORG     0100H

MAIN:            JB          P0.7,MAIN  ;等待开始键按下

                   LCALL    YS             ;按键延时

                    JB         P0.7,MAIN

                    MOV     A,#7FH       ;是开始键按下  则跑马灯开始运行

LL:                 MOV     P1,A

                    LCALL    YS           ;显示延时

                    RR          A             ;循环右移一位

                    JB         P0.6, LL     ;没有按下停止键  则继续跑马

                    LCALL    YS            ;按键延时

                    JB          P0.6,LL         ;按下停止键 则停止跑马;否则继续跑马

                    MOV      A,#0FFH

                    MOV      P1,A

                    SJMP     MAIN            ;转到程序开始处,等待开始键的按下

YS:                MOV    R7,#150          ;延时子程序

YL:                MOV    R6,#200

YY:         闷旅盯       NOP

                   DJNZ    R6,YY

     镇启              DJNZ    R7,YL

                   RET

                   END

硬件接口电路如下:

   蚂和   哈哈   还满意吗   就请给俺选择(满意选项)吧

如下程序:

if(ledi==8)

{

ledi=0//到了最后一个灯就换到第一个

//每跑一圈灯就根据预定设置的表格来决定下一圈信尺的跑马滑历高速度

speed=speedcode[i]

i++if(i==2)i=0?你的速度设置不仅仅就2个呀(10个预定义的烂慎速度)

}

有两种解决办法:

一个就是将预定的速度加2倍

speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}

二是增加一全局变量uchar z=0在i++前加上如下,前后不改:

、、、、、if(++z==3){z=0i++;}、、、、、、、、、、、

我教你,这个场景需要程序走步来编辑完成。首先编第一步,打开第一台灯光闸。接着编辑第二步则蔽,打开第二台灯光闸,关闭第一台光闸。编辑第三步,打开第三台灯光闸,仔盯腔关闭第二台灯光闸,以次类推,有多少台灯就有多少步,最后多编一步闭光这样效果好一点,速度可以调。这个程序比较适合512的控台来用,念衫可以程序步叠加来使用


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

原文地址:https://54852.com/yw/12360827.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存