单片机AT89C52十字路口交通灯控制C语言程序
更新时间:2023-08-24 10:21:01 阅读量: 教育文库 文档下载
- 单片机AT80C51推荐度:
- 相关推荐
单片机AT89C52交通灯C程序控制
单片机AT89C52十字路口交通灯控制程序
东西方向60秒,南北方向57秒
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ON 0
#define OFF 1
sbit NS_G=P2^5; //南北绿灯
sbit NS_Y=P2^4; //南北黄灯
sbit NS_R=P2^3; //南北红灯
sbit EW_G=P2^2; //东西绿灯
sbit EW_Y=P2^1; //东西黄灯
sbit EW_R=P2^0; //东西红灯
sbit LED_D1=P3^7; //南北方向数码管位控制
sbit LED_C1=P3^6; //南北方向数码管位控制
单片机AT89C52交通灯C程序控制
sbit LED_B1=P3^1; //东西方向数码管为控制
sbit LED_A1=P3^0; //东方向数码管位控制
/*********倒计时赋初值*************/
uchar EWF=20,NSF=17,X=20,Y=17,Z=20,SHU=20;
uchar count;
void Init(void)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
/*******************中断服务程序**************************/
void timer1(void) interrupt 1
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
count++;
if(count>19)
{
EWF--;
NSF--;
X--;
Y--;
Z--;
SHU--;
count=0;
}
}
/******************延时**********************/
void Delay10uS(uchar z)
{
uchar x,y;
单片机AT89C52交通灯C程序控制
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/******************led控制*******************/
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极数码管赋值
void display1(uchar num1,uchar num2) //控制东西方向led显示
{
P0=table[num1];
LED_A1=ON;
Delay10uS(1);
LED_A1=OFF;
P0=table[num2];
LED_B1=ON;
Delay10uS(1);
LED_B1=OFF;
}
void display2(uchar num3,uchar num4) //控制南北方向led显示
{
P0=table[num3];
LED_C1=ON;
Delay10uS(1);
LED_C1=OFF;
P0=table[num4];
LED_D1=ON;
Delay10uS(1);
LED_D1=OFF;
}
void main()
{
int i;
/************初始状态东西南北禁止通行************/
NS_R=ON; //南北方向红灯打开
EW_R=ON; //东西方向红灯打开
for(i=0;i<600;i++)
{
Delay10uS(20);
}
NS_R=OFF;//南北方向红灯关闭
EW_R=OFF;//东西方向红灯关闭
while(1)
单片机AT89C52交通灯C程序控制
{
Init(); // 初始化计时器
/****************状态1:东西绿灯(57s), 南北红灯(60s)**************/ /***************状态2:东西黄灯(3s) , 南北红灯(60s)****************/ EW_G=ON; //东西方向的绿灯打开
NS_R=ON; //南北方向的红灯打开
while(EWF!=0)
{
display1(EWF/10,EWF%10);// 东西方向红灯(60s)
display2(NSF/10,NSF%10);// 南北方向绿灯(57s)
while(EWF==3)
{
while(X!=0)
{
display1(EWF/10,EWF%10);// 东西方向红灯(3s) display2(X/10,X%10);// 南北方向黄灯(3s)
EW_G=OFF; // 东西方向的绿灯关闭
EW_Y=ON; // 东西方向的黄灯打开
}
}
}
NS_R=OFF; // 南北方向的红灯关闭
EW_G=OFF; // 东西方向的绿灯关闭
EW_Y=OFF; // 东西方向的黄灯打?
/*=*************状态3:东西红灯(60s), 南北绿灯(57s)************/ /****************状态4:东西红灯(60s), 南北黄灯(3s)***************/ EW_R=ON;// 东西方向的红灯打开
NS_G=ON;// 南北方向的绿灯打开
while(Z!=0)
{
display2(Z/10,Z%10);// 南北方向红灯(57s)
display1(Y/10,Y%10);// 东西方向绿灯(57s) while(Z==3)
{
while(SHU!=0)
{
display2(Z/10,Z%10);// 东西红灯(3s)
display1(SHU/10,SHU%10);// 南北绿灯(3s) NS_G=OFF; //南北方向的绿灯关闭
NS_Y=ON; // 南北方向的黄灯打开
}
}
单片机AT89C52交通灯C程序控制
} } EW_R=OFF; // 东西方向的红灯关闭 NS_G=OFF; // 南北方向的绿灯关闭 NS_Y=OFF; // 南北方向的黄灯关闭 EWF=60,NSF=57,X=60,Y=57,Z=60,SHU=60; //重新赋值 }
正在阅读:
给EXCEL初学者word版本08-07
tracert命令12-27
挡土墙工程量计算06-05
第五单元 生物圈中的其他生物07-06
急性心肌梗死溶栓治疗05-14
川农15春《测树学(专科)》在线作业答案09-26
运动员口号03-16
当前法国中小学教师继续教育的特点08-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 交通灯
- 语言程序
- 单片机
- 十字路口
- AT89C52
- 控制
- 2016-2022年中国不定形耐火材料行业分析及发展战略研究报告(目录)
- 浪潮企业信息门户平台v1.0产品发布说明
- 2009年北京市中考物理试题
- 电磁场理论复习题
- GBJ97-87水泥混凝土路面施工及验收规范
- 第九讲 弗洛伊德的古典精神分析 第十讲 荣格的分析心理学和阿德勒的个体心理学
- 小区物业保安员岗位职责
- Could you please tell me
- 公开课(二次函数中三角形面积问题)
- 检验大纲
- 海洋工程环境综述
- 软件开发技术文档
- 2016-2022年中国移动电话皮套行业市场分析及发展前景评估报告(目录)
- 麻醉科应急预案整理版本
- 定积分的概念NO13
- 安徽省“雨露计划”实施方式改革试点补助申请表及证明模板
- 联合卡尔曼滤波器在数据融合中的应用_胡宏灿
- 艾滋病预防知识讲座策划案
- 广东省肇庆市2018届高三第三次模拟考试理科数学试题
- 2016年暨南大学经济学院经济法(同等学力加试)复试笔试最后押题五套卷