用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; i>0; i--)
{
for (j=300; j>0; 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);
}
}
//控制引脚定义
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; i>0; i--)
{
for (j=300; j>0; 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);
}
}
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询