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

跑马灯51单片机

htxw 2023-03-16 资讯中心 48 ℃

如何用51系列单片机做控制LED跑马灯实验

/*单片机,用定时中断实现每隔0.2秒让接在p1口的8个小灯从左往右循环点亮。*/

#include

#include

#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;

}

}

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单片机

51单片机跑马灯程序c

/***************************************** *用P1口接LED *****************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i8;i++) //8个流水灯逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp=1; } temp=0x80; for(i=0;i/8个流水灯反向逐个闪动 { P1^=temp; delay(500); //调用延时函数 temp=1; } temp=0xFE; for(i=0;i8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(500); //调用延时函数 temp=1; } temp=0x7F; for(i=0;i/8个流水灯依次反向全部点亮 { P1=temp; delay(500); //调用延时函数 temp=1; } } } void delay(uint t) //定义延时函数 { register uint bt; //register为寄存器变量 即将无符号整形变量bt放在CPU的寄存器中而不是放在内存中 因为该 变量使用频率高 这样可以提高执行效率 for(;t;t--) for(bt=0;bt255;bt++); }

51单片机 ,设计一个跑马灯程序,用软件延时,p0输出,怎么设计c语言,用p1口的开关控制灯循环的速率?

51单片机是单片机接触最早的,下边这个程序希望能帮到你。(只有主函数,就不进行硬件什么定义以及头文件包含什么的了)

void delay(int times){//延时函数,times控制延时时间

int i, j;

for(i = 0; i times; i++)

for(j = 0; j 210; j++)

;

}

int main(void){

unsigned char data, i;

while(1){

data = P1;//把开关值读回来

for(i = 0; i 8; i++){

P0 = ~(0x01 i); //某位为高电平某位对应的灯亮

delay(data);//把读取的开关值用来控制延时

}

}

}

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

本文标签:跑马灯51单片机

<