基于单片机的交通信号灯

二○一六~二○一七学年第一学期

电子信息工程系

电子产品策划与设计

报告书

班 级: 课程名称: 学生姓名: 学 号: 指导教师:

二○一六年十二月

基于单片机的交通信号灯

一、设计要求

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过一段时间(25S)转换状态2,南北方向亮黄灯,延时5S,东西方向仍然红灯,再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。

二、电路设计及原理分析

1、本设计由STC82C52最小系统模块,电源供电模块,交通信号灯模块,显示倒计时模块。

2、路口交通指挥系统示意图如下所示:(本设计实物中东西、南北方向各做一个)

干黄3、设计的方案如下:

(1)本设计采用单片机89C52作为控制器,通行时间及等待时间使用数码管以倒计时的方式显示,使用单片机P0.2-P0.4口控制东西方向的车辆通行;使用单片机P0.5-P0.7口控制南北方向车辆的通行;用P0.1-P02口控制两位共阴极数码管的选通;用P3.3口作为紧急情况东西南北方向全部红灯。

(2)方案中设计有由人工控制的复位电路。

(3)考虑到紧急情况获交通管制阶段需要路段不通车,本方案设计有东西南北四个方向全为红灯的设计。

综上所诉,该产品的实现需要单片机模块,晶振模块,复位模块,中断信号模块,交通灯模块,倒计时数显模块,电源供电模块。

三、焊接及安装调试过程

1、调试过程如下图所示:

2、焊接过程:

3、焊接注意事项:

(1)焊接前,应先检查焊锡设备和工具是否安全,如是否接触良好,焊接电缆绝缘外套有无破损等。

(2)选用合适的焊锡。应选用焊接电子原件用的低熔点焊锡丝。

(3)焊接时间不宜过长,否则容易烫伤原件。必要时可用镊子夹住管脚帮忙散热。(4)电烙铁应放在烙铁架上。 2、安装调试过程

(1)焊接完毕后,通电前对电路进行检查,首先检查正极与地是都短路,接下来检查各器件的高电平与电源是否接通,接地端是否与地线接通;

(2)通电检查,如果通电交通灯没有反应,应立即关掉电源。重新检查电路。检查cpu的30号引脚电平的大小,并作出判断。正常情况下,30号引脚的电平为1-3V,若为5V,则说明cpu没有正常工作。

四、软件设计

软件的设计分以下5个步骤进行: 1、分析问题,抽象出描述问题的数据模型

根据课程设计要求,基本提出设计方案及包含的设计模块 2、确定程序设计的思想

主函数控制交通灯的亮灭,并加入延时子程序、显示子函数等调用函数。定义初试时间为25秒,每减一秒,进行一次延时子函数调用,并通过计时器控制时间为1秒,并调用数码管显示函数,从而输出倒计时,如此循环。

3、流程图如下

主函数→延时子函数→数显子函数→返回主函数→延时子函数…… 4、根据设计进行程序编写。 5、静态检查,上机调试。

五、安装调试结果

六、个人体会及心得

查找教材,资料,相应软件,为了这次课程设计,我们在图书馆及网络上查找了大量的相关资料,终于被我找全了和本次课程设计相关的不懂问题。

根据所分析的系统的电路原理图,结合系统的设计要求,在Proteus环境下进行元器件之间的连线和编译与仿真,及时检查元器件的放置、连线是否有错误。

根据交通灯系统的控制要求,经过实验,排除所有实验中的错误并实现了预定的功能。

在老师的指导下,通过学习交通灯系统控制器的设计的实验,学习一种设计电子的软件,增加了我们对电子设计的了解。

本次设计出现的问题及解决方法:

1、焊接不够熟练,出现了虚焊漏焊情况,经过后期检查电路才得以发现并解决问题,自己的焊接水平有了很大的提高;

2、程序编写过程比较艰难,自己的编程能力还有待提高,通过查阅书籍资料,自学了很多课外知识,收获颇丰;

