一、 实验说明
实验原理图如下:
器件:7SEG-MPX2-CC-BLUE两位八段共阴数码管,显示为蓝色。还有红黄绿三个LED灯。
其中,P2口的前七位接数码管的7个段选,P3口的前两位接两个位选,P1口的前三位接三个LED灯。
实验的目的是数码管从10开始减到00,然后下一个小灯亮。这里我们不用精确的1秒计时,而是用语句进行一个延时。
二、 编写程序
检测器件
首先检测一下所有器件是否能正常运行,先这样写源程序:
#include
#define uchar unsigned char //宏定义,用uchar代替unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit wei1 = P3^0; //位定义
sbit wei2 = P3^1;
sbit red = P1^0;
sbit yellow = P1^1;
sbit green = P1^2;
void delay();
void main()
{
red = 0; //点亮LED灯
yellow = 0;
green = 0;
while(1)

本文介绍了如何使用C语言编写一个交通信号灯控制系统。通过数码管显示倒计时,并控制红黄绿三色LED灯的交替亮灭。程序利用延时函数模拟时间流逝,数码管动态显示从'10'到'09'的变化,并通过变量作为标志控制不同颜色的信号灯状态。
最低0.47元/天 解锁文章
6083





