单片机交通灯灯c语言程序,基于AT89C52单片机的交通灯C语言程序

本文介绍了如何使用C语言编写基于AT89C52单片机的交通灯控制程序,包括4个状态的灯显示逻辑,并提供了数码管倒计时的代码实现。程序中使用了7段数码管进行时间显示,通过状态切换控制不同颜色的交通灯亮起。
摘要由CSDN通过智能技术生成

原标题:基于AT89C52单片机的交通灯C语言程序

如图,简易 。

有四个状态0,1,2,3

数码管为2位7段共阳数码管,可以通过修改i,j的值进而修改倒计时的长短。

不当地方,敬请批评指正!

dcd744020d586f468236c71bc51eb386.png

图一:十字路口交通灯

db9093674f70c95c960bf0cf73f6e22f.png

图二:状态0

绿灯:0x42

红灯:0xbd

9da3146502eb0987e6f7d4f29041f8a5.png

图三:状态1

绿灯:0x25

红灯:0xda

9ad2073f9a5ca764329230c771144bd3.png

图四:状态2

绿灯:0x90

红灯:0x6f

d5ea934619d59fa1008f58b3bd417613.png

图五:状态3

绿灯:0x2c

红灯:0xd3

b54fa4036b781ee1334aa6da722e3973.png

127f5597991126247e3b13ca40a7ec04.png

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit ge=P0^6;

sbit shi=P0^7;

sbit d0=P0^0;

sbit d1=P0^1;

sbit d2=P0^2;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=113;y>0;y--);

}

void shu0()

{

d0=0;

d1=0;

d2=0;

delay(1);

d0=1;

d1=0;

d2=0;

delay(1);

d0=0;

d1=1;

d2=0;

delay(1);

d0=1;

d1=1;

d2=0;

delay(1);

d0=0;

d1=0;

d2=1;

delay(1);

d0=1;

d1=0;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu1()

{

d0=1;

d1=0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值