《嵌入式系统基础》课程设计交通灯.docx

上传人:b****8 文档编号:9861484 上传时间:2023-02-07 格式:DOCX 页数:15 大小:289.96KB
下载 相关 举报
《嵌入式系统基础》课程设计交通灯.docx_第1页
第1页 / 共15页
《嵌入式系统基础》课程设计交通灯.docx_第2页
第2页 / 共15页
《嵌入式系统基础》课程设计交通灯.docx_第3页
第3页 / 共15页
《嵌入式系统基础》课程设计交通灯.docx_第4页
第4页 / 共15页
《嵌入式系统基础》课程设计交通灯.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《嵌入式系统基础》课程设计交通灯.docx

《《嵌入式系统基础》课程设计交通灯.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统基础》课程设计交通灯.docx(15页珍藏版)》请在冰豆网上搜索。

《嵌入式系统基础》课程设计交通灯.docx

《嵌入式系统基础》课程设计交通灯

《嵌入式系统基础》课程设计报告

 

设计题目:

交通灯

班级:

学号:

姓名:

指导教师:

成绩:

 

2011年6月20日

 

1设计任务

1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。

2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。

4、紧急情况发生,如消防车、救护车等紧急车辆通过时,要求四个路口同时加亮黄灯闪烁,并且倒计时显示装置关闭,四个路口的信号灯全部变成红灯。

5当东西或南北方向车流量大时,四个路口同时加亮黄灯进行闪烁,并且倒计时显示装置关闭,黄灯闪烁5秒后,只允许东西或南北方向车辆通行。

交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。

用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),如图所示:

2电路原理图.

1总体设计电路如图所示

2交通灯电路

为了方便实验,可以用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。

在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0~P1.5控制。

单片机的I/O接口与交通灯电路的具体连接方式为:

P1.0~P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3~P1.5分别接南北方向的红、黄、绿共6个发光二极管。

12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平时,相应的发光二极管会灭。

交通灯电路如图所示。

3

倒计时显示电路

3该交通灯控制系统在正常情况下,每60s循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。

该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。

有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。

四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位;东西南北四个方向共四个路口,令DS1和DS2是一组,DS3和DS4是一组,DS5和DS6是一组,DS7和DS8是一组。

考虑到AT89C51单片机所能提供I/O接口的数量以及该控制系统所需要的I/O的个数并结合我们的实际能力,数码管在本系统采用的是静态显示。

所谓静态显示,就是当显示器显示某一字符时,相应的数码管恒定地导通或截止。

采用静态显示时。

占用CPU的资源较少,单片机只要把要显示的字符代码发送到接口电路即可,直到要显示新的数据时,再发送新的字形码。

倒计时显示电路如图所示。

4紧急通行电路

该系统的K1、K2、K3三个按键分别于单片机的P3.0、P3.1、P3.6相接,它们可以在特殊的交通情况下使用。

例如,当有紧急情况发生时,如消防车、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒)。

并且倒计时显示装置关闭,黄灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通过,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;按下K2键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许东西方向车辆准行、南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;按下K3键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许南北方向车辆准行、东西方向车辆禁行,松开K3键,交通灯控制系统又开始正常工作。

5主程序流程图

 

6按键子程序流程图

 

3AT89S51功能介绍

1)串口通信接口。

与计算机通讯,也可作为STC系列单片机下载程序及仿真调试接口。

2)1602液晶插座。

做普通常用液晶1602显示实验。

3)ISP下载线接口。

在线下载程序到单片机,不需要编程器。

4)四位数码管 

5)8位发光二极管。

流水灯实验,以及其它指示使用。

6)扩展地(GND)插针。

需要扩展单片机外围器件,对外围元件供电。

7)12864液晶数据传送方式选用接口。

8)液晶背灯光亮度调节。

9)DS1302时钟模块接口。

精确时钟DS1302实验。

10)扩展电源(VCC)插针。

需要扩展单片机外围器件时,对外围元件的供电。

11)电源开关。

很方便的接通与关闭电源。

12)AT24C02外部EEPROM芯片 。

模拟IIC通信实验。

13)一体化红外接收头,红外发射管。

红外线解码,红外线遥控器。

14)蜂鸣器。

警示鸣叫指示。

15)5个功能按钮。

其中有两个按钮对应两个外部中断,很方便做外部中断触发。

16)复位按钮

4源程序

ORG0000H

LJMPMAIN

ORG001BH;定时器T1中断入口

LJMPIINT1

ORG0100H;主程序入口

;********;

;*主程序*;

;********;

MAIN:

MOVSP,#60H

MOVTMOD,#10H;定时器T1工作在方式1

MOVTH1,#9EH;给定时器T1赋初值

MOVTL1,#58H

SETBEA;开中断系统总开关

SETBET1;开定时器T1中断开关

SETBTR1;启动定时器T1

HERE:

MOV88H,#15H;设置中断循环次数

MOV33H,#3DH;设置倒计时显示数值

MOVP1,#0F3H;使交通灯东西绿,南北红

MOVR7,#37H

MM:

LCALLDISP

MOVA,P3;键盘扫描

CJNEA,#0FFH,READKEY

DJNZR7,MM

MOVP1,#0E1H;交通灯东西绿,南北红同时加亮黄灯

MOV20H,#02H

NN:

MOVA,P3

CJNEA,#0FFH,READKEY

SETBP1.1;黄灯进行5秒闪烁

SETBP1.4

LCALLDISP

CLRP1.1

CLRP1.4

LCALLDISP;调显示子程序

DJNZ20H,NN

