收藏 分享(赏)

单片机课程设计交通灯控制系统设计64638new.doc

上传人:dreamzhangning 文档编号:2689191 上传时间:2018-09-25 格式:DOC 页数:17 大小:635.22KB
下载 相关 举报
单片机课程设计交通灯控制系统设计64638new.doc_第1页
第1页 / 共17页
单片机课程设计交通灯控制系统设计64638new.doc_第2页
第2页 / 共17页
单片机课程设计交通灯控制系统设计64638new.doc_第3页
第3页 / 共17页
单片机课程设计交通灯控制系统设计64638new.doc_第4页
第4页 / 共17页
单片机课程设计交通灯控制系统设计64638new.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、- 1 -测控技术与仪器专业课程设计报告姓 名: 李鸡巴 学 号: 201010324045 专业班级: 2010 级测控技术与仪器 题 目:基于单片机原理的交通信号灯设计攀鸡巴学院电气信息工程学院二 一一年七月- 2 -目录一、设计目的 2二、设计任务和要求 2三、设计原理分析 2四、硬件资源及其分配 3五硬件图 6六、程序框图 7七、程序 8:八、调试运行 13九、仿真截图 13十、设计心得体会 15- 3 -一、设计目的1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。2、通过交通信号灯控制系统的设计,掌握定时/计数器及中断的使用方法,

2、和简单程序的编写,最终提高我们的逻辑抽象能力。二、设计任务和要求任务:设计一个能够控制十二盏交通信号灯的模拟系统要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED 灯显示倒计时间。 1、东西绿灯亮,南北红灯亮 2、黄灯亮 3、东西红灯亮,南北绿灯亮 三、设计原理分析人行道人行道人行道 人行道1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态 0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态 2:东西红灯亮,南北绿灯亮;再转状态 3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至

3、状态 0。中间可通过中断按钮产生中断,跳入中断程序执行中断。列出交通信号灯的状态表如下:(其中,1 代表灯亮,0 代表灯灭)北 西 南 东状态绿 黄 红 绿 黄 红 绿 黄 红 绿 黄 红0 001 100 001 1001 011 110 011 1102 100 001 100 0013 110 011 110 0112、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的- 4 -信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的 I/O 口上的 P1 口中的 6 个引脚即可来控制 6 个信号灯。3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯

4、的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。5通过脉冲中断编写中断程序,可实现中断。四、硬件资源及其分配主要用到的硬件:P1 口、 P3 口、LED 数码管、LED 发光二级管、定时器 T0硬件分配:1、P1 口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:无 南 北 东 西 方向状态 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0十六进制值说 明0 00 100 001 22H 东西绿南北红1 00 110 011

5、 33H 东西绿黄全亮2 00 001 100 0CH 东西红南北绿3 00 011 110 1EH 东西红黄全亮2、P3 口中的 P3.0(RXD)和 P3.1(TXD)作特殊用途,数据(倒计时时间)从 RXD 端输入,TXD 端输出。3、LED 发光二极管用来显示灯亮情况。4、定时/计数器 T0 用来产生 1 秒的定时5Led 显示器十位与 p0 相连接,个位与 p2 连接用来显示时间,下面是 LED显示接口及原理。1 LED 是发光二极管的英文缩写,LED 显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的 LED 显示器由 7 个发光二极管组成,其排列形状如图所示。此外

6、,显示器中还有一个圆点型发光二极管以 dp 表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED 显示中的发光二极管共有两种连接方法:2 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V 。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。3 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。4 控制数码管驱动级的控制电路有静态式和动态式两类:5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。- 5 -6 动态

7、驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。7 采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。共阴极 共阳极 符号与引脚 如表 1 为共阳极与共阴极的代码表- 6 -表 1 十六进制数字形代码表字型 共阳极代码 共阴极代码 字型 共阳极代码 共阴极代码0 C0H 3FH 9 90H 6FH1 F9H 06H A 88H 77H2 A4H 5BH B 83H 7CH3 B0H 4FH C C6H 39H4 99H 66H D A

8、1H 5EH5 92H 6DH E 86H 79H6 82H 7DH F 8EH 71H7 F8H 07H 灭 FFH 00H8 80H 7FH- 7 -五硬件图- 8 -六、程序框图1、主程序框图2. 中断服务程序框图- 9 -设置中断返回地址中断响应返回七、程序#include#define port1 P0#define port2 P2sbit green1=P10;sbit red1=P11;sbit yellow1=P12;sbit green2=P13;sbit red2=P14;sbit yellow2=P15;unsigned char flag=0;unsigned cha

9、r mun=30;unsigned char code tab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7 F,0x6F;void init_timer0(void)- 10 -TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;void display(unsigned char x)unsigned char m,n;m=x/10;n=x%10;port1=tabm;port2=tabn;void init(void)P1=0x00;init_timer0

10、();void main() init();- 11 -while(1) dodisplay(mun);green1=1;red1=0;green2=0;red2=1;while(mun!=3);doif(mun=3)yellow1=1;yellow2=1;display(mun);while(mun!=0);if(mun=0)- 12 -mun=30;yellow1=0;yellow2=0; dodisplay(mun);green1=0;red1=1;green2=1;red2=0;while(mun!=3);doif(mun=3)yellow1=1;yellow2=1;display(m

11、un);- 13 -while(mun!=0);if(mun=0)mun=30;yellow1=0;yellow2=0;void timer(void) interrupt 1 using 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;flag+;if(flag=20)flag=0;mun-;:- 14 -八、调试运行1、接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对 P1口的接线做了调整。即,P1.0 接绿灯,P1.1 接黄灯 ,P1.2 接红灯,P1.3 接绿灯,P1.4接黄灯,P1.5 接 L3 红灯2、从 0100H 单元开始

12、连续运行,观察六个 LED 灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。3、调试完灯的显示后,从 0100H 开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。4、整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。九、仿真截图- 15 - 16 -十、设计心得体会两周的单片机课程设计很快就结束了,在课程设计的这段时间里,我不仅学到了许多新的知识,而且加深了我对以前学习的理论知识的掌握。以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们

13、学习目的的明确性和主动性。通过这次课程设计,我们知道了哪些东西是应该确实掌握的,在学校里,没有实实在在的实习,我们总以为学的东西没太多用,当我们在课程设计过程中了解到我们学的东西是如此重要时,我们学习的积极性有了,目的性提高了。- 17 -通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈

14、,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。这个设计过程中,我们遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我们明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。于是,我们坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有课本以外的参考书,程序由我们自己独立完成,制作的交通灯控制系统程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。 在这次单片机课程设计中,我主要负责软件编写和仿真的调试,在这次课程设计中,让我懂得了团队协作重要,在一个工程中一个团队精神是必不可少,在这里我要感谢老师对我们指导和我们团队的另外三个同学帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报