文档介绍:交通红绿灯的控制
1
任务的提出
任务的提出
当我们走在城市的十字路口时,都会遇到红绿灯,按照一定的时间间隔变换着红绿灯,指挥着交通。现在交通红绿灯的控制都是用计算机(单片机)自动控制,今天我们就在实验室模拟“交通红绿灯的控制”,通过学习进一步掌握顺序、循环程序设计。
2
工作过程分析
红
黄
绿
红
红
黄
黄
绿
绿
红
黄
绿
●
●
●
●
●
●
●
●
●
●
●
●
南北绿灯亮
路口交通红绿灯
3
工作过程分析
路口交通红绿灯
红
黄
绿
红
红
黄
黄
绿
绿
红
黄
绿
●
●
●
●
●
●
●
●
●
●
●
●
南北绿灯亮
南北黄灯亮
4
工作过程分析
红
黄
绿
红
红
黄
黄
绿
绿
红
黄
绿
●
●
●
●
●
●
●
●
●
●
●
●
南北绿灯亮
南北黄灯亮
东西绿灯亮
路口交通红绿灯
5
工作过程分析
红
黄
绿
红
红
黄
黄
绿
绿
红
黄
绿
●
●
●
●
●
●
●
●
●
●
●
●
南北绿灯亮
南北黄灯亮
东西绿灯亮
东西黄灯亮
路口交通红绿灯
6
工作过程分析
任务完整的工作过程
控制南北红灯亮,东西绿灯亮
等待30秒
控制南北红灯灯,东西黄灯亮
等待2秒
控制南北绿灯亮,东西红灯亮
等待30秒
控制南北黄灯亮,东西红灯亮
等待2秒
以此循环
7
程序流程的确定
程序流程的确定
开始
初始化
南北绿灯亮
东西红灯亮
延时30秒
南北黄灯亮
东西红灯亮
延时2秒
南北红灯亮
东西绿灯亮
延时30秒
南北黄灯亮
东西红灯亮
延时2秒
8
知识补充——VC语言屏幕输出函数
#include ""
#include <>
#include <>
void gotoxy(int x,int y)
{
COORD coord;
=x;
=y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );
}
int main()
{
Sleep(5000);//延时5秒
gotoxy(2,1);//调用函数,把光标定位在第一行,第二列
system("color 04");//设置背景和前景颜色
printf("hello color :)\n");
return 0;
}
9
知识补充——C语言屏幕输出函数
调用system("color ab");
设置默认的控制台前景和背景颜色。
color [attr]
attr 指定控制台输出的颜色属性
颜色属性由两个十六进制数字指定-- 第一个为背景,第二个则为前景。每个数字可以为以下任何值之一:
0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 浅绿色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色
10