一、实验目的

掌握单片机的综合应用设计。

二、实验仪器、材料

Keil软件、proteus软件

三、实验内容及要求

完成以下任务:十字路口的交通灯控制系统,四组灯对应十字路口的四个方向,用两位的数码管显示剩余的时间。

四、实验原理

五、实验过程及原始记录(包括原理图程序代码)

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar shuzi[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//p0控制LED灯是否亮
sbit ew_red=P0^0;        //东西红灯,低电平亮
sbit ew_yellow=P0^1;
sbit ew_green=P0^2;
sbit sn_red=P0^3;
sbit sn_yellow=P0^4;
sbit sn_green=P0^5;
//p2口控制段码
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
//控制数码管位码
sbit P1_0=P1^0;
sbit P1_1=P1^1;    //p1_0,p1_1控制东西灯位码
sbit P1_2=P1^2;
sbit P1_3=P1^3;    //p1_2,p1_3控制南北灯位码
//按键控制
sbit P3_3=P3^3; //南北通行按键
sbit P3_4=P3^4; //全部禁止按键
//定义变量
int s=0,n=0;void time(void) interrupt 1 //中断,产生1s
{TH0=(65536-50000)/256;        //0.05s=50msTL0=(65536-50000)%256;n++;if(n==20)   //设置频率,即倒计时速率{n=0;s++;}if(s==60)     //设置交通灯循环一次的时间s=0;
}void ew_allow()           //东西绿灯,南北红灯
{ew_red=1;ew_yellow=1;ew_green=0;  //低电平亮sn_red=0;sn_yellow=1;sn_green=1;
}
void ew_wait()         //东西黄灯,南北红灯
{ew_red=1;ew_yellow=0;ew_green=1;sn_red=0;sn_yellow=1;sn_green=1;
}
void sn_allow()        //东西红灯,南北绿灯
{ew_red=0;ew_yellow=1;ew_green=1;sn_red=1;sn_yellow=1;sn_green=0;
}
void sn_wait()          //东西红灯,南北黄灯
{ew_red=0;  //低电平亮ew_yellow=1;ew_green=1;sn_red=1;sn_yellow=0;sn_green=1;
}void delay()
{    int i;int j;for(i=0;i<100;i++)for(j=0;j<10;j++);
}
void chushi()            //P1初始化
{P1_0=0;P1_1=0;P1_2=0;P1_3=0;
}void jinzhi()           //按下禁止按钮后四个方向都禁止(都为红灯),且时间显示为99
{chushi();P2=shuzi[9]; P1_0=1;P1_2=1; delay();chushi();P1_1=1;  P1_3=1;ew_red=0;ew_yellow=1;ew_green=1;sn_red=0;sn_yellow=1;sn_green=1;delay();
}void display_led()       //LED灯显示
{if(s<=27)   //东西方向与南北方向时间间隔3s(即黄灯时间)ew_allow();  //东西绿灯,南北红灯else if(s<=30)   ew_wait();        //东西黄灯,南北红灯else if(s<=57)    //3ssn_allow();   //东西红灯,南北绿灯else if(s<=60) sn_wait();elsejinzhi();
}
void display_shuzi1()      //绿灯以及黄灯的倒计时显示
{if(s<=27){chushi();P2=shuzi[(27-s)/10];  P1_1=0;P1_0=1;delay();chushi();P2=shuzi[(27-s)%10]; P1_1=1; //个位P1_0=0; //十位delay();}else if(s<=30){chushi();P2=shuzi[(30-s)/10];P1_1=0;P1_0=1;delay();chushi();P2=shuzi[(30-s)%10];P1_1=1;P1_0=0;delay();}else if(s<=57){chushi();P2=shuzi[(57-s)/10];P1_3=0;P1_2=1;delay();chushi();P2=shuzi[(57-s)%10];P1_3=1;P1_2=0;delay();}else if(s<=60){chushi();P2=shuzi[(60-s)/10];P1_3=0;P1_2=1;delay();chushi();P2=shuzi[(60-s)%10];P1_3=1;P1_2=0;delay();}elsejinzhi();
}void display_shuzi2()      //红灯的倒计时显示
{ if(s<=30){chushi();P2=shuzi[(30-s)/10];P1_3=0;    //个位P1_2=1;   //十位chushi();P2=shuzi[(30-s)%10];P1_3=1;P1_2=0;delay();}       else if(s<=60){chushi();P2=shuzi[(60-s)/10];P1_1=0;P1_0=1;delay();chushi();P2=shuzi[(60-s)%10];P1_1=1;P1_0=0;delay();}elsejinzhi();
}void display_shuzi3()
{if(s<=60){chushi();P2=0;delay();chushi();P2=0;delay();}if(s==61)jinzhi();
}void panduan()                 //按键的判断
{if(P3_3==0)              //按下时切换到南北绿灯刚亮起的时间段s=31;if(P3_4==0)              //按下时实现全部禁止(按下南北通行解除禁止)s=61;
}void main()
{TMOD=0x01;TH0=(65536-50000)/256;   //高8位TL0=(65536-50000)%256;    //低8位EA=1;ET0=1;TR0=1;while(1){          display_led();     display_shuzi1();display_shuzi2();display_shuzi3();panduan();}
}     

六、实验结果及分析(程序仿真分析)

单片机交通灯控制系统相关推荐

  1. 基于51单片机交通灯控制系统

    51单片机交通灯控制系统 可调时间+紧急+行人+黄灯5s 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:J008 目录标题 51单片机交通灯控制系统 ...

  2. 交通灯控制系统c语言编程,基于单片机的交通灯控制系统设计(本科)毕业论文设计.doc...

    基于单片机的交通灯控制系统设计 摘 要 当你路过一个十字路口时,你是否注意到各个方向车辆和行人有有条不紊的通过十字路口.这样井然有序的情境靠什么来实现的呢?靠的是交通灯控制系统.在论文中我使用单片机S ...

  3. 基于51单片机的交通灯控制系统课程设计(含proteus仿真图及代码)

    一.设计要求: 1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市 ...

  4. 【proteus仿真】89C51单片机实现十字路口的交通灯控制系统代码

    完成以下任务:运用89C51单片机十字路口的交通灯控制系统,四组灯(红黄绿)对应十字路口的四个方向,用两位的数码管显示剩余的时间. 仿真视频: https://www.bilibili.com/vid ...

  5. 基于AT89C51单片机的交通灯控制系统的设计

    一.前言 本文中交通灯系统采用MSC-51单片机AT89C51核心来设计交通灯控制器,利用单片机的外围扩展,显示电路构成基本硬件,编程实现对定时.控制.显示电路的控制,调试仿真,完成设计.本系统实现了 ...

  6. 52单片机交通灯课程设计

    单片机交通灯课程设计 1. 实验目的和器件 1.1实验目的 (1)通过单片机课程设计,熟练掌握C语言的编写方法,将理论联系到实际中去,提高我们的动手和动脑能力. (2)通过交通信号灯控制系统的设计,掌 ...

  7. 简易交通灯控制系统设计c语言,基于单片机交通灯控制系统设计毕业设计.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 基于单片机交通灯控制系统设计毕业设计.doc30页 本 ...

  8. 单片机炫彩灯实训报告_单片机交通灯实训报告

    - 1 - 第一章 设计目的及要求 1.1 设计目的 1. 通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理, 巩固和加深"单片机原理与应用"课程的基本知识,掌握电子设计知识 ...

  9. 微型计算机技术 论文,微型计算机技术课程设计论文报告微机交通灯控制系统_毕业论文.docx...

    * * *计算机科学系 课程设计(综合实验)报告 (2014--2015 年度第一学期) 课程名称:微型计算机技术 题 目:微机交通灯控制系统 班 级: 学 号: 学生姓名: 指导教师: 设计周数: ...

最新文章

  1. F5 任命 Ben Gibson 担任首席营销官
  2. Linkis 编译文档
  3. MySQL5.6二进制软件包编译安装详解(三)
  4. 计算机硬件技术基础5章在线,《计算机硬件技术基础》试题(D)
  5. 大数据平台搭建_一文读懂数据平台、大数据平台、数据中台
  6. 一个农民父亲令人震撼的力量
  7. 001 基本的环境的安装
  8. STM32使用MCUISP下载程序教程
  9. LOIC低轨道离子拒绝服务攻击
  10. 换热站实际应用程序:西门子200smart PLC与威纶通触摸屏换热站程序、西门子1200plc与昆仑通态触摸屏换热站程序
  11. 黑苹果 惠普笔记本电池补丁_小米笔记本Pro 黑苹果 改装内置WIFI和蓝牙
  12. Java实战---搜搜移动业务大厅
  13. Flash停更!「偷菜」的快乐还记得吗?
  14. V831 修改启动默认文件
  15. 地中海文明卢浮宫特展全攻略(国家博物馆),通俗版
  16. 迁移TFS,批量将文档导入SharePoint 2013 文档库
  17. java日志框架详解
  18. 胜意差旅管理 | 从OA变革到费控系统的企业报销体验
  19. matlab cg steihaug,信赖域(一):Cauchy Point与Dogleg
  20. 双照电子受邀参加广州人工智能公共算力中心企业对接会

热门文章

  1. 论文的参考文献格式怎么弄呢?
  2. 如何找到本地区最新的中小学教材
  3. 桌面壁纸被计算机管理员禁用,电脑壁纸被管理员设置禁用了,怎么处理啊?
  4. 【Linux 驱动】第七章 时间 延迟及延缓操作
  5. linux boot引导修复工具,修复linux的grub2引导(单独/boot,lvm-root)
  6. html css齿轮滚动特效,CSS_纯CSS3实现滚动的齿轮动画效果,纯CSS写的齿轮效果。支持chrome - phpStudy...
  7. [luogu]P1600 天天爱跑步[LCA]
  8. 做一个有志青年,人生才有意义
  9. Sql Server数据库被置疑后解决方法
  10. 速卖通API获得aliexpress商品详情,按关键词搜索,分类详情等数据