导航:首页 > 操作系统 > 单片机控制跑马灯

单片机控制跑马灯

发布时间:2022-07-09 12:28:05

⑴ 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();

}

}

}

(1)单片机控制跑马灯扩展阅读:

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

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

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

⑶ 请问这个控制跑马灯的单片机的工作原理是什么呀 刚刚学习不久 不知道如何分析硬件电路的工作原理

跑马灯程序,就是通过定时,控制输出口变化的程序。
在第二张硬件图中,发光二级管符号就代表灯,只要p1口任何一个低电位时候就会亮。
分析硬件需要知道硬件符号和硬件知识,否则根本无从分析。
这需要学习硬件原理很多年。
如果没基础做不到,就考虑放弃软硬件同时开发吧。
做个软件工程师。

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

/*单片机,用定时中断实现每隔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;
}
}

⑸ 单片机 跑马灯 代码详解

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

⑹ 单片机跑马灯代码

//假设晶振12MHZ,P1控制8个LED低电平亮
#include "reg51.h"
unsigned int YSJS=0;
signed char LED=0XFF;
void main(void)
{
TMOD |= 0X10; //定时器1工作于方式1,16位定时器
TH1 = 0XFE; //定时器1定时时间=500uS
TL1 = 0X0C;
ET1 = 1; //使能定时器1中断
TR1 =1;
EA =1; //开总中断

while(1)
{
}
}

void TIMER1(void) interrupt 3 //定时器1中断函数使用默认寄存器组
{
TH1 = 0XFE; //定时器1定时时间=500us
TL1 = 0X0C;

YSJS++;
if(YSJS==1000) //500uS*1000=500000us=0.5s,可调整
{
P1 = LED;
LED=LED<<1
if(LED==0X00)LED=0XFF;
YSJS = 0
}
}

⑺ 单片机跑马灯如何编程!

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

⑻ 关于51单片机的跑马灯控制

#include <reg52.h>
////////////////////////////////////////////////////////
void delay(unsigned int cnt) //简单的延时
{
while(--cnt);
}
///////////////////////////////////////////////////////
main()
{
P1=0xfe;//给初始化值
while(1)
{
delay(20);//delay at crystal frequency in 12MHz
P1<<=1;//左移一位
P1|=0x01;//最后一位补1
if(P1==0x7f)//检测是否移到最左端?
{
delay(20);//delay
P1=0xfe;
}
}
}

阅读全文

与单片机控制跑马灯相关的资料

热点内容
27岁程序员发型 浏览:196
图库文件夹是什么意思 浏览:529
空调压缩机隔音 浏览:349
簿荷阅读app为什么登陆不了 浏览:514
zigbee与单片机通信 浏览:437
下载服务器错误怎么办 浏览:650
pdf读取库 浏览:481
如何找到底层算法 浏览:327
小宅z3下载什么app 浏览:816
快速打印pdf 浏览:636
安卓手机怎么设置禁止卸载 浏览:87
钢琴小车编程图解 浏览:884
编译选项DFORTIFY 浏览:326
快易典安卓怎么升级系统 浏览:494
服务器d盘上的pdf地址怎么写 浏览:121
windows游戏编程之从零开始下载 浏览:234
我的世界刀光服务器的地址 浏览:385
小米扫地机器人算法 浏览:979
漫画人体pdf 浏览:681
微信安卓都有什么版本 浏览:108