资源简介
智能交通控制器包含三个功能:正常模式、紧急模式、智能模式,三种模式靠按键任意切换。
智能模式是根据车流量来控制红绿灯时间。
代码片段和文件信息
#include //问题 在一瞬间没有从set =1 变得 set =2
//不加按键处理就正确
#define uchar unsigned char
#define uint unsigned int
#define Open_W {P2 = P2&0x3f | 0x80;}
#define Open_D {P2 = P2&0x3f | 0x40;}
#define GPIO_key P3
uchar Dis_D[]={0xc00xf90xa40xb00x990x920x820xf80x800x900xff};
//uchar Dis_D[]={0xc00x000xc00xff} ;
uchar buf[4];
uint KeyValue;
uchar T_Green = 5T_Yellow = 3;
uchar TAC = 1 TBD = 1;
uchar TAC_count = 0TBD_count = 0T_count = 0;
//uchar TAC_Green TAC_Yellow TAC_Red;
//ucahr TBD_Green TBD_Yellow TBD_Red;
// A = 东;B = 南;C = 西;D = 北;1 = 直行;2 = 左转;
uchar NumA1 = 5; //A1 东直行等地车辆数 // NumES_s = 5; //东西直行车辆数
uchar NumA2 = 5; //A2 东左转等待车辆数 //NumES_l = 5; //东西左转车辆数
uchar NumB1 = 5; //B1 南直行等待车辆数 //NumNS_s = 5; //南北直行车辆数
uchar NumB2 = 5; //B2 南左转等待车辆数 //NumNS_l = 5; //南北左转车辆数
uchar NumC1 = 5;
uchar NumC2 = 5;
uchar NumD1 = 5;
uchar NumD2 = 5;
int Num = 0Num1 = 0; //直行车比较数 ,左转车道比较数
int Num_set = 0 Num1_set = 0; //紧急‘换道情况下保存NumNum1
uchar danger = 0;
uchar traffic = 0;
uchar change = 0;
uchar flag_1s = 0 flag_500ms ; //闪烁标志位
uchar count0count1; //定时器0
uchar set1 = 0set2 = 0set = 0; //绿灯时间为0标志,红灯时间为0标志
uchar hold = 0 hold1 = 0; //保持当前的set值 T_count值
uchar Yellow;
sbit AC1_Green = P1^5 ; //东西直行
sbit AC1_Yellow = P1^4;
sbit AC1_Red = P1^3;
sbit AC2_Green = P1^2 ; //东西左转
sbit AC2_Yellow = P1^1;
sbit AC2_Red = P1^0;
sbit BD1_Green = P2^5 ; //南北直行
sbit BD1_Yellow = P2^4;
sbit BD1_Red = P2^3;
sbit BD2_Green = P2^2 ; //南北左转
sbit BD2_Yellow = P2^1;
sbit BD2_Red = P2^0;
sbit P1_7 = P1^7;
void Init();
void Display(void);
void Numthan();
uchar Than(uchar auchar buchar cuchar d);
uchar KeyScan();
void KeyDeal();
void LED();
void Delay(uint t)
{
while(t--);
}
void main()
{
Init();
P1 = 0; P2 = 0;
// TAC = T_Green;
// TBD = T_Green+T_Yellow+ T_Green+T_Yellow;
while(1)
{
KeyDeal();
// LED();
switch(set)
{
// case 0: TAC = 0; TBD = 0;break;
case 1: //东西直行
if((set2 == 1)&&(T_count == 1))
{
set1 = 0; set2 = 0;
if(traffic == 0)
{
Num = Than(NumA1NumB1NumC1NumD1);
Num1 = Than(NumA2NumB2NumC2NumD2);
}
else
{
Num = 0;
Num1 = 0;
}
TAC = T_Green+T_Yellow+Num;
TBD =T_Green+T_Yellow+T_Green+T_Yellow+Num+Num1;
P1 = 0; P2 = 0;
AC1_Green = 1; AC2_Red = 1; BD1_Red = 1; BD2_Red =1;
}
if((set1 == 1)&&(T_count == 2))
{
set1 = 0; set2 = 0;
// TAC = T_Yellow;
P1 = 0; P2 = 0;
AC1_Yellow = 1; AC2_Red = 1; BD1_Red = 1; BD2_Red =1;
}
break;
case 2: //东西左转
if((set2 == 1)&&(T_count == 3))
{
set1 = 0; set2 = 0; //Numthan(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-06 17:27 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\
目录 0 2019-03-06 17:51 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\仿真\
文件 144063 2019-01-04 17:47 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\仿真\Last Loaded 课程设计.DBK
文件 144567 2019-03-06 17:50 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\仿真\课程设计.DSN
文件 742 2019-03-06 17:51 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\仿真\课程设计.PWI
文件 1446 2019-03-06 17:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\使用说明.txt
目录 0 2019-01-08 16:03 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\
文件 9017 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\main.c
文件 22801 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\main.LST
文件 19171 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\main.OBJ
文件 103 2019-01-02 13:38 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\成果与问题.txt
文件 15511 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯
文件 4637 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.hex
文件 31 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.lnp
文件 17808 2019-01-02 15:30 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.M51
文件 216 2019-01-04 15:01 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.plg
文件 55210 2019-01-04 15:13 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.uvopt
文件 13235 2018-12-23 00:56 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯.uvproj
文件 55214 2019-01-02 15:32 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯_uvopt.bak
文件 0 2018-12-22 16:12 严鸿鹏 -智能交通灯控制器-终版-2019.01.08\程序\智能交通灯_uvproj.bak
- 上一篇:滤波器测试程序,简单测试滤波算法的滤波效果
- 下一篇:FM1701原理图参考电路
相关资源
- 51单片机 按键控制流水灯左右两边中
- ad603中文资料和pcb制板 proteus仿真
- 基于8086 的proteus仿真的4路竞赛抢答器
- Proteus 8086 8259A
- 篮球记分牌proteus版本.zip
- proteus微机原理小程序;洗衣机控制器
- 8086计算器及Proteus电路图
- 8086Proteus交通灯
- 量程自动切换数字电压表proteus仿真
- 51单片机的电机测速
- Proteus 仿真运算器实验
- 基于51单片机的数字频率计及proteus仿
- 数字电压表及proteus仿真
- 多路温度采集—8086与Proteus实现
- AVR-mega128单片机实现温度DS18B20,prot
- 交通灯课程设计数电 proteus实现
- 基于单片机的dac0832阶梯波的proteus仿真
- 用proteus设计仿真硬件电路图:用808
- 用proteus设计仿真硬件电路图:利用
- 基于Proteus的数字钟设计及仿真.
- PROTEUS的光耦 NPN-4,TLP521,PC817的
- RS485总线的proteus环境下仿真,实现1主
- 51单片机Proteus仿真320x240TFT彩屏.rar
- 51单片机的比赛计时计分系统Proteus仿
- proteus仿真buck电路
- mcs 51单片机 proteus 仿真实用大全 集合
- 金沙滩51单片机proteus文件
- 51单片机万年历程序及proteus仿真
- 51单片机DS18B20程序及proteus仿真
- AT89C52单片机开发板完整Proteus仿真图
评论
共有 条评论