单片机控制交通灯程序代码
更新时间:2023-04-21 22:40:01 阅读量: 实用文档 文档下载
#include<reg51.h>
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P32=P3^2;
unsigned int a1=0,a2=0,a3=0,time1=20,time2=3,flag=0;
unsigned char code led[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; main(void)
{
TMOD=0x11;
TH0=0xee;
TL0=0x00;
TR0=1;
ET0=1;
EA=1;
a1=time1;
while(1);
}
void timer0() interrupt 1
{
static unsigned char Bit=0,i=0,huan=0,deng=0,m=0,n=0,l=0,k=1;
TH0=0xee;
TL0=0x00;
if(flag==0||flag==3)
if(a1>0 && a2==0 && a3==0)
{ i++;if(i%200==0){i=0;a1--;} P25=0;if(a1==0){a3=time2;P25=1; }}
else if (a2>0 && a1==0 && a3==0) { i++;if(i%200==0){i=0;a2--;} P23=0;if(a2==0){a3=time2;P23=1; }}
else if (a3>0 && a1==0 && a2==0) { i++;if(i%200==0){i=0;a3--;} P24=0;flag=3; if(a3==0)
switch(huan)
{case(0):flag=0;huan=1;a2=time1;P24=1;break;
case(1):flag=0;huan=0;a1=time1;P24=1;break;
}
}
if(P20==1){m=1;}
if(P20==0&&m==1){ flag++;m=0;a1=time1;a2=0;a3=0;P23=1;P24=1;P25=0;if(flag>=3)flag=0; }
if(P21==1){n=1;}
if(P21==0&&n==1){
n=0;
switch(flag){
case(1):if(time1<10000)time1++;break;
case(2):if(time2<10000)time2++;break;
}
}
if(P22==1){l=1;}
if(P22==0&&l==1){
l=0;
switch(flag){
case(1):if(time1>0)time1--;break;
case(2):if(time2>0)time2--;break;
}
}
if(P32==1){k=1;}
if(P32==0&&k==1){
k=0;
switch(deng){
case(0):deng=1;a2=a1;a1=0;;a3=0;P23=0;P24=1;P25=1;break;
case(1):deng=0;a1=a2;a2=0;;a3=0;P23=1;P24=1;P25=0;break;
}
}
if(Bit>3){Bit=0;}
Bit++;
P1|=0xff;
switch(flag){
case(0):switch(Bit-1){case(0):P0=led[a1%10]; P13=0;break;
case(1):P0=led[a1/10]; P12=0;break;
case(2):P0=(led[a2%10])|0x80; P11=0;break;
case(3):P0=led[a2/10]; P10=0;break;}break; case(1):switch(Bit-1){case(0):P0=led[time1%10]; P13=0;break;
case(1):P0=led[time1%100/10]; P12=0;break;
case(2):P0=led[time1%1000/100];P11=0;break;
case(3):P0=led[time1/1000]; P10=0;break;}break; case(2):switch(Bit-1){case(0):P0=led[time2%10]; P13=0;break;
case(1):P0=led[time2%100/10]; P12=0;break;
case(2):P0=led[time2%1000/100];P11=0;break;
case(3):P0=led[time2/1000]; P10=0;break;}break; case(3):switch(Bit-1){case(0):P0=led[a3%10]; P13=0;break;
case(1):P0=led[a3%100/10]; P12=0;break;
case(2):P0=led[a3%1000/100];P11=0;break;
case(3):P0=led[a3/1000]; P10=0;break;}break; }
}
正在阅读:
单片机控制交通灯程序代码04-21
2016年会计继续教育考试试题06-21
浙江大学《物理与人类文明》期末论文-《纸飞机一样能远航》05-26
网上祭英烈活动方案01-31
全国2014年04月自学考试00152《组织行为学》历年真题01-11
08-OptiX传输设备故障处理11-26
确定入党介绍人应注意哪些问题09-08
2016年西安工业大学会计专硕(mpacc)难易程度怎么样01-20
最终版护理学基础知识题库04-04
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 交通灯
- 单片机
- 代码
- 控制
- 程序
- RLC并联谐振电路的应用
- 大型铁路客运站客流组织仿真技术研究
- 热工基础课后习题答案
- 水泥稳定碎石基层裂缝产生的现象、原因、预防对策及处理办法
- 1.3.1 地球运动 第1课时
- 四川省成都市石室中学高2012级“三诊”模拟考试理科数学试题
- 计算机网络技术第2章习题参考答案
- 惠安一中高三数学每周一练(10)
- 琴道文化与和谐社会——谈儒家乐教与和谐社会的关系
- 《数学课程标准》测试卷(答案)
- 地黄种植技术培训测试
- 教师招聘《中学教育心理学》通关试题每日练卷5016
- 橡胶密炼机全自动混炼工艺控制参数的讨论——Ⅰ温度控制
- 媒体舆论、公众预期与通货膨胀动态机制
- 项目部合理化建议
- CBRE-广州商业市场第二季度监控报告-20150830
- 新人教版七年级语文下册期中考试卷下载
- 高频次室性早搏者窦性心率震荡的临床意义
- 3、2我们的朋友遍天下导学案
- 浙江省安全生产监督管理局关于