设有8个LED画出电路原理图设计程序实现依次点亮每个LED要求画出主程序流程具体keil
- 电路原理图如下:
VCC
|
|
+----+----+
| |
R1 R2
| |
| |
LED1--| |----LED2
| |
| |
+----+----+
|
|
+----+----+
| |
R3 R4
| |
| |
LED3--| |----LED4
| |
| |
+----+----+
|
|
+----+----+
| |
R5 R6
| |
| |
LED5--| |----LED6
| |
| |
+----+----+
|
|
+----+----+
| |
R7 R8
| |
| |
LED7--| |----LED8
| |
| |
+---------+
|
GND
- 主程序流程如下:
#include <reg52.h> // 8051 头文件
#define LED1 P1_0 // 定义 LED1 对应的引脚
#define LED2 P1_1 // 定义 LED2 对应的引脚
#define LED3 P1_2 // 定义 LED3 对应的引脚
#define LED4 P1_3 // 定义 LED4 对应的引脚
#define LED5 P1_4 // 定义 LED5 对应的引脚
#define LED6 P1_5 // 定义 LED6 对应的引脚
#define LED7 P1_6 // 定义 LED7 对应的引脚
#define LED8 P1_7 // 定义 LED8 对应的引脚
// 延时函数,单位为毫秒
void delay_ms(unsigned int ms) {
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 114; j++);
}
void main() {
while (1) { // 无限循环
LED1 = 0; // 点亮 LED1
delay_ms(500); // 延时 500 毫秒
LED1 = 1; // 熄灭 LED1
LED2 = 0; // 点亮 LED2
delay_ms(500); // 延时 500 毫秒
LED2 = 1; // 熄灭 LED2
LED3 = 0; // 点亮 LED3
delay_ms(500); // 延时 500 毫秒
LED3 = 1; // 熄灭 LED3
LED4 = 0; // 点亮 LED4
delay_ms(500); // 延时 500 毫秒
LED4 = 1; // 熄灭 LED4
LED5 = 0; // 点亮 LED5
delay_ms(500); // 延时 500 毫秒
LED5 = 1; // 熄灭 LED5
LED6 = 0; // 点亮 LED6
delay_ms(500); // 延时 500 毫秒
LED6 = 1; // 熄灭 LED6
LED7 = 0; // 点亮 LED7
delay_ms(500); // 延时 500 毫秒
LED7 = 1; // 熄灭 LED7
LED8 = 0; // 点亮 LED8
delay_ms(500); // 延时 500 毫秒
LED8 = 1; // 熄灭 LED8
}
}
原文地址: https://www.cveoy.top/t/topic/bGcO 著作权归作者所有。请勿转载和采集!