基于单片机的交通信号灯

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

电子信息工程系

电子产品策划与设计

报告书

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

二○一六年十二月

基于单片机的交通信号灯

一、设计要求

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。初始状态为状态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();

}


    相关文章

    单片机毕业设计题目

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

    自动化毕业设计论文题目

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

    电气自动化设计论文题目大全

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

    电气自动化毕业设计论文题目

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

    单片机题目毕业设计

    mcu002 ARM硬件电路板设计之外围接口电路研究mcu003 CDMA通信系统中的接入信道部分进行仿真与分析[doc格式+45页+毕业论文1.6万] mcu004 CDMA通信系统中的接入信道部分进行仿真与分析[论文+45页+1.7万+ ...

    毕业设计-基于单片机的智能交通灯控制系统的设计

    智能交通灯控制系统的设计 上海交通大学 学 生 姓 名 学 号 专 业 (班 级) 测试计量技术及仪器 B0903592 1090359019 1090359020 皮文苑 胡文涛 课 程 名 称 智 能 仪 器 设 计 任 课 教 师 丁 ...

    单片机毕业设计题目(免费指导)

    亲爱的学弟/学妹: 您好! 为了帮助大家能够顺利毕业,demotech推出系列毕业设计选题活动,并提供免费指导和前期资料,请与我们的技术QQ联系,本资料不断更新中,若未发现您需要的内容,也可咨询本技术QQ. 毕业设计免费指导(单片机) 技术 ...

    电气专业的一些毕业设计题目

    电气专业的一些毕业设计题目 电子类: 1.红外遥控照明灯(电路+程序+论文) 2.基于单片机的多功能智能小车设计论文(电路+程序+论文) 3.基于数字信号处理器(DSP)的异步电机直接转矩控制研究(硕士)(论文+上位机下位机软件+程序) 4 ...

    基于单片机的智能小车文献综述(超详细)

    基于单片机的智能小车文献综述 摘要:随着电子工业的发展,智能技术广泛运用于各种领域,智能小车不仅在工业智能化上得到广泛的应用,而且运用于智能家居中的产品也越来越受到人们的青睐.国外智能车辆的研究历史较长.相比于国外,我国开展智能车辆技术方面 ...