完成:实验三 第四题
This commit is contained in:
Vendored
+3
-1
@@ -1 +1,3 @@
|
|||||||
{}
|
{
|
||||||
|
"cSpell.words": ["ENLED"]
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,2 +1,63 @@
|
|||||||
// test4.c
|
// test4.c
|
||||||
// 交通灯(用红黄绿三种颜色LED模拟十字路口交通灯状态,点亮时间红灯>绿灯>黄灯)
|
// 交通灯(用红黄绿三种颜色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