湖南科技大学。
信息与电气工程学院。
单片机原理及应用课程设计报告》
题目: 交通灯控制系统
专业: 电子信息工程
班级。姓名。
学号。指导老师。
任务书。一、课程设计目的:
1.掌握单片机的接**术及相关外围芯片的外特性,控制方法。
2.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。
3.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
4.与模拟电子技术,数字电子技术等课程相结合,进一步熟悉和掌握单片机的结构及工作原理,为以后所学的后续课程打下良好的基础。
5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。
二、设计任务:
利用89c51设计一个交通灯控制系统。利用四个双色led灯模拟交通灯的管理,初始状态为四个方向全红,等待五秒,显示倒计时,然后为东西红灯,南北绿灯,时间为20秒,显示倒计时;转为南北绿灯闪3秒,然后转为黄灯3秒,显示倒计时;在转为东西绿灯,南北红灯,时间为20秒显示倒计时;然后再转为东西绿灯闪3秒,再转为黄灯3秒;再次转为东西红灯,南北绿灯。依次循环。
三、设计原理:
3.1定时器原理。
定时器工作的基本原理其实就是给初值,让它不断加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毫秒。
3.2交通灯实现方案。
交通灯设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的黄灯过渡时间,将通行禁行方向对换。
通过具体的路**通灯状态的演示分析我们可以把这六个个状态归纳如下:
东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,南北向禁止通行,东西向允许通行。
东西方向绿灯开始闪烁,南北方向红灯亮,倒计时3秒。此状态下,南北向禁止通行,东西向允许通行。
东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,南北向允许通行,东西向禁止通行。
南北方向绿灯开始闪烁,东西方向红灯亮,倒计时3秒。此状态下,南北向允许通行,东西向禁止通行。
南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
3.3单片机交通控制系统的基本构成及原理。
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入led数码管就可以显示倒计时以提醒行使者,更具人性化。
系统总体框图。
四、程序框图:
五、设计总结:
本系统就是充分利用了at89c51芯片的i/o引角。系统统采用msc-51系列单片机为中心器件来设计交通灯控制器,实现了能根据实际车流量通过单片机芯片的p1口设置红、绿灯燃亮时间的功能;p0口和p2口外接数码管来显示各个信号灯的时间。系统设计简便、实用性强、操作简单、程序设计简便。
在课程设计中,从总体设计,画原理图,硬件选择,再到编程,最后到调试,每一步我们都认真的对待,并从中学到了不少知识。这使我们认识到开发过程不是简单的理论知识的拼凑和组合,而是将理论和实际有机结合的过程。
这次课程设计初步让我们体会到了理论与知识的有机结合。但是真正去完成一个工程只是用自己从专业课本上学到得还远远不够。通过这次课程设计中遇到的问题让我认识到自己知识的欠缺,以后的时间要好好的利用图书馆学习更多的知识来武装自己,为以后走上工作岗位打下坚实的基础。
六.系统原理图:
附录:#include<>
#include<>使用其中定义的宏来访问绝对地址。
#include<>
#define dat8279 xbyte[0xff80] /8279 数据口地址。
#define com8279 xbyte[0xff82] /8279 状态/命令口地址。
#define uchar unsigned char
#define uint unsigned int
uchar a,b,c;
uchar idata diss[8]=;显示缓冲区。
uchar code ledcode=led显示常数表。
void delay(uint z延时子函数。
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--)
void delay2(uint f延时子函数。
uint e;
for(;f>0;f--)
for(e=200;e>0;e--)
void init82798279初始化子程序---
com8279=0x00; /置8279工作方式。
com8279=0x2f; /置键盘扫描速率。
com8279=0xc1; /清除 led 显示。
delay(200等待清除结束
void disled(d显示函数---
uchar idata *d;
uchar i;
com8279=0x80;
for(i=0;i<2;i++)d++;
void display(uchar second显示处理---
second=b;
diss[0]=second%10;
diss[1]=second/10;
disled(diss);
void nb_ss南北方向闪烁。
display(b显示闪烁倒计时。
if(!(c==28))
if(c==31)
if(c==51)
if(c==57)
c=5跳到开始循环。
void timer0() interrupt 1 //定时中断,使用定时器0
th0=(65536-50000)/256; /设定初值。
tl0=(65536-50000)%256;
a++;if(a==20) /定时1秒。
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...