完成:实验三 第四题
This commit is contained in:
Vendored
+3
-1
@@ -1 +1,3 @@
|
||||
{}
|
||||
{
|
||||
"cSpell.words": ["ENLED"]
|
||||
}
|
||||
|
||||
@@ -1,2 +1,63 @@
|
||||
// test4.c
|
||||
// 交通灯(用红黄绿三种颜色LED模拟十字路口交通灯状态,点亮时间红灯>绿灯>黄灯)
|
||||
|
||||
#include "homework3.h"
|
||||
|
||||
sbit C_RED = P2 ^ 0;
|
||||
sbit C_YELLOW = P2 ^ 1;
|
||||
sbit C_GREEN = P2 ^ 2;
|
||||
sbit V_RED = P2 ^ 3;
|
||||
sbit V_YELLOW = P2 ^ 4;
|
||||
sbit V_GREEN = P2 ^ 5;
|
||||
|
||||
void test4()
|
||||
{
|
||||
ENLED = 0;
|
||||
ADDR3 = 1;
|
||||
ADDR2 = 1;
|
||||
ADDR1 = 1;
|
||||
ADDR0 = 0;
|
||||
|
||||
while (true) {
|
||||
// 横向绿灯,纵向红灯(绿灯阶段)
|
||||
V_RED = 0;
|
||||
V_YELLOW = 1;
|
||||
V_GREEN = 1;
|
||||
C_RED = 1;
|
||||
C_YELLOW = 1;
|
||||
C_GREEN = 0;
|
||||
Delay(400000000000); // 缩短绿灯时间
|
||||
|
||||
// 横向黄灯,纵向黄灯(过渡阶段)
|
||||
V_RED = 1;
|
||||
V_YELLOW = 0;
|
||||
V_GREEN = 1;
|
||||
C_RED = 1;
|
||||
C_YELLOW = 0;
|
||||
C_GREEN = 1;
|
||||
Delay(100000000000); // 增加黄灯时间
|
||||
|
||||
// 横向红灯,纵向绿灯(绿灯阶段)
|
||||
V_RED = 1;
|
||||
V_YELLOW = 1;
|
||||
V_GREEN = 0;
|
||||
C_RED = 0;
|
||||
C_YELLOW = 1;
|
||||
C_GREEN = 1;
|
||||
Delay(400000000000); // 缩短绿灯时间
|
||||
|
||||
// 横向黄灯,纵向黄灯(过渡阶段)
|
||||
V_RED = 0; // 纵向红灯提前亮起
|
||||
V_YELLOW = 0;
|
||||
V_GREEN = 1;
|
||||
C_RED = 1;
|
||||
C_YELLOW = 0;
|
||||
C_GREEN = 1;
|
||||
Delay(100000000000); // 增加黄灯时间
|
||||
}
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
test4();
|
||||
}
|
||||
Reference in New Issue
Block a user