基于C51单片机设计模块化程序通过控制两个按键分别控制8个LED灯做流水灯和奇偶位亮灭的代码
时间: 2024-03-18 21:42:08 浏览: 74
好的,这是一个嵌入式系统的问题,我会尽力回答。以下是基于C51单片机设计模块化程序通过控制两个按键分别控制8个LED灯做流水灯和奇偶位亮灭的代码:
```c
#include <reg51.h>
#define LED P2 //定义LED灯的IO口为P2口
#define KEY P1 //定义按键的IO口为P1口
typedef unsigned char u8; //定义无符号字符型变量
u8 flag = 0; //定义标志变量flag
void delay(u8 t) //延时函数
{
u8 i,j;
for(i=0;i<t;i++)
for(j=0;j<125;j++);
}
void main()
{
while(1)
{
if(KEY == 0x01) //按键1按下
{
flag = ~flag; //改变标志变量flag的值
delay(20); //消除抖动
while(KEY == 0x01); //等待按键释放
}
if(flag) //如果标志变量flag为1
{
LED = 0x55; //奇偶位亮灭
}
else //如果标志变量flag为0
{
LED = 0xfe; //流水灯
delay(100);
LED = 0xfd;
delay(100);
LED = 0xfb;
delay(100);
LED = 0xf7;
delay(100);
LED = 0xef;
delay(100);
LED = 0xdf;
delay(100);
LED = 0xbf;
delay(100);
LED = 0x7f;
delay(100);
}
}
}
```
以上是基于C51单片机设计模块化程序通过控制两个按键分别控制8个LED灯做流水灯和奇偶位亮灭的代码,希望能帮到你。
阅读全文