c51流水灯单片机程序

c51流水灯单片机程序,第1张

//假设有8个LED通过上拉电阻接到P1端口, 高电平灯灭,低电平灯亮,逐个循环点亮

#include <reg51.h>

unsigned char data tab1[9]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00}

void delay()

{

unsigned int data n

for (n=0n<40000n++)

{

}

}

void main()

{

unsigned char data i=0

while(1)

{

P1= ~tab1[i]

delay()

i++

if (i>=9) i=0

}

}

#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 = dati>0i--)

{

for (j=300j>0j--)

}

}

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)

}

}

二极管的阴极接了单片机。c51单片机产品信息显示,二极管的阴极接了单片机的情况下,流水灯程序会出现故障,具体为闪3次左移,产品出现故障提示。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU的芯片。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7751278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存