交通灯设计报告

时间:2024.3.19

课程设计

单片机制作交通指示灯

                                       

                                    电气工程学院

                                      电信102班

                                     马青林

                                            1001020222

         前言

交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS - 51系列的单片机来实现十字路口交通信号灯的控制。 正常情况下,十字路口的红绿灯应交替变换, 以下设计中,用发光二极管来模拟信号灯,要求使用 8051定时器/ 计数器0作为定时器,假设南北和东西的通车时间都为30 s ,外部中断的延时为10 s ,要求对通行时间进行倒计时,从P1 口输出,以此来实现十字路口交通灯的指示功能。
交通灯在安全行车过程中起着十分重要的作用, 现在交通灯一般设在十字路口, 在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用,根据行车过程中出现的实际情况, 如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯, 在软、硬件方面采取一些改进措施, 使交通灯在控制中灵活而有效。
 当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的

汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强,所以设计以下的控制系统,具体如下:

一.设计目的:
1、通过交通信号灯控制系统的设计,掌握80C51并行口传输数据的方法,以控制发光二极管的亮与灭;
2、用80C51作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.
3、通过单片机控制设计,熟练掌握汇编语言和C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;
4、完成控制系统的硬件设计、软件设计、仿真调试。
5,由于对面对的两个交通灯现象一样,同时合为一个,所以实验中控制6个灯就可以了。

二.设计要求:
交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。用8051做输出口,控制十二个发光二极管

燃灭,模拟交通灯管理。在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;
如图所示:

三.设计任务和内容:
任务:设计一个能够控制十二盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模试来运行。实验通过控制六个交通灯就好了。
内容:因为本课程设计是交通灯的单片机控制设计,所以要了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。然后转状态1南北红灯,东西绿灯通车。过一段时间转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,东西仍然红灯。最后循环至状态1。

四.控制系统的总体要求:
因东西同属一个车道,南北属一条车道,因此控制一边的灯就可以了,现象一样
 1.东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车;
 2.延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南

北路口方向开始通车;
 3.延时一段时间之后,南北路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁5次之后,再切换到东西路口方向;
 之后重复1到3过程。。。。。。。
五.交通信号灯模拟控制系统设计程序流程图:

六、C程序为:#include"reg51.h"

#define uint unsigned int

#define uchar unsigned char

sbit r1=P0^2;

sbit y1=PO^1;

sbit b1=P0^0;

sbit r2=P0^7;

sbit y2=P0^6;

sbit b2=P0^5;

void delay(void)

{

       uint i;

            for(i=0;i<34530;i++);

}

void main(void)

{

       uint i=0;

           while(1)

           {

                        r1=1;y1=0;b1=0;

                        r2=0;y2=0;b2=1;

                               for(i=0;i<5;i++)

                                      delay();

                         r1=1;y1=0;b1=0;

                         r2=0;y2=1;b2=0;

                                 for(i=0;i<1;i++)

                                       delay();

                          r1=0;y1=0;b1=1;

                          r2=1;y2=0;b2=0;

                              for(i=0;i<5;i++)

                                delay();

                             r1=0;y1=1;b1=0;

                             r2=1;y2=0;b2=0;

                                    for(i=0;i<1;i++)

                                          delay

}

}

七、模拟交通灯电路原理图

八、调试与仿真

      打开Keil程序,执行菜单命令“Project”、“New Project”创建“模拟交通

信号灯”项目,并选择单片机型号为AT89C51。

      执行菜单命令“File”、“New”创建文件,输入汇编(C语言)源程序,

保存为“交通信号灯.ASM”或“模拟交通灯.C”。在“Project”栏的File项目管

理窗口中右击文件组,选择“Add File to Group ‘Source Group1’”,将源程序“模

拟交通灯.ASM”(或“模拟交通灯.C”)添加到项目中。

     

       执行菜单命令“Project”、“Option for Target 'Target  1'”,在逃出的对话

