173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

单片机潘跑马灯编程

htxw 2023-03-15 资讯中心 18 ℃

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

答疑解难   跑马灯程序

                   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

硬件接口电路如下:

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

单片机跑马灯如何编程!

如果是一个字节型的数据控制LED灯的话,且是1控制LED灯灭,0控制灯亮。

从灭到亮,先是0xFF,然后开始左移,最终移到0x00,就是全亮了。

从亮到灭,先是0x00,然后左移并且加1,重复此工作就是0xFF了

按照上面的思想,你自己应该可以搞定的。

51单片机设计跑马灯的程序用(c语言)编写

|P1口接8个发光二极管共阳

#include AT89X51.H

unsigned char i;

unsigned char temp;

unsigned char a,b;

void delay(void)

{

unsigned char m,n,s;

for(m=20;m0;m--)

for(n=20;n0;n--)

for(s=248;s0;s--);

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i8;i++)

{

a=tempi;

b=temp(8-i);

P1=a|b;

delay();

}

for(i=1;i8;i++)

{

a=tempi;

b=temp(8-i);

P1=a|b;

delay();

}

}

}

扩展资料:

Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。

参考资料来源:百度百科-51单片机

单片机 跑马灯 代码详解

ORG

0000H

;开机上电主程序入口

AJMP

START

;系统一进来就转到主程序

ORG

0030H

;主程序地址

START:

MOV

A,

#0FFH

;主程序开始,A中初始化成全1

CLR

C

;c清零

MOV

R2,

#08H

;R2左转循环计数器

LOOP:

RLC

A

C+A+C带进位循环左移,A中的内容在8此循环中从0位到7位依次变0

MOV

P2,

A

;送到P2,使P2从0位到7位依次点亮LED

CALL

DELAY

;单片机运行很快,为了能看到灯的变化,必须延迟,把速度降下来

DJNZ

R2,

LOOP

;R2每次减1后判断是否=0,8次后=0程序才会下行,否则会跳回LOOP

MOV

R2,#07H

;R2右转循环计数器

LOOP1:

RRC

A

C+A+C带进位循环右移,A中的内容在8此循环中从7位到0位依次变0

MOV

P2,

A

;送到P2,使P2从7位到0位依次点亮LED

CALL

DELAY

;和上个循环一样,延时

DJNZ

R2,

LOOP1

;R2每次减1后判断是否=0,7次后=0程序才会下行,否则会跳回LOOP1

JMP

START

;跳回程序起始位置重复下一个循环

DELAY:

MOV

R3,

#20;延时子程序,这个应该不用解释了吧

D1:

MOV

R4,

#200

D2:

MOV

R5,

#248

DJNZ

R5,

$

DJNZ

R4,

D2

RET

END

单片机跑马灯反向跑

点了S2按键。按下按键S1,跑马灯正向运行;按下按键S2,跑马灯反向运行,所以跑马灯反方向跑,可能是按了S2按键。常规的跑马灯,是指将多个发光二极管分别连接到单片机的某一并行端口处,通过编程控制这几个发光二极管依次点亮。

单片机跑马灯汇编程序详细解释

ORG

0000H

SJMP

START

ORG

0030H

START:

MOV

A,

#0FEH

;

先让第一个发光二极管点亮

LOOP:

MOV

P1,

A

;

从P1口输出到发光二极管

MOV

R1,

#100

;

延时0.5秒

DEL1:

MOV

R2,

#200

DEL2:

MOV

R3,

#7

DEL3:

DJNZ

R3,

DEL3

DJNZ

R2,

DEL2

DJNZ

R1,

DEL1

RL

A

;

左移一位,点亮下一个发光二极管

LJMP

LOOP

END

这个是我写的跑马灯程序,没有左右振荡,自己参考参考加上去吧

单片机潘跑马灯编程的介绍到此就结束了,感谢您耐心阅读,谢谢。

本文标签:单片机潘跑马灯编程

<