- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于51单片机的交通灯控制器实验
一、实验目的
学会用8051单片机开发简单的计算机控制系统;
学会用汇编语言和C语言开发系统软件;
学会8051单片机开发环境wave或Keil uVision3软件的使用;
学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真;
熟悉七位数码管显示的使用方法;
了解交通灯控制系统的基本组成。
二、实验内容及要求
交通灯处在十字路口上。它有红﹑黄﹑绿三种颜色的灯组成。红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换。下面拿东西南北四个方向来说明。当东西方向允许行车(或者左转)的时候,南北方向就禁止行车,即此时东西方向的绿灯亮红灯灭,而南北方向的绿灯灭红灯亮。反之当南北方向允许行车(或者左转)的时候,东西方向就禁止行车,即此时南北方向的绿灯亮红灯灭,而东西方向的绿灯灭红灯亮。交通灯配置示意图如图1所示。同时当有特殊的情况发生时,能手动控制各个方向的 信号灯。设计任务就是将这一电路用单片机来实现具体的控制。
实验原理
模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。
根据设计的要求可知,系统的硬件原理框图如下图所示。
图2. 系统硬件框图
单片机选用AT89C51,南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不够用时,可以考虑扩展8255或8155满足系统的要求。
为了在后面的分析中便于说明,将东西方向绿灯亮,南北方向红灯亮命名为状态1,东西方向绿灯闪,南北方向红灯亮命名为状态2,东西方向黄灯闪,南北方向红灯亮命名为状态3,将东西方向红灯亮,南北方向绿灯亮命名为状态4,东西方向红灯亮,南北方向绿灯闪命名为状态5,东西方向红灯亮,南北方向黄灯闪命名为状态6。
假定红绿灯点亮的时间为20s,黄灯点亮的时间为5s。黄灯每隔500ms亮一次,之后灭500ms(亮灭一次叫作闪烁一次),一共闪烁5次,持续5s。各个状态之间的变换情况如下:
四、实验仪器、材料
电脑、Proteus软件、Keil uVision3软件
五、实验过程及原始记录
5.1单片机的最小系统
ATMEL公司生产的AT89C51单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。具体连接图2和图3。
图2.单片机系统的时钟电路
图3.单片机系统的复位电路
5.2数码管显示电路
显示电路采用8个共阳数码管,P1口作为数码管的输入,P0.4、P0.5、P0.6 P0.7分别控制东西南北四路数码管的位选端C1,C2,C3,C4。
图4.数码管显示电路(上图是共阴数码管)
六、实验结果及分析
图6.交通灯仿真图(1)
图7.交通灯仿真图(2)
图8.交通灯仿真图(3)
通过软件仿真显示,系统基本能完成要求。
结果分析:如上述图所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向和东西方向两条交叉道路上的车辆交替运行,主干道每次通行时间都设为20秒。在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。
实验体会
通过这次系统实验,对以前学过的知识进行了巩固,自己做了电路编了程序,通过和书上的对比,加深了对单片机的理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力,同时提高了大家对专业的认识及兴趣,对于我们工科生来说,对以后的学习很有帮助。
附录 主要程序清单
;------------------------------------
;程序实现功能
;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。
#includereg51.h
#define uchar unsigned char
uchar count,second,i,flag;
sbit h_red= P2^1; //定义端口
sbit h_green= P2^2;
sbit h_yellow= P2^3;
sbit l_red= P2^4;
sbit l_green= P2^5;
sbit l_yellow= P2^6;
uchar code table[]={0x3F,0x06,0x5
文档评论(0)