《嵌入式系统基础》课程设计交通灯.docx
- 文档编号:9861484
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:15
- 大小:289.96KB
《嵌入式系统基础》课程设计交通灯.docx
《《嵌入式系统基础》课程设计交通灯.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统基础》课程设计交通灯.docx(15页珍藏版)》请在冰豆网上搜索。
《嵌入式系统基础》课程设计交通灯
《嵌入式系统基础》课程设计报告
设计题目:
交通灯
班级:
学号:
姓名:
指导教师:
成绩:
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]单片机爱好者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统基础 嵌入式 系统 基础 课程设计 交通灯