3、在电脑上进行仿真时,对软件操作熟练,软件的仿真还需要狠多特殊要求,比如:电脑用户名路径不能出现中文等,需要多次尝试才能发现问题。

此次实验不但提高了我们实践的能力和理论水平,而且对于我们认识掌握各种操作技巧具有重大意义,使我们的综合素质得到了很大的提高。当然,通过这次实习,对我的影响远不只以上这些,它对我在以后的学习和生活中将会起到不可估量的作用。

最后,我建议学校多搞些这样的设计,在锻炼我们的同时还丰富了我们的生活,还建议在今后的设计报告中,提供一些好的报告让我们参考。

附录:

#include

sbit led_A=P0^0; //数码管位 sbit led_B=P0^1; //数码管位

sbit dx_R=P0^2; sbit dx_Y=P0^3; sbit dx_G=P0^4;

sbit nb_R=P0^7; sbit nb_Y=P0^6; sbit nb_G=P0^5;

bit flag=0; sbit key_stop=P3^3;

char N=25; char

tab_disp[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x77,0x7C,0x39,0x5E,0x79,0x71,0x80};//共阴极码表

/*延时子函数*/

void delay(int t ){while(t--);}

//初始时间是25

/*显示子函数*/ void display(char dat) { }

//循环显示60遍显示的函数 void deal(char m) { }

void KEY() int t=60;

while(t--)display(m); //循环显示60遍显示的函数 led_A=led_B=1; P2=0XFF; P2=~tab_disp[dat/10]; if(dat/10)led_A=0; delay(1000); //延时

P2=0XFF;led_A=led_B=1; //段灭显 位灭显 P2=~tab_disp[dat%10]; //赋显示的数 led_B=0; delay(1000); //延时

{ }

/*主函数*/ void main(void) unsigned char save; if(key_stop==0) { } flag=1; save=P0; P0=0x84;

while(key_stop==0); while(flag==1) { }

if(key_stop==0) { } flag=0; P0=save;

while(key_stop==0);

char i;

EA=1; //全局中断开关 IT1=1; //外部中断下降沿有效 EX1=1; while(1) { N=25; //初始时间是25 dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮, nb_R=0;nb_Y=0;nb_G=1; //指示灯0是亮, for(i=N;i>0;i--) //一秒一秒的减

{ deal(i); KEY();

} dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮, nb_R=0;nb_Y=1;nb_G=0; //指示灯0是亮, N=5;

//时间变成5 for(i=N;i>0;i--) //一秒一秒的减

{

deal(i);

是灭是灭是灭是灭{

1 1

1 1

}

}

}

KEY();

dx_R=0;dx_Y=0;dx_G=1; nb_R=1;nb_Y=0;nb_G=0; N=25;

//指示灯0是亮,1是灭 //指示灯0是亮,1是灭

//时间变成25 //一秒一秒的减

for(i=N;i>0;i--) { } deal(i); KEY();

dx_R=0;dx_Y=1;dx_G=0; //指示灯0是亮,1是灭

nb_R=1;nb_Y=0;nb_G=0; //指示灯0是亮,1是灭 N=5;

//时间变成5 //一秒一秒的减

for(i=N;i>0;i--) {

deal(i); KEY();

}

二○一六~二○一七学年第一学期

电子信息工程系

电子产品策划与设计

报告书

班 级: 课程名称: 学生姓名: 学 号: 指导教师:

二○一六年十二月

基于单片机的交通信号灯

一、设计要求

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过一段时间(25S)转换状态2,南北方向亮黄灯,延时5S,东西方向仍然红灯,再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。

二、电路设计及原理分析

1、本设计由STC82C52最小系统模块,电源供电模块,交通信号灯模块,显示倒计时模块。

2、路口交通指挥系统示意图如下所示:(本设计实物中东西、南北方向各做一个)

干黄3、设计的方案如下:

(1)本设计采用单片机89C52作为控制器,通行时间及等待时间使用数码管以倒计时的方式显示,使用单片机P0.2-P0.4口控制东西方向的车辆通行;使用单片机P0.5-P0.7口控制南北方向车辆的通行;用P0.1-P02口控制两位共阴极数码管的选通;用P3.3口作为紧急情况东西南北方向全部红灯。

