单片机课程设计报告

发布 2022-10-04 11:22:28 阅读 1612

韶关学院。

课程设计说明书(**)

设计题目: 基于单片机控制的智能交通灯设计。

课程名称:微机原理与应用实训。

学生姓名:**

学号。院系:物理与机电工程学院汽车系。

专业班级:12机械制造及其自动化 5班。

指导教师姓名及职称:谢杰讲师。

陈锦儒助理实验师。

起止时间: 2015 年 3 月—— 2015 年 5 月。

课程设计评分:

目录。1 课题任务 1

2 硬件电路设计 2

2.1 单片机的工作原理 2

2.2 交通灯的控制原理 2

2.3 整个硬件系统的设计框图与工作原理 3

2.4 硬件设计部分小结 4

3 软件系统设计 5

3.1 整个软件系统设计框图及流程图 5

3.2 各软件单元的设计流程 6

3.3 软件设计部分小结 7

4 系统测试 8

4.1 硬件电路测试与分析 8

4.2 软件系统测试与分析 8

4.3 整机测试与分析 12

4.4 测试部分小结 12

5 总结 13

附录 14附录a:电路原理图 14

附录b:pcb电路板图 15

附录c:实物** 16

基于单片机控制的智能交通灯设计。

专业班级:12机械制造及其自动化5班

姓名:**指导教师:谢杰陈锦儒

要求用51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路**通灯的功能,并对满足特殊的控制要求。该系统的具体功能要求如下: 1.

该控制系统能控制东西南北四个路口的红黄绿灯正常工作。东西和南北方向分时准行和禁行。 2.

两垂直方向的准行时间均为30s,可以进行控制转换。 3.准行方向亮绿灯与禁行方向亮红灯最后5秒时,四个路口同时加亮一黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变。

4.四个道口均用数码管显示准行或禁行的剩余时间。 5.

在交通情况特殊情况下可以通过k1、k2、k3按键对交通灯进行控制。 实现: 1)当有紧急情况发生时按下k1四个路口同时加亮黄灯进行闪灯(闪灯时间为5s)且倒计时显示关闭。

黄灯闪烁完毕后四路口全变红灯禁行,处理紧急情况。 2)有某方向上车辆过多 ,可以使用k2、k3键控制东西或南北方向通行,另一方向禁行。按下控制键后先在四个路口加5s的黄灯闪烁。

交通状态。单片机的工作原理。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:**处理器、存储器和i/o接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

交通灯的控制原理。

东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。

通过具体的路**通灯状态的演示分析可以把四个状态归纳如下: (1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。

(1)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。 (3)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。

此状态下,东西向禁止通行,南北向允许通行。 (4)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

整个硬件系统的设计框图与工作原理。

通过车流量传感器对东西和南北两条通道的车流量的测量,将车流量信息以脉冲电平的方式传给单片机。单片机能通过程序运算得到两条通道车流量的大小来控制路口各方向的红绿灯时长,并由led显示。以一个周期向传感器取一次数据。

设计车流量传感器,一个对准东西方向取样,另一个对南北方向取样,分别取得两个代表东西和南北方向车流量a和b。用单片机巡回检测,并将他们进行比较。若二者相等则按一定时间间隔交替导通。

若a>b,进入a方向绿灯延时程序。反之,进入b方向绿灯延时程序。该控制程序又根据具体的比例做时长的变换。

这些工作全部由单片机完成。单片机通过接口得到a和b相对应的电压信号量,然后对其进行处理、分析和判断,改变信号灯输出时长,直接控制信号灯驱动电路,实现单片机对信号灯的智能控制。

本系统先显示状态灯及led数码管,将状态码值送显p1口,将要显示的时间值送显p0口和用p2口来选通led数码管的显示导通,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新led数码管。该智能交通灯控制系统以四个状态为一周期循环。每满一个状态循环周期,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。

硬件设计部分小结。

本章首先对单片机、车流量传感器和电源模块进行了选型,介绍单片机的内部结构及其工作原理。单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入led数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。

本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,led倒计时模块和蜂鸣器状态模块接受输出。

键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到led数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。

在模式选择上,若为自动模式,将不断调用车流量检测模块对车流量进行检测统计,到达一定时间将修正通行时间一满足不同路况的需要。

整个软件系统设计框图及流程图。

软件系统设计框图。

软件系统流程图。

各软件单元的设计流程。

整个软件系统中包含了车流量采样程序设计、显示程序设计、定时器程序设计和软件延时。

车流量采样程序主要功能是采样各路口的车流量,每次红灯转换成绿灯前两秒对路口车流量进行采样,然后根据采样后得到的车流量的大小来分配红绿灯的时间。

交通灯的时间显示主要是通过数码管,本设计采用动态显示数码管。其流程图如图下图所示。

定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到th和tl中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为c,把计数初值设定为tc 可得到如下计算通式:

tc=m-c

式中,m为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为t0,它是单片机系统主频周期的12倍,设要求的时间值为t,则有c=t/t0。计算通式变为:

t=(m-tc)t0 模值和计数器工作方式有关。在方式0时m为8192;在方式1时m的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。

如单片机的主脉冲频率为12mhz,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。

这就是为什么扫描周期为50ms的原因, 若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。

我们使用的单片机工作频率为12mhz,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12mhz)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 我们设定一个初值为20的软件计数器和使t0定时50毫秒。

这样每当t0到50毫秒时cpu就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu先使软件计数器减1,然后判断它是否为零。为零表示1秒已到。

设定定时器需要定时50毫秒,故t0必须工作于方式1。要求初值:tc=m-t*t0=216-50ms/1us=15536=3cboh.

软件设计部分小结。

本章主要对智能交通灯软件方面进行了介绍。主要包括了三个方面的软件设计思路及原理:交通灯主程序的设计,车流量采样程序的设计以及数码管显示程序的设计。

最后概述了定时器原理和软件延时原理。

硬件电路测试与分析。

本次课程设计电路板已经焊接完成后便进入到电路测试阶段。经过测试发现我的最小电路电路板并无异常,调试成功。但交通灯电路板则出现了好几个发光二极管以及数码管led灯不亮的问题。

在同学的建议下,我用万用表检测了电路板的线路并无发现断路问题,于是判断可能是虚焊。经过新一轮紧张激烈的焊接后,再次测试时,我的交通灯电路板上的问题总算烟消云散了。

软件系统测试与分析。

在程序编写过程中会遇到很多语法问题,符号问题,调用差错问题,通过仔细修改以及同学们的热心帮助都得到了解决。以下是所用的单片机程序:

#include<>

#define uchar unsigned char

#define uint unsigned int

#define zrun_sta1 0xcf灯的显示状态,对应p3端口。

#define zrun_sta2 0xd7

#define zrun_sta3 0xb7

#define zrun_sta4 0xbb

sbit wei1=p1^0定义数码管的端口。

sbit wei2=p1^1;

sbit wei3=p1^2;

sbit wei4=p1^3;

uchar code seg7=数码管的查表指令。

uchar dxtime,nbtime,count,sec;

void delayms(uint xms延时函数。

单片机课程设计报告

单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....

单片机课程设计报告

南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...

单片机课程设计报告

单片机原理及系统课程设计。专业 自动控制 班级 控1101班 姓名 陈姣 学号 201105320 指导教师 李亚宁 兰州交通大学自动化与电气工程学院。2014 年 1 月 17 日。基于单片机的汽车转向灯设计。1引言。在当今社会,科技与工业高度发达,汽车的数量逐年增多,街上的每一个角落都充斥它们的...