框中选择“Output”选项卡,选中“Create HEX File ”。 在“Debug”选项卡中,

选中“Use:Proteus VSM Simulator”。

    

       执行菜单命令“Project”、“Build Target”,编译源程序。如果编译成功,

则在“Debug Window”窗口中显示没有错误,并创建了“模拟交通灯.HEX”文

件。

       在已绘制好的原理图的Proteus ISIS菜单栏中,执行菜单命令“Debug”、

“Use Remote Debug Monitor”将该项选中,使proteus与Keil真正连接起来,使

他们联合调试。


第二篇:微机课设报告交通灯控制系统设计


微机课设报告交通灯控制系统设计

《微机原理实验》

课程设计报告

交通灯控制系统设计

学生姓名学 号专 业 电气工程与自动化 班 级同组学生 提交日期 2010 年 6 月20 日 指导教师

目 录

摘要·················································3

设计内容·············································3

设计原理及说明·······································4

设计过程·············································5

设计结果与分析·······································8

体会与建议···········································8

程序源代码···········································9

参考文献············································15

一、摘要

利用微机实验箱,以本市现行的交通灯控制信息为依据,用查询的方法实现交通灯控制系统。

二、设计内容

通过16个发光二极管及数码管,模拟十字路口的红绿灯,具体时间的分配和控制如下:

(1)东西方向绿灯亮,南北方向红灯亮,并且数码管10s倒计时显示

(2)东西方向黄灯亮,南北方向红灯亮,并且数码管5s倒计时显示

(3)东西方向红灯亮,南北方向绿灯亮,并且数码管10s倒计时显示

(4)东西方向红灯亮,南北方向黄灯亮,并且数码管5s倒计时显示 具体如下图所示:

微机课设报告交通灯控制系统设计

要求:用8255的A口、B口控制16位LED灯,选择方式0,输出I/O接口电路控制数码管,使用软件延迟或硬件延迟,其中使用硬件延迟芯片8254计时更为精确。

三、设计原理及说明

8255的性质及简介:

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图1-2所示。

微机课设报告交通灯控制系统设计

微机课设报告交通灯控制系统设计

实验说明:

由于实验室的仪器上只有16个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。16个发光二级管,且从高到低依次为:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定:R表示红灯,G表示绿灯,Y表示黄灯,E表示方向东,W表示方向西,S表示方向南,N表示方向北,D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0表示NY。最后要在实验室通过软件进行调试,调试通过后即可看到设计的结果。

四、设计过程

(1)根据要求分析可知:

东西方向绿灯亮的同时南北方向红灯亮

东西方向黄灯亮的同时南北方向红灯亮 东西方向红灯亮的同时南北方向绿灯亮 东西方向红灯亮的同时南北方向黄灯亮

(2)完成单元电路的设计及参数计算

(3) 电路元器件的选择

(4)软件流程图的设计

微机课设报告交通灯控制系统设计

(5)软件的设计(程序)

① 芯片初始化,写8255的方式字

② 延时,延时是通过设置指令的循环次数实现的

③ 东西方向绿灯亮,南北方向红灯亮,且数码管10s倒计时显示 ④ 东西方向黄灯亮,南北方向红灯亮,且数码管5s倒计时显示 ⑤ 东西方向红灯亮,南北方向绿灯亮,且数码管10s倒计时显示 ⑥ 东西方向红灯亮,南北方向黄灯亮,且数码管5s倒计时显示 ⑦ 判断是否有键按下

⑧ 返回到DOS

(6)电路接线图的设计:设计电路图见下图

(7)进行软、硬件调试

连接实验线路,将已写好的完整程序在汇编环境下进行编译,若无错误即可在TD-PIT++实验系统上进行调试。

微机课设报告交通灯控制系统设计

五、设计结果与分析

灯亮的顺序满足设计内容的要求,不足之处在于使用软件延时,不是很精确,即计时时间只是大体上满足课设的要求。

六、体会与建议