SETBP1.1

SETBP1.4

LCALLDISP

MOVP1,#0DEH;交通灯南北绿,东西红

MOVR7,#37H

PP:

LCALLDISP

MOVA,P3

CJNEA,#0FFH,READKEY

DJNZR7,PP

MOVP1,#0CCH;交通灯南北绿,东西红同时加亮黄灯

MOV20H,#02H

QQ:

MOVA,P3;扫描P3口

CJNEA,#0FFH,READKEY

SETBP1.1

SETBP1.4

LCALLDISP

CLRP1.1

CLRP1.4

LCALLDISP

DJNZ20H,QQ

SETBP1.1

SETBP1.4

LCALLDISP

LCALLQW

QW:

SJMPHERE

RET

;****************;

;*1秒延时子程序*;

;****************;

DELAY:

MOVR1,#0AH

DELAY0:

MOVR2,#0C8H

DELAY1:

MOVR3,#0F8H

NOP

DELAY2:

DJNZR3,DELAY2

DJNZR2,DELAY1

DJNZR1,DELAY0

RET

;***************;

;键盘扫描子程序;

;***************;

READKEY:

MOVA,#0FFH

MOVP3,A

MOVA,P3

JNBACC.0,K1;判断K1键是否按下

JNBACC.1,K2;判断K2键是否按下

JNBACC.3,K3;判断K3键是否按下

RET

K1:

MOVP0,#0FFH;关断倒计时显示装置

MOVP2,#0FFH

LCALLXX

LCALLYY

SJMPREADKEY

K2:

MOVP0,#0FFH;关断倒计时显示装置

MOVP2,#0FFH

LCALLXX

LCALLYY1

SJMPREADKEY

K3:

MOVP0,#0FFH;关断倒计时显示装置

MOVP2,#0FFH

LCALLXX

LCALLYY2

SJMPREADKEY

XX:

MOV20H,#03H

LCALLBB

RET

;******************;

;*黄灯进行5秒闪烁*;

;******************;

BB:

SETBP1.1

SETBP1.4

LCALLDELAY

CLRP1.1

CLRP1.4

LCALLDELAY

DJNZ20H,BB

RET

YY:

MOVP1,#0F6H;四个路后均变成红灯

MOVA,#0FFH

MOVP3,A

MOVA,P3

JNBACC.0,YY;判断K1键是否仍然按下

LCALLQW

YY1:

MOVP1,#0F3H;东西方向亮绿灯,南北方向亮红灯

MOVA,#0FFH

MOVP3,A

MOVA,P3

JNBACC.1,YY1;判断K2键是否仍然按下

LCALLQW

YY2:

MOVP1,#0DEH;南北方向亮绿灯,东西方向亮红灯

MOVA,#0FFH

MOVP3,A

MOVA,P3

JNBACC.3,YY2;判断K3键是否仍然按下

LCALLQW

RET

;****************;

;*中断处理程序*;

;****************;

ORG0200H;中断程序入口地址

Liu:

DEC88H

MOVA,88H

CJNEA,#01H,BN;判断循环次数是否为1

MOV88H,#15H;重新给循环次数赋值

LCALLDISP

BN:

MOVTH1,#9EH;重新给定时器T1赋初值

MOVTL1,#58H

RETI

;************;

;*显示子程序*;

;************;

DISP:

DEC33H

MOVA,33H

CJNEA,#01H,DIR1

MOV33H,#3DH;重新给倒计时数赋初值

DIR1:

MOVB,#0AH

DIVAB;提取出倒计时数值的十位数和个位数

MOVDPTR,#TAB;字形表的入口地址

MOVCA,@A+DPTR;查表获取十位数的字型码

MOV30H,A

MOVA,B

MOVCA,@A+DPTR;查表获取个位数的字型码

MOV31H,A

MOVA,30H

MOVP0,A;将十位数字型码送到P0口

MOVA,31H

MOVP2,A;将个位数字型码送到P2口

LCALLDELAY

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H;字形表

END

5调试过程

1硬件检测

第一步:

目测,检查外部的各种元件或则电路是否有断点;

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象;

第三步:

加电检测。

给板加电,检测所有的插座或是器件的电源端是否符合要求的值;

第四步:

是联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

2软件调试:

软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

程序后,编辑,查看程序是否有逻辑的错误

6总结

这次单片机课程设计我选做了交通灯,因为我觉得交通灯在现实生活中非常常见并且对交通灯的工作原理非常好奇,于是便选择了这个题目。

认真分析课题要求,研究我们的方案,包括功能的实现原理,硬件的安排、布线、器件的型号功能和参数、程序的编写、调试等等。

然后去图书馆和网上去查找相关资料,经过比较充分的时间准备之后我们终于设计出了自己的课设方案,经过调试之后交通灯便做好了。

通过这次课程设计我学到了很多知识,就是自己以前只知道理论知识,对其如何在实践中应用并不了解,这次课程设计很好的将理论和实践结合起来让我收获很多。

我也发现了自己的很多不足,比如在编程时发现自己的知识是那么的薄弱,靠翻课本、查资料才行,对单片机各个接口的功能和结构的理解并不是非常深入。

经过这次实验我的编程技巧和对单片机的理解都有所增加。

这次单片机课程设计对我以后的学习和工作都会有很大的帮助。

 

参考文献

[1]柴鈺.单片机原理及应用[M].西安电子科技大学出版社.

[2]李海滨,片春媛,许瑞雪.单片机技术课程设计与项目实例[M].电子出版社.

[3]XX文库

[4]单片机爱好者

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

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1