导航:首页 > 操作系统 > 单片机跑马灯的使用方法

单片机跑马灯的使用方法

发布时间:2022-07-20 14:49:45

1. 单片机 跑马灯 代码详解

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

2. <单片机跑马灯>在延时程序中如要进一步增加延时时间,有哪些方法如何修改程序

咨询记录 · 回答于2021-10-19

3. 怎么用单片机按键控制循环跑马灯

/*单片机,用定时中断实现每隔0.2秒让接在P1口的8个小灯从左往右循环点亮。*/
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
uchar a,b;
uchar b=1;
uchar a=0xfe;
void main()
{
EA=1;IT1=1;ET0=1;
TH0=-5000/256;
TL0=-5000%256;
TMOD=0x01;

TR0=1;
while(1)
{;}

}

void timer0(void) interrupt 1 using 1
{
TH0=-5000/256;
TL0=-5000%256;
b=b+1;

if(b==40)
{
b=0;
P1=a;
a=_crol_(a,1);
P1=a;
}
}

4. 51单片机汇编语言编写一个跑马灯的程序,初学者做实验用,具体要求如下,好了可以加分

程序1:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
LOOP:
MOV A,P2
MOV B,A
MOV P0,A
MOV P1,#0FFH
LOOP1:
LCALL DELAY
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
MOV A,P2
CJNE A,B,LOOP
SJMP LOOP1
DELAY:
MOV R2,#60
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
END
程序2:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
JNB P2.0,LOOP1 ;
JNB P2.1,LOOP2 ;
SJMP MAIN
LOOP1:
MOV P0,#0FEH
MOV P1,#0FFH
LOOP11:
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
JNB P2.1,LOOP2
SJMP LOOP11
LOOP2:
MOV P0,#0FCH
MOV P1,#0FFH
LOOP21:
MOV C,P1.7
MOV A,P0
RLC A
MOV P0,A
MOV A,P1
RLC A
MOV P1,A
JNB P2.0,LOOP1
SJMP LOOP21
DELAY:
MOV R2,#60
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
END

5. 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;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i<8;i++)

{

a=temp<<i;

b=temp>>(8-i);

P1=a|b;

delay();

}

for(i=1;i<8;i++)

{

a=temp>>i;

b=temp<<(8-i);

P1=a|b;

delay();

}

}

}

(5)单片机跑马灯的使用方法扩展阅读:

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

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

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
这个是我写的跑马灯程序,没有左右振荡,自己参考参考加上去吧

7. 单片机跑马灯

汗-----那么简单的问题也拿出来问!
不知道对你有什么用?
若想学,建议继续去看点基础吧!
#include "reg51.h"
#include"intrins.h"

#define uint unsigned int

void DelayMs(uint t)
{
uint i;

while(t--)
{
for(i=0;i<124;i++)
{;}
}

}

void main()
{
uint ax,bx;
while(1)
{
bx=0x01;

for(ax=0;ax<8;ax++)
{
P1=bx<<ax;
Delay(10000);

}

}

}
临时给你写了一个,还没有备注和调试哦;
8个灯一头接P1口的8个脚,另一头接地;

希望对你有用!

8. 怎样用单片机定时器控制跑马灯

首先是什么类型的单片机,是51还是avr或者是PIC,每种单片机都有不同的控制方法,但思路基本一样,即配置相关定时器工作方式,设置初值,开中断,启动定时器等,定时器工作时不占用cpu资源,当产生中断时cpu才需要处理,一般控制跑马灯时在中断函数中使IO口左移或右移,如51的P1=0x01<<i等

9. 关于51单片机的跑马灯设置问题

自己看程序修改一下:

#include<reg51.h>
#include <intrins.h>

/*****************************************************************************
* 延时子程序 *
* *
******************************************************************************/
void delayms(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}

/*****************************************************************************
* 主程序 *
* *
******************************************************************************/
main()
{
unsigned char LED;
LED = 0xfe;
P2 = LED;
while(1)
{
delayms(250);
LED = _crol_(LED,1); //循环右移1位,点亮下一个LED 此函数位库函数
P2 = LED;
}
}

10. 单片机跑马灯如何编程!

如果是一个字节型的数据控制LED灯的话,且是1控制LED灯灭,0控制灯亮。
从灭到亮,先是0xFF,然后开始左移,最终移到0x00,就是全亮了。
从亮到灭,先是0x00,然后左移并且加1,重复此工作就是0xFF了
按照上面的思想,你自己应该可以搞定的。

阅读全文

与单片机跑马灯的使用方法相关的资料

热点内容
股市中带星号的app是什么 浏览:707
什么路由可以刷机做打印机服务器 浏览:5
电脑怎么找到云服务器 浏览:871
微信怎么发应用app 浏览:776
花生壳dns服务器地址 浏览:648
squad服务器一般什么时候人多 浏览:479
程序员战门课 浏览:474
config保存服务器地址 浏览:317
预订网吧座位的app叫什么 浏览:416
香港服务器主机地址 浏览:640
网店美工pdf 浏览:447
一堆文件夹怎么弄出来 浏览:743
博途如何编译硬件 浏览:418
fortran程序pdf 浏览:504
电池消耗算法 浏览:394
服务器中断连接怎么处理 浏览:222
上世纪互联网不发达程序员很难 浏览:841
语音识别android开源 浏览:762
地埋式垃圾压缩中转站 浏览:902
apachehttpdlinux 浏览:944