实验所得结论基本课设的要求,但是存在一些不足之处。如果用硬件延时,则可以改变这一情况。但是要考虑到用8254如何计时1s的问题,有同学在设计中利用8254的工作方式3产生方波信号,当PC0检测到高电平,且下一时刻再次检测到低电平时,即两次检测PC0口分别为高、低电平时,便得到1秒的计时。而我在做这次实验时没有考虑到这一问题。但是在这次实验中,我也学到了一些东西,譬如刚开始的时候,我

们组设计的电路是很复杂的,后来经过与别的组的同学一起讨论以后,我们的线路得以精简,要在正确的基础上精简线路与程序是很重要的。另外,通过这次实验,我对8255芯片有了进一步的认识,同时对程序的设计也有了进一步的了解。

七、程序源代码

;****************根据查看端口资源修改下列符号值*******************

IOY0 EQU 0D400H ;片选IOY0对应的端口始地址

MY8255_A EQU IOY0+00H*4 ;8255的A口地址

MY8255_B EQU IOY0+01H*4 ;8255的B口地址

MY8255_C EQU IOY0+02H*4 ;8255的C口地址

MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE

START:

MOV DX,MY8255_MODE ;定义8255工作方式

MOV AL,10000000B ;工作方式0,A口和B口为输出10000000B OUT DX,AL

MOV DX,MY8255_A ;写A口发出的起始数据

MOV AL,00111100B

OUT DX,AL

MOV DX,MY8255_B ;写B口发出的起始数据

MOV AL,00111100B

OUT DX,AL

MOV DX,MY8255_C ;写C口发出的起始数据9

MOV AL,11110110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;写C口发出的起始数据8 MOV AL,11111110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;写C口发出的起始数据7 MOV AL,11100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,10111110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,10110110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,01100110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11110010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11011010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,01100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11111100B

OUT DX,AL 写C口发出的起始数据6 写C口发出的起始数据5 写C口发出的起始数据4 写C口发出的起始数据3 写C口发出的起始数据2 写C口发出的起始数据1 写C口发出的起始数据0

CALL DALLY

MOV DX,MY8255_A ;写A口发出的起始数据 MOV AL,11111100B

OUT DX,AL

MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,11111100B

OUT DX,AL

MOV DX,MY8255_C ;

MOV AL,01100110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11110010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11011010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,01100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11111100B

OUT DX,AL

CALL DALLY

;再次

MOV DX,MY8255_MODE ;

MOV AL,10000000B ;

OUT DX,AL

MOV DX,MY8255_A ;

MOV AL,11000011B

OUT DX,AL

写C口发出的起始数据4 写C口发出的起始数据3 写C口发出的起始数据2 写C口发出的起始数据1 写C口发出的起始数据0 定义8255工作方式 工作方式0,A口和B口为输出10001001B 写A口发出的起始数据

MOV DX,MY8255_B ;写B口发出的起始数据 MOV AL,11000011B

OUT DX,AL

MOV DX,MY8255_C ;写C口发出的起始数据9 MOV AL,11110110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11111110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,10111110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,10110110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,01100110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11110010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11011010B

OUT DX,AL

CALL DALLY 写C口发出的起始数据8 写C口发出的起始数据7 写C口发出的起始数据6 写C口发出的起始数据5 写C口发出的起始数据4 写C口发出的起始数据3 写C口发出的起始数据2

MOV DX,MY8255_C ;写C口发出的起始数据1 MOV AL,01100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;写C口发出的起始数据0 MOV AL,11111100B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_A ;

MOV AL,11110011B

OUT DX,AL

MOV DX,MY8255_B ;

MOV AL,11110011B

OUT DX,AL

MOV DX,MY8255_C ;

MOV AL,01100110B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11110010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11011010B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,01100000B

OUT DX,AL

CALL DALLY

MOV DX,MY8255_C ;

MOV AL,11111100B

OUT DX,AL

CALL DALLY

