云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于AT89c51单片机实现的交通灯 - 图文

基于AT89c51单片机实现的交通灯 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/1/9 10:11:16

temp1 = 4; temp2 = 34; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; ET0=1; TR0=1; while(Key1==1 && Key2==1 && Key3==1) { if(flag1 == 4 && flag2 ==1) { flag2=0; temp1--; temp2--; ARED_NB=0; AYELLOW_NB=1; AGREEN_NB=1; BRED_NB=0; BYELLOW_NB=1; BGREEN_NB=1; ARED_DX=1; AYELLOW_DX=0; AGREEN_DX=1; BRED_DX=1; BYELLOW_DX=0; BGREEN_DX=1; shi1=0; shi2=temp2/10; ge1=temp1; ge2=temp2; if(temp1==0) { temp1 = 4; break; } } display(ge1,shi1,ge2,shi2); //调用数码管显示函数 } flag1 = 5; }

void State6()//第6个状态(东西绿灯亮27秒,南北红灯亮27秒)函数的定义 {

uint temp; temp = 30; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; ET0=1; TR0=1; while(Key1==1 && Key2==1 && Key3==1)

25

{ if(flag1 == 5 && flag2 ==1) { flag2=0; temp--; ARED_NB=0; AYELLOW_NB=1; AGREEN_NB=1; BRED_NB=0; BYELLOW_NB=1; BGREEN_NB=1; ARED_DX=1; AYELLOW_DX=1; AGREEN_DX=0; BRED_DX=1; BYELLOW_DX=1; BGREEN_DX=0; shi1=temp / 10; shi2=temp / 10; ge1=temp % 10; ge2=temp % 10; if(temp == 3) { temp = 30; break; } }

display(ge1,shi1,ge2,shi2); //调用数码管显示函数 } flag1 = 6; }

void State7()//第7个状态(东西绿灯闪 3秒,南北红灯亮 3秒)函数的定义 {

uint temp; temp = 3; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; ET0=1; TR0=1; while(Key1==1 && Key2==1 && Key3==1) { if(flag1 == 6 && flag2 ==1) { flag2=0; temp--; ARED_NB=0; AYELLOW_NB=1; AGREEN_NB=1; BRED_NB=0; BYELLOW_NB=1; BGREEN_NB=1; ARED_DX=1; AYELLOW_DX=1; AGREEN_DX ~AGREEN_DX;

=

26

BRED_DX=1; BYELLOW_DX=1; BGREEN_DX ~BGREEN_DX; shi1 = 0; shi2 = 0; ge1 = temp ; ge2 = temp ; if(temp == 0) { temp = 3; break; } }

display(ge1,shi1,ge2,shi2); //调用数码管显示函数 } flag1 = 7; }

void State8()//第8个状态(东西黄灯亮 4秒,南北黄灯亮 4秒)函数的定义 {

uint temp; temp = 4; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; ET0=1; TR0=1; while(Key1==1 && Key2==1 && Key3==1) { ARED_NB=1; AGREEN_NB=1; BRED_NB=1; BGREEN_NB=1; ARED_DX=1; AGREEN_DX=1; BRED_DX=1; BGREEN_DX=1; if(flag1 == 7 && flag2 ==1) { flag2=0; temp --; AYELLOW_DX=0; BYELLOW_DX=0; AYELLOW_NB=0; BYELLOW_NB=0; shi1 = 0; shi2 = 0; ge1=temp % 10; ge2= ge1;

=

27

if(temp == 0) { temp = 4; break; } }

display(ge1,shi1,ge2,shi2); //调用数码管显示函数 } flag1 = 0; }

void display(uint shi1,uint ge1,uint shi2,uint ge2) {

P3 = 0x00; DXweixuan1 = 1; P1=~table[ge1]; delay(5); //调用延时函数 P3 = 0x00; DXweixuan2 = 1; P1=~table[shi1]; delay(5); P3 = 0x00; NBweixuan1 = 1; P1=~table[ge2]; delay(5); P3 = 0x00; NBweixuan2 = 1; P1=~table[shi2]; delay(5); }

void xtimer0() interrupt 1 //定时器 1 {

TH0=(65535-50000)/256; TL0=(65535-50000)%6; if(++aa>=20) // aa为20时是1s { aa = 0; flag2 = 1; } }

void delay(uint z) //延时函数的定义

//数码管显示函数的定义 28

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

temp1 = 4; temp2 = 34; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; ET0=1; TR0=1; while(Key1==1 && Key2==1 && Key3==1) { if(flag1 == 4 && flag2 ==1) { flag2=0; temp1--; temp2--; ARED_NB=0; AYELLOW_NB=1; AGREEN_NB=1; BRED_NB=0; BYELLOW_NB=1; BGREEN_NB=1; ARED_DX=1; AYELLOW_DX=0; AGREEN_DX=1;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com