单片机流水灯c语言代码(单片机流水灯c语言代码解释)
单片机C语言编程:控制流水灯
T0 工作模式2 计时器中断,一次200us,1s流水灯左移或右移一次。
k3触发外部中断0,级别高于计时器中断,故暂停。
#include?reg52.h
#include?intrins.h?
#define uint?unsigned?int
#define uchar?unsigned?char
sbit?k1=P1^0;?//左循环按钮
sbit?k2=P1^1;?//右循环按钮
sbit?k4=P1^2;?//恢复暂停
sbit?k3=P3^2;//暂停
void?init();
void?showLED();
void?delay(uint?xms);
uint?delayTime;
uint?goLeft=1;
uint?goRight=0;
uint?sFlag=0;
void?main()
{
init();
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
goLeft=1;
goRight=0;
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
while(k2==0);
goLeft=0;
goRight=1;
}
}
}
}
void?delay(uint?xms)
{
uint?i,j;
for(i=xms;i0;i--)
for(j=112;j0;j--);
}
void?init()
{
P0=0xfe;
TMOD=0x02;?//T0?工作模式2?自动装填8位 ?200us
????TH0=0x38;
????TL0=0x38;
????EA=1;
ET0=1;
????TR0=1;
EX0=1;
IT0=1;
}
void?showLED()
{
if(goLeft==1)
P0=_crol_(P0,1);
if(goRight==1)
P0=_cror_(P0,1);
}
void?moveDelay()?interrupt??1 //一次中断200us
{
if(delayTime==5000)
{
showLED();
delayTime=0;
}
else
delayTime++;
}
void?stopLED()?interrupt?0
{
while(1)
{
if(k4==0)
{
delay(10);
if(k4==0)
{
while(k4==0);
break;
}
}
}
}
用C51单片机控制12个LED流水灯的C语言程序怎么写?
#include "REG52.H"
//控制引脚定义
sbit LED1 = PX.X; //P0.0-P3.7任意引脚
.... .... .......
sbit LED12 = PX.X;
//宏定义灯亮灯灭
#define LED1_ON( ) LED1 =0 //阳极接电源
#define LED1_OFF( ) LED1 =1 //阳极接电源
....... ............. .............
#define LED12_ON( ) LED12 =0 //阳极接电源
#define LED12_OFF( ) LED12 =1 //阳极接电源
void Init_GPIO( )//端口引脚初始化,关闭所有指示灯
{
LED1_OFF( ) ;
..............
LED12_OFF( ) ;
}
void Delay_ms( u16 dat ) //延时函数
{
u16 i, j;
for(i = dat; i0; i--)
{
for (j=300; j0; j--);
}
}
int main( ) //主函数
{
Init_GPIO( );//引脚初始化
while(1) //大循环
{
LED1_ON( );//点亮第一个LED
LED2_OFF( );
.............
LED12_OFF( );
Delay_ms(1000);//延时 参数自己可以根据晶振频率自己调节
LED1_OFF( ); //点亮第二个LED
LED2_ON( );
LED3_OFF( );
.............
LED12_OFF( );
Delay_ms(1000);
............. //按照上面修改;
LED1_OFF( );//点亮第十二个LED
LED2_OFF );
LED3_OFF( );
.............
LED12_ON( );
Delay_ms(1000);
}
}

51单片机八个灯的流水灯代码
51单片机八个灯的流水灯代码:
1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。
2、#include "reg51.h"首先写出单片机的头函数。
3、#include "intrins.h"输入位移函数。
4、unsigned int count=0,led;定义函数。
5、输入主函数,定义单片机的端口,写入延时函数。
编辑推荐
对于刚接触单片机的学习者,似乎都很迷茫,C语言、汇编语言、电路、开发板,不知道从哪儿开始学起。其实在学习单片机原理与应用系统开发时,只有在学习一些理论知识的基础上,多阅读单片机应用系统开发案例,注重单片机应用系统开发实践训练,才能透彻地理解和掌握单片机结构与原理,才能更快更好地掌握单片机应用知识和单片机应用系统开发技能。