写A口发出的起始数据 写B口发出的起始数据 写C口发出的起始数据4 写C口发出的起始数据3 写C口发出的起始数据2 写C口发出的起始数据1 写C口发出的起始数据0

MOV AH,1 ;判断是否有按键按下

INT 16H

JZ BACK ;无按键则跳回继续循环,有则退出

QUIT: MOV AX,4C00H ;结束程序退出

INT 21H

DALLY PROC NEAR ;软件延时子程序

PUSH CX

PUSH AX

MOV CX,07FFFH

D1: MOV AX,0FFFFH

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALLY ENDP

BACK: JMP START

CODE ENDS

END START

八 参考文献

1. 王位喜 《微机原理实验与课程设计指导书》 南京航空航天大学金

城学院实验中心,20xx年1月

2. 沈国荣 《微机原理与接口技术》 南京大学出版社,20xx年1月

更多相关推荐:
单片机交通灯设计报告[1]

河南理工大学电子设计综合训练报告单片机控制的交通灯控制系统设计姓名:***学号:***专业班级:电气本09-2班指导老师:**所在学院:电气工程与自动化学院20XX年4月15日1摘要2系统总体方案及硬件设计12…

交通灯控制电路设计报告

华北科技学院数字电路设计报告交通灯控制电路设计报告目录一设计任务和要求2二设计方案的总体思路与选择31时钟信号发生器电路设计论证42定时器设计论证43控制器论证44信号灯的论证4三电路设计计算与分析51秒脉冲的...

交通灯控制电路的设计报告

一概述随着社会经济的发展城市交通问题越来越引起人们的关注人车路三者关系的协调已成为交通管理部门需要解决的重要问题之一交通灯通常指由红黄绿三种颜色灯组成用来指挥交通的信号灯绿灯亮时准许车辆通行黄灯亮时已越过停止线...

交通灯的设计心得体会总结

通过此次课程设计,使我更加扎实的掌握了有关电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知…

交通灯控制系统设计报告

交通信号灯控制系统设计一、设计目的1、学习LED数码管的原理及编程方法。2、学习键盘的原理及编程方法。3、掌握51单片机定时器与中断的使用。4、掌握交通信号灯控制系统的原理和实现方法。二、设计内容设计一个交通信…

交通灯控制电路设计报告

数字电路课程设计交通灯控制电路设计学院:信息科学技术学院班级:姓名:学号:20XX年4月26日一、设计任务1二、设计要求1三、设计要点1四、设计内容1五、主要芯片1六、设计方案1七、模块说明4(1)秒脉冲发生器…

51单片机c语言交通灯设计报告

xxxxxxxxx基于AT89S52交通灯设计学院电子信息工程专业班级xxxxxxxxxxxxxx姓名xxxx学号指导老师摘要交通灯在我们日常生活中随处可见它在交通系统中处于至关重要的位置交通灯的使用大大减少了...

交通灯实验报告

摘要交通在人们的日常生活中占有重要的地位随着人们社会活动的日益频繁这点更是体现的淋漓尽致交通信号灯的出现使交通得以有效管制对于疏导交通流量提高道路通行能力减少交通事故有明显效果近年来随着科技的飞速发展单片机的应...

交通灯实习报告

河南科技学院新科学院单片机课程设计报告题目交通灯控制器设计专业班级电气工程及其自动化101姓名马佳佳时间20xx12320xx1221指导教师徐君鹏邵锋苗青林完成日期20xx年12月21日交通灯控制器设计任务书...

EDA交通灯实验报告

实验:交通灯设计一、设计任务及要求:设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;…

单片机交通灯设计报告

单片机课程设计论文前言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不…

交通灯控制器电路设计报告

交通灯控制器电路设计报告一设计要求1设计一个十字路口的交通灯控制器先是绿灯亮25秒紧接着黄灯亮5秒紧接着红灯亮30秒依此顺序循环控制2用计算机画出设计电路图进行仿真分析验证其正确性3写设计说明书一份画总原理图以...

交通灯设计报告(35篇)