导航:首页 > 操作系统 > 流水灯间隔点亮单片机程序

流水灯间隔点亮单片机程序

发布时间:2024-12-22 08:40:14

㈠ 51单片机从中间到两边逐个点亮再从两边到中间逐个点亮程序

这个流水灯程序最好用数组定义8个状态的灯,这样用for循环就可以实现了。简洁明了,易读性强,也容易理解。
#include<reg51.h>
#define uchar unsigned char
code uchar ledtab[10]=
{
0xff,0xe7,0xc3,0x81,0x00, //中间开始逐渐点亮
0xff,0x7e,0x3c,0x18,0x00 //两边开始逐渐点亮
}
void delay(int ms)
{
uchar i;
while(ms--)for(i=0;i<120;i++);
}
main()
{
uchar i;
while(1)
{
for(i=0;i<10;i++)P1=ledtab[i];
delay(1000);
}
}

㈡ 单片机可控制流水灯汇编程序 要求:按一下亮一个,再按一下第二个亮,第一个熄灭

/************************************
编写者:XP
学习单片机一个星期,这是我自己写的*/
#include<reg52.h>
sbit Key=P3^2;
sbit LED_1=P1^0;
sbit LED_2=P1^1;
/**********************************
*********延时函数*****************/
void Delay(int del)
{ int i,j;
for(i=0;i<=42;i++)
for(j=0;j<=del;j++) ;
}
void main()
{ while(1)
{ if(Key==0)
{ Delay(10); //软件防抖,延时10ms
if(Key==0)
{ LED_1=0; //第一个灯亮
LED_2=1; //
Key=1;
Delay(250);
if(Key==0)
{ Delay(10); //软件防抖,延时10ms
LED_1=1; //第一个灭
LED_2=0;} //第二个亮
}
}
Delay(300);
Key=1;
}
}

㈢ 单片机C语言编程:让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重复实现

#include<reg52.h>
#include<intrins.h>
void delay(unsigned int z );
void main()
{
unsigned int a;
unsigned char b=0xfe;
for(a=0;a<8;a++)
{
P1=b;//P1口接8个LED灯
delay(200);
b=_crol_ (b,1);
}
}
void delay(unsigned int z)
{
unsigned int i;
for(;z>0;z--) //延迟时间自己算吧
for(i=110;i>0;i--);
}
用汇编写这个容易点
main: mov a,#0feh
mov r0,#8
loop: mov p1,a
acall delay
rl a
djnz r0,loop
delay:mov r6,#0ffh
loop1: mov r7,#01h
djnz r7,$
djnz r6,loop1
ret
end
好像是这样,延迟时间可能不太准,也是P1口接8个LED灯

阅读全文

与流水灯间隔点亮单片机程序相关的资料

热点内容
分析程序员招聘分析程序员 浏览:111
soul苹果会员为什么比安卓贵 浏览:858
安卓ncm怎么转换成mp3 浏览:710
山东百兆服务器云服务器 浏览:873
安卓主题怎么自定义 浏览:318
抓包如何知道是不是加密接口 浏览:246
prebuild增加编译文件 浏览:955
遗憾值算法反复逸代 浏览:800
ps里一个文件夹怎么创建动作 浏览:682
直接能编译的语言 浏览:152
捷途app怎么样才可以控制车 浏览:509
androidmenu布局 浏览:887
苹果手机备忘录怎么视频加密不了 浏览:79
棋盘覆盖实验算法描述 浏览:6
怎么看移动硬盘加密 浏览:893
神舟装linux 浏览:81
系统命令程序 浏览:448
全世界通用解压方法 浏览:69
蚂蚁森林自动收能量源码 浏览:16
职业中专编程课程都学什么 浏览:249