51单片机c语言写led八位显示数字为23132108的代码
时间: 2023-04-05 07:05:16 浏览: 112
以下是代码示例:
#include <reg51.h>
#define LED P0 // 定义 LED 端口
void delay(unsigned int t) // 延时函数
{
unsigned int i, j;
for (i = 0; i < t; i++)
for (j = 0; j < 125; j++);
}
void main()
{
unsigned char num[8] = {2, 3, 1, 3, 2, 1, 0, 8}; // 数字数组
unsigned char i;
while (1)
{
for (i = 0; i < 8; i++) // 循环显示数字
{
LED = ~(1 << i); // 点亮对应的 LED 灯
LED = num[i]; // 显示数字
delay(100); // 延时
}
}
}
相关问题
51单片机c语言编写led显示数字为23132108的代码
以下是代码示例:
#include <reg51.h>
#define LED P1
void delay(unsigned int time) // 延时函数
{
unsigned int i, j;
for (i = time; i > 0; i--)
for (j = 110; j > 0; j--);
}
void main()
{
unsigned char num[8] = {2, 3, 1, 3, 2, 1, 0, 8}; // 要显示的数字
unsigned char i;
while (1)
{
for (i = 0; i < 8; i++)
{
LED = ~(1 << i); // 选择要显示的数码管
LED = ~(0x7f & (num[i] << 1)); // 显示数字
delay(500); // 延时
}
}
}
51单片机用C语言写八位流水灯
以下是51单片机用C语言写八位流水灯的代码:
```c
#include <reg52.h>
void delay(unsigned int time) { // 延迟函数
unsigned int i, j;
for(i=0; i<time; i++)
for(j=0; j<125; j++);
}
void main() {
unsigned char led = 0x01; // 初始亮灯为第一盏
while(1) {
P0 = led; // 将灯亮起来
delay(500); // 延迟一段时间
led <<= 1; // 左移一位,下一盏灯亮起来
if(led == 0) led = 0x01; // 如果已经是最后一盏灯,回到第一盏
}
}
```
该程序使用了一个 `delay` 函数,用于延迟一段时间后再执行下一步操作。在主函数中,使用了一个 `led` 变量,用于记录当前亮着的灯是哪一盏。程序不断循环,每次将 `led` 左移一位,下一盏灯亮起来,直到最后一盏灯亮起来后,再回到第一盏灯重新开始。在每次亮灯后,使用 `delay` 函数延迟一段时间,使得灯能够流动起来。