博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单片机交通灯灯c语言程序,基于AT89C52单片机的交通灯C语言程序
阅读量:6513 次
发布时间:2019-06-24

本文共 4857 字,大约阅读时间需要 16 分钟。

原标题:基于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;

d2=0;

delay(1);

d0=0;

d1=1;

d2=0;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu2()

{

d0=0;

d1=0;

d2=0;

delay(1);

d0=1;

d1=0;

d2=0;

delay(1);

d0=1;

d1=1;

d2=0;

delay(1);

d0=0;

d1=0;

d2=1;

delay(1);

d0=0;

d1=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu3()

{

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=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu4()

{

d0=1;

d1=0;

d2=0;

delay(1);

d0=0;

d1=1;

d2=0;

delay(1);

d0=1;

d1=0;

d2=1;

delay(1);

d0=0;

d1=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu5()

{

d0=0;

d1=0;

d2=0;

delay(1);

d0=0;

d1=1;

d2=0;

delay(1);

d0=1;

d1=1;

d2=0;

delay(1);

d0=1;

d1=0;

d2=1;

delay(1);

d0=0;

d1=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu6()

{

d0=0;

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);

d0=0;

d1=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu7()

{

d0=0;

d1=0;

d2=0;

delay(1);

d0=1;

d1=0;

d2=0;

delay(1);

d0=0;

d1=1;

d2=0;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void shu8()

{

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);

d0=0;

d1=1;

d2=1;

delay(1);

}

void shu9()

{

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=1;

d1=0;

d2=1;

delay(1);

d0=0;

d1=1;

d2=1;

delay(1);

_nop_();

_nop_();

_nop_();

delay(1);

}

void display(uchar p)

{

switch(p)

{

case 0:shu0();break;

case 1:shu1();break;

case 2:shu2();break;

case 3:shu3();break;

case 4:shu4();break;

case 5:shu5();break;

case 6:shu6();break;

case 7:shu7();break;

case 8:shu8();break;

case 9:shu9();break;

}

}

void chushihua()

{

ge=0;

shi=0;

}

void main()

{

uchar p,m,n,i,j;

chushihua();

i=9; //状态0

j=3;

while(1)

{

n=76;

while(n)

{

n--;

P1=0x42;

P2=0xbd;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(i==0x00)

{

i=0x0a;

j=j-1;

}

while(j==0x00&&i<=0x03)

{

while(1)

{

m=40;

while(m)

{

m--;

P1=0x00;

P2=0xbd;

P3=0x42;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

p=40;

while(p)

{

p--;

P1=0x00;

P2=0xbd;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(j==0x00&&i==0x00)

{

i=9;//状态1

j=2;

while(1)

{

n=76;

while(n)

{

n--;

P1=0x25;

P2=0xda;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(i==0x00)

{

i=0x0a;

j=j-1;

}

while(j==0x00&&i<=0x03)

{

while(1)

{

m=40;

while(m)

{

m--;

P1=0x00;

P2=0xda;

P3=0x25;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

p=40;

while(p)

{

p--;

P1=0x00;

P2=0xda;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(j==0x00&&i==0x00)

{

i=9; //状态2

j=3;

while(1)

{

n=76;

while(n)

{

n--;

P1=0x90;

P2=0x6f;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(i==0x00)

{

i=0x0a;

j=j-1;

}

while(j==0x00&&i<=0x03)

{

while(1)

{

m=40;

while(m)

{

m--;

P1=0x00;

P2=0x6f;

P3=0x90;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

p=40;

while(p)

{

p--;

P1=0x00;

P2=0x6f;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(j==0x00&&i==0x00)

{

i=9; //状态3

j=2;

while(1)

{

n=76;

while(n)

{

n--;

P1=0x2c;

P2=0xd3;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(i==0x00)

{

i=0x0a;

j=j-1;

}

while(j==0x00&&i<=0x03)

{

while(1)

{

m=40;

while(m)

{

m--;

P1=0x00;

P2=0xd3;

P3=0x2c;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

p=40;

while(p)

{

p--;

P1=0x00;

P2=0xd3;

P3=0x00;

ge=1;

display(i);

ge=0;

shi=1;

display(j);

shi=0;

}

if(j==0x00&&i==0x00)

{

return;

}

i--;

}

}

i--;

}

}

i--;

}

}

i--;

}

}

i--;

}

}

i--;

}

}

i--;

}

}

i--;

}

}

责任编辑:

转载地址:http://raifo.baihongyu.com/

你可能感兴趣的文章
6.1 引言-系统数据文件和信息
查看>>
test
查看>>
面试总结之指针
查看>>
Python面试题汇总
查看>>
CCF NOI1023 最大跨度
查看>>
POJ NOI0105-34 求阶乘的和
查看>>
HDU1868 Consecutive sum【数学计算+枚举】
查看>>
服务器框架回顾
查看>>
图片相关
查看>>
aria初探(一)
查看>>
JS中Module模式基本和高级用法
查看>>
websocket笔记
查看>>
iOS_Quartz2D之涂鸦板
查看>>
图片 转黑白
查看>>
Dev-C++ 5.10 使用指南
查看>>
最佳调度问题 题解
查看>>
使用zip压缩文件夹方法
查看>>
CF 445A DZY Loves Chessboard
查看>>
Cobbler简介
查看>>
恢复 git reset -hard 的误操作
查看>>