单片机技术及应用(中职)课件 18.交通灯控制.pptx

单片机技术及应用(中职)课件 18.交通灯控制.pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

51单片机实训课程交通灯控制

1交通信号灯控制的逻辑秩序2交通灯的单片机控制思路3中断延时子函数的写法4交通灯控制流程图5交通灯控制的参考程序重点

1交通信号灯控制的逻辑秩序2交通灯控制流程图3中断子函数的写法4交通灯控制的程序的理解难点

交通灯的控制,我们在现实生活中见得太多了,但是我们是否很清楚它的控制逻辑呢?事实上,我们很多人都不会太留心身边常见的事情。比如我问你,究竟在红灯过后是绿灯呢还是黄灯?你可能还要思考几分钟才能回答这个问题。因为你可能会说我又不开车,干嘛管这些。我只用知道“红灯停,绿灯行”就好了。所以今天让我们好好了解一下交通灯的控制逻辑!情境引入

项目任务要求(1)正常情况下轮流放行,南北道A放行50秒(其中5秒用于警告),东西道B放行50秒(其中5秒用于警告)。(2)有紧急车辆通过(用按键开关K1模拟)时,A、B道均为红灯。交通灯控制

整体思路1)正常情况下运行程序,采用50ms中断延时子程序的反复调用来实现各种定时时间;2)有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置该中断为高优先级中断。交通灯控制

硬件要求交通灯控制

交通灯控制硬件模块

交通灯控制示意图

交通灯控制逻辑亮灯时间45S5S45S5S南北车道A绿灯亮黄灯闪烁红灯亮红灯亮东西车道B红灯亮红灯亮绿灯亮黄灯闪烁

交通灯控制单片机硬件示意图

连线用总线控制方式,我们是用组数据线即排线来连接P0口和8个LED灯。交通灯控制

软件要求交通灯控制

交通灯控制流程图开始四个路口红灯亮(状态0)南北红灯亮,东西绿灯亮,延时(状态1)南北红灯亮,东西黄灯闪烁,延时(状态2)南北绿灯亮,东西红灯亮,延时(状态3)南北黄灯闪烁,东西红灯亮,延时(状态4)

#includereg52.h#defineucharunsignedchar#defineuintunsignedint//加载52系列单片机头文件//宏定义,将无符号字符型定义为uchar字符,这样的好处是可以少写很多字符//宏定义,将无符号整型定义为uint字符参考程序(加载、定义部分)

sbitnbr=P1^0;sbitnby=P1^1; sbitnbg=P1^2;sbitdxr=P1^3; sbitdxy=P1^4; sbitdxg=P1^5;uintk,k1,n; //将P1口的第1位定义为nbr字符即表示南北红灯//nby南北黄//nbg南北绿?//dxr东西红//dxy东西绿//dxg东西黄//定义无符号整型变量k,k1,n参考程序(加载、定义部分)

voidinit(){ TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1;TR0=1;} //中断延时子函数的定义//设定定时器0位工作方式1(M0M1=01)//装初值11.0592M晶振定时50ms数为45872//开总中断//开定时器0中断//启动定时器0参考程序(中断延时子函数部分)

voidmain(){ init(); while(1) { nbr=dxg=0; TR0=1;while(k1=45); k1=0;TR0=0; //主函数入口//调用中断延时子函数//大循环//东西绿灯亮,南北红灯亮//启动

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档