课程设计基于单片机的交通灯设计.docx
- 文档编号:831468
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:20
- 大小:501.70KB
课程设计基于单片机的交通灯设计.docx
《课程设计基于单片机的交通灯设计.docx》由会员分享,可在线阅读,更多相关《课程设计基于单片机的交通灯设计.docx(20页珍藏版)》请在冰豆网上搜索。
课程设计基于单片机的交通灯设计
课程设计说明书
题目:
基于单片机的交通灯设计
目录
1绪论1
1.1研究的背景和意义1
1.2设计要求1
2系统总体方案设计2
2.1系统结构2
2.2芯片选择2
3系统硬件设计5
3.1单片机最小系统5
3.2数码管显示模块5
3.3LED灯显示模块6
3.4系统总电路8
4系统软件设计....9
4.1主程序设计9
4.2延时1s子程序10
4.3数码管显示程序11
5总结12
参考文献13
附录A14
附录B20
1绪论
1.1研究的背景和意义
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,但这一技术在19世纪就已出现了。
时至今日,随着科技的发展,道口上的红绿灯也发生的巨大的变化,先后出现了以燃气为光源的手动式交通灯,电气式交通灯,单片机控制交通灯等等,这些技术的发展不仅给我们的生活带来更大的方便,同时也给了我们更多的安全保障,因而虽然交通灯已经发展了很长的一段时间,现进对其的研究仍然十分必要和很有意义。
1.2设计要求
1)设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行。
2)每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆。
3)同步设置人行横道红、绿灯指示。
4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码
管显示器进行显示(采用倒计时的方法)。
2系统总体方案设计
2.1系统结构
本系统是由单片机的P口输出LED和数码显示管的状态,该系统方案的框图如图1所示。
图1方案框图
2.2芯片选择
本实验选择的芯片是intel的80C51芯片,其引脚图如图2所示。
图280C51引脚图
MCS-51单片机内部由数据总线,控制总线和地址总线连接内部的其他设备,其内部的结构图如图3所示。
图380C51内部结构图
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):
8051内部结构如图1有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器:
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,
可满足不同的控制要求,并具有2级的优先级别选择。
时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
3系统硬件设计
3.1单片机最小系统
单片机最小系统是指用最少的原件组成可以工作的单片机系统,包括复位电路和晶振电路,在本实验中的最小系统设计中,采取的是上电复位方式,复位电路采用30pF的电容和电源与单片机的RST引脚连接,实现通电自动复位,晶振电路给单片机提供时钟源,包括晶体振荡器和2个30pF的电容组成,分别与单片机的XTAL1和XTAL2引脚连接,本实验单片机最小系统如图4所示。
图4单片机最小系统
3.2数码管显示模块
通过数码管显示南北和东西方向的时间,数码管连接在单片机的P0口,通过P0口和相关的软件程序实现其状态的输出,P0.0口至P0.6口分别连接数码管的位选端A,B,C,D,E,F,G,P2.0至P2.3口分别连接南北方向和东西方向数码管的片选端,数码管硬件连接如图5所示。
图5数码管显示
3.3LED灯显示模块
东西和南北方向的LED灯与单片机的P1口连接,P1.0、P1.1和P1.2分别连接南北方向的绿灯、黄灯和红灯;P1.3、P1.4和P1.5分别连接东西方向的绿灯、黄灯和红灯,并将人行道的LED灯分别串接在南北和东西方向上,LED灯硬件连接图如图6所示。
图6LED灯显示模块
3.4系统总电路
通过对单片机最小系统、数码管显示模块和LED灯显示模块的学习,最后对系统进行组合,得出系统的总电路图,其电路图如附录B所示
4系统软件设计
4.1主程序设计
是
否
否
是
是
否
否
是
图7主程序流程图
本系统的主程序设计思路主要根据南北方向和东西方向交通灯的四种状态,即第一状态:
南北绿灯,东西红灯;第二状态:
南北黄灯,东西红灯;第三状态:
南北红灯,东西绿灯;第四状态:
南北红灯,东西黄灯。
在每一个状态,通过对该状态下数码管显示的时间自减1是否等于0来判断是否进入下一状态,主程序流程图如图7所示,主程序如附录A所示。
4.2延时1s子程序
本实验的硬件系统选用了四片数码显示管,这四个数码显示管实现的是动态显示,每扫描四片数码显示管一次,延时1ms子程序运行了4次,即4ms,所以循环250次就是1s,延时1ms的子程序的流程图如图8所示。
是
否
图8延时1ms子程序流程图
延时1s的子程序是在扫描四片数码管(即4ms)的基础上循环250次实现的,其程序的的流程图如图9所示。
否
是
图9延时1s子程序流程图
4.3数码管显示程序
数码管实现的是动态显示,每片数码管显示都调用延时1MS的子程序,共有4片数码管,循环250次就是1S。
本系统选用的数码管是共阴极数码管,将数字0到9对应的数值计算出来,然后通过查表的方式查出数值。
显示模块程序流程图如图10所示。
否
是
图10显示程序流程图
5总结
本次课程设计,我们小组通过proteus仿真软件,选用intel80C51单片机,通过P0口连接数码显示管,通过P1口连接LED灯,并且设置好晶振电路和复位电路,然后用汇编语言编写整个过程的程序,并且在最后实现了交通灯正确显示。
在整个设计的过程中,通过对整个流程的分析,我对单片机的控制有了更加深刻的理解,通过对硬件的选择和连接,也让我对单片机的整个控制过程有了更加直观的了解.
参考文献
[1]杨欣.实例解读51单片机完全学习与应用[M].北京:
电子工业出版社,2011.
[2]杨欣.电路设计与仿真——基于Multisim8与Proteus2004[M].北京:
清华大学出版社,2006.
[3]刘乐善.微型计算机接口技术及应用[M].湖南:
华中科技大学出版社,2004.
[4]余锡存,曹国华.单片机原理及接口技术[M].陕西:
西安电子科技大学出版社,2000.
附录A
ORG0200H
A_BITEQU20H;用于存放南北十位数
B_BITEQU21H;用于存放南北个数
C_BITEQU22H;用于存放东西十位数
D_BITEQU23H;用于存放东西个位数
TEMP1EQU24H;用于存放第一二南北状态要显示的时间
TEMP2EQU25H;用于存放第一二东西状态要显示的时间
TEMP3EQU26H;用于存放第三第四南北状态要显示的时间
TEMP4EQU27H;用于存放第三第四南北状态要显示的时间
MAIN:
MOVTEMP1,#20
MOVTEMP2,#25
MOVTEMP3,#25
MOVTEMP4,#20
STAR1:
MOVP1,#0FFH
MOVA,24H;将显示时间送A
CLRP1.0
CLRP1.5;南北通行,东西禁止通行
MOVTEMP1,#20;南北要显示的时间,
MOVTEMP2,#25;东西要显示的时间
DYXS1:
ACALLDISPLAY1;调用显示
DECTEMP1;时间够一秒显示时间减1
DECTEMP2
MOVA,TEMP1
CJNEA,#0,DYXS1;若显示时间不为0保持现在状态
STAR2:
;状态2
SETBP1.0
CLRP1.1;南北黄灯,东西禁止通行
MOVTEMP1,#05;南北要显示的时间,
DYXS2:
ACALLDISPLAY1;调用显示
DECTEMP1;时间够一秒显示时间减1
DECTEMP2
MOVA,TEMP1
CJNEA,#0,DYXS2
STAR3:
MOVA,26H;将显示时间送A
CLRP1.2
SETBP1.1;南北通行,东西禁止通行
CLRP1.3
SETBP1.5
MOVTEMP3,#25;南北要显示的时间,
MOVTEMP4,#20;东西要显示的时间
DYXS3:
ACALLDISPLAY2;调用显示
DECTEMP3;时间够一秒显示时间减1
DECTEMP4
MOVA,TEMP4
CJNEA,#0,DYXS3;若显示时间不为0保持现在状态
STAR4:
;状态4
SETBP1.3
CLRP1.4;南北黄灯,东西禁止通行
MOVTEMP4,#05;东西要显示的时间,
DYXS4:
ACALLDISPLAY2;调用显示
DECTEMP3;时间够一秒显示时间减1
DECTEMP4
MOVA,TEMP4
CJNEA,#0,DYXS4
LJMPMAIN;若显示时间不为0保持现在状态
DISPLAY1:
MOVA,TEMP1;将南北要显示的数存放到A
MOVB,#10;B=10
DIVAB;A除以B商存A,余数B
MOVA_BIT,A;将A放到20h
MOVB_BIT,B;将B放到21H
MOVA,TEMP2;将东西要显示的数存放到A
MOVB,#10;B=10
DIVAB;A除以B商存A,余数B
MOVC_BIT,A;将A放到22H
MOVD_BIT,B;将B放到23H
MOVDPTR,#NUMT;
MOVR1,#250;R1=250
XUHUAN1:
MOVA,A_BIT;将南北要显示的10位数送A
MOVCA,@A+DPTR;查表
MOVP0,A;显示南北10位数
CLRP2.0
ACALLT1MS;定时器延时1MS
SETBP2.0;灭南北10位数
MOVA,B_BIT;将南北要显示的个位数送A
MOVCA,@A+DPTR;查表
MOVP0,A;显示南北个位数
CLRP2.1
ACALLT1MS;定时器延时1MS
SETBP2.1;灭南北个位
MOVA,C_BIT;将东西要显示的10位数送A
MOVCA,@A+DPTR;查表
M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 基于 单片机 交通灯 设计