(2)方案中设计有由人工控制的复位电路。

(3)考虑到紧急情况获交通管制阶段需要路段不通车,本方案设计有东西南北四个方向全为红灯的设计。

综上所诉,该产品的实现需要单片机模块,晶振模块,复位模块,中断信号模块,交通灯模块,倒计时数显模块,电源供电模块。

三、焊接及安装调试过程

1、调试过程如下图所示:

2、焊接过程:

3、焊接注意事项:

(1)焊接前,应先检查焊锡设备和工具是否安全,如是否接触良好,焊接电缆绝缘外套有无破损等。

(2)选用合适的焊锡。应选用焊接电子原件用的低熔点焊锡丝。

(3)焊接时间不宜过长,否则容易烫伤原件。必要时可用镊子夹住管脚帮忙散热。(4)电烙铁应放在烙铁架上。 2、安装调试过程

(1)焊接完毕后,通电前对电路进行检查,首先检查正极与地是都短路,接下来检查各器件的高电平与电源是否接通,接地端是否与地线接通;

(2)通电检查,如果通电交通灯没有反应,应立即关掉电源。重新检查电路。检查cpu的30号引脚电平的大小,并作出判断。正常情况下,30号引脚的电平为1-3V,若为5V,则说明cpu没有正常工作。

四、软件设计

软件的设计分以下5个步骤进行: 1、分析问题,抽象出描述问题的数据模型

根据课程设计要求,基本提出设计方案及包含的设计模块 2、确定程序设计的思想

主函数控制交通灯的亮灭,并加入延时子程序、显示子函数等调用函数。定义初试时间为25秒,每减一秒,进行一次延时子函数调用,并通过计时器控制时间为1秒,并调用数码管显示函数,从而输出倒计时,如此循环。

3、流程图如下

主函数→延时子函数→数显子函数→返回主函数→延时子函数…… 4、根据设计进行程序编写。 5、静态检查,上机调试。

五、安装调试结果

六、个人体会及心得

查找教材,资料,相应软件,为了这次课程设计,我们在图书馆及网络上查找了大量的相关资料,终于被我找全了和本次课程设计相关的不懂问题。

根据所分析的系统的电路原理图,结合系统的设计要求,在Proteus环境下进行元器件之间的连线和编译与仿真,及时检查元器件的放置、连线是否有错误。

根据交通灯系统的控制要求,经过实验,排除所有实验中的错误并实现了预定的功能。

在老师的指导下,通过学习交通灯系统控制器的设计的实验,学习一种设计电子的软件,增加了我们对电子设计的了解。

本次设计出现的问题及解决方法:

1、焊接不够熟练,出现了虚焊漏焊情况,经过后期检查电路才得以发现并解决问题,自己的焊接水平有了很大的提高;

2、程序编写过程比较艰难,自己的编程能力还有待提高,通过查阅书籍资料,自学了很多课外知识,收获颇丰;

3、在电脑上进行仿真时,对软件操作熟练,软件的仿真还需要狠多特殊要求,比如:电脑用户名路径不能出现中文等,需要多次尝试才能发现问题。

此次实验不但提高了我们实践的能力和理论水平,而且对于我们认识掌握各种操作技巧具有重大意义,使我们的综合素质得到了很大的提高。当然,通过这次实习,对我的影响远不只以上这些,它对我在以后的学习和生活中将会起到不可估量的作用。

最后,我建议学校多搞些这样的设计,在锻炼我们的同时还丰富了我们的生活,还建议在今后的设计报告中,提供一些好的报告让我们参考。

附录:

#include

sbit led_A=P0^0; //数码管位 sbit led_B=P0^1; //数码管位

sbit dx_R=P0^2; sbit dx_Y=P0^3; sbit dx_G=P0^4;

sbit nb_R=P0^7; sbit nb_Y=P0^6; sbit nb_G=P0^5;

bit flag=0; sbit key_stop=P3^3;

char N=25; char

tab_disp[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x77,0x7C,0x39,0x5E,0x79,0x71,0x80};//共阴极码表

/*延时子函数*/

void delay(int t ){while(t--);}

//初始时间是25

/*显示子函数*/ void display(char dat) { }

//循环显示60遍显示的函数 void deal(char m) { }

void KEY() int t=60;

while(t--)display(m); //循环显示60遍显示的函数 led_A=led_B=1; P2=0XFF; P2=~tab_disp[dat/10]; if(dat/10)led_A=0; delay(1000); //延时

P2=0XFF;led_A=led_B=1; //段灭显 位灭显 P2=~tab_disp[dat%10]; //赋显示的数 led_B=0; delay(1000); //延时

{ }

/*主函数*/ void main(void) unsigned char save; if(key_stop==0) { } flag=1; save=P0; P0=0x84;

while(key_stop==0); while(flag==1) { }

if(key_stop==0) { } flag=0; P0=save;

while(key_stop==0);

char i;

EA=1; //全局中断开关 IT1=1; //外部中断下降沿有效 EX1=1; while(1) { N=25; //初始时间是25 dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮, nb_R=0;nb_Y=0;nb_G=1; //指示灯0是亮, for(i=N;i>0;i--) //一秒一秒的减

{ deal(i); KEY();

} dx_R=1;dx_Y=0;dx_G=0; //指示灯0是亮, nb_R=0;nb_Y=1;nb_G=0; //指示灯0是亮, N=5;

//时间变成5 for(i=N;i>0;i--) //一秒一秒的减

{

deal(i);

是灭是灭是灭是灭{

1 1

1 1

}

}

}

KEY();

dx_R=0;dx_Y=0;dx_G=1; nb_R=1;nb_Y=0;nb_G=0; N=25;

//指示灯0是亮,1是灭 //指示灯0是亮,1是灭

//时间变成25 //一秒一秒的减

for(i=N;i>0;i--) { } deal(i); KEY();

dx_R=0;dx_Y=1;dx_G=0; //指示灯0是亮,1是灭

nb_R=1;nb_Y=0;nb_G=0; //指示灯0是亮,1是灭 N=5;

//时间变成5 //一秒一秒的减

for(i=N;i>0;i--) {

deal(i); KEY();

}


相关内容

  • 单片机毕业论文题目
  • PLC电路在备用自动投入中 PLC在变电站变压器自动化中的实现 VHDL电路设计 变频恒压供水控制系统的研究 超声波测距模块的设计 车辆牌照图像识别算法研究与实现 城市交通决策支持系统 出租车计费系统的设计 串口通信控制器 串口通讯 – 单片机程序控制语音播放 单片机串行通信发射部分设计 单片机的多 ...

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...

  • 电气自动化设计论文题目大全
  • 机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数 ...

  • 电气自动化毕业设计论文题目
  • 电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机 ...

  • PLC毕业设计论文题目
  • P L C 第1-100个PLC毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MS ...

  • 基于车流量的智能交通灯控制系统的设计--毕业设计
  • 毕业设计 课 题 名 称 基于车流量的智能交通灯控制系统的设计 此设计还有原理图和仿真图,有需要的朋友下载了文档后留下你的邮箱,方便我传给你. 摘要 随着现代社会对交通运输的日趋依赖,交通灯成为了人们生活中不可或缺的一部分.传统的交通灯控制系统虽然在一定程度上可以满足指挥路口交通的需要,但随着城市规 ...

  • 毕业设计-基于单片机的智能交通灯控制系统的设计
  • 智能交通灯控制系统的设计 上海交通大学 学 生 姓 名 学 号 专 业 (班 级) 测试计量技术及仪器 B0903592 1090359019 1090359020 皮文苑 胡文涛 课 程 名 称 智 能 仪 器 设 计 任 课 教 师 丁 国 清 学院名称 电子信息与电气工程学院 1 基于单片机的 ...