第4讲 交通信号灯

本文介绍了如何使用C语言编写一个交通信号灯控制系统。通过数码管显示倒计时,并控制红黄绿三色LED灯的交替亮灭。程序利用延时函数模拟时间流逝,数码管动态显示从'10'到'09'的变化,并通过变量作为标志控制不同颜色的信号灯状态。
摘要由CSDN通过智能技术生成
一、 实验说明

实验原理图如下:

原理图

器件: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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值