单片机应用技术项目教程项目6_汽车转向灯教材教学课件.pptVIP

单片机应用技术项目教程项目6_汽车转向灯教材教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料

项目6: 汽车信号灯;知识目标: 1.掌握独立式键盘的工作原理与应用; 2.掌握C语言选择语句的使用; 3.掌握选择语句if-else、if-else if-else的语法特点;掌握典型分支结构程序设计和调试方法。 技能训练目标: 1.熟悉C51对并行I/O端口作输入口操作的编程方法; 2.熟练使用典型分支结构程序设计和调试方法。;; 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。 汽车信号灯控制系统以单片机AT89C52、电源电路、复位电路及时钟电路构成的最小系统模块和外围接口电路组成,外围接口电路主要由LED显示电路、按键输入电路构成。系统通过单片机并行I/O口构成键盘输入和LED显示输出电路,可实现汽车转弯灯中各信号灯的功能操作。汽车信号灯控制系统框图如图6-1所示 ; 该系统软件主要由主程序、延时功能函数、按键扫描模块等组成,系统软件结构框图如图6-2所示。。 ;键盘知识;1、键输入信号判断: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 2、键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,转入执行该键的功能程序,执行完后再返回主程序;二、按键结构与特点 ;三、防抖动措施;四、键盘与单片机的连接方式;选择(分支)语句 ;if选择语句 ;if-else选择语句 ;if……else if……else语句 ;switch选择语句 ;【活动一】 硬件电路设计;【活动二】软件设计;(1)判别有无键按下(延时去抖)。 方法:实时读取I/O口状态,取反后测试,若有键闭合,则x≠0;若无键闭合,则x=0。当测试有键闭合时,需要进行延时去抖动处理,按键消除抖动仍采用延时函数。即在发现有键盘按下后,延时10ms再进行逐行扫描。因为键被按下时的闭合时间远远大于10ms,所以延时后再扫描再判断 。若某键闭合则相应单片机引脚输入低电平。if(x==0) continue; //如果无键按下则认为是按键抖动,重新扫描键盘。 (2)采用查询方式确定键位,根据键值转去执行该闭合键的功能。 方法:如果有键按??,则根据按键的不同执行相应的按键操作。键值处理程序为选择(分支)结构,使用了if-else if-else语句。 ;键盘扫描子程序设计;while(1) { /**************键盘扫描*************************************************/ P1=0xff; //键盘初始化 x=P1; //读键盘状态 x=~x; //键盘状态取反 if(x==0) continue;//如果无键按下则认为是按键抖动,重新扫描键盘 delay(250); //延时去抖动 if(x==0) continue;//如果无键按下则认为是按键抖动,重新扫描键盘 /*****************根据键值相应执行功能*******************************************/ if(K1==0) //K1键:左转 { P0=tab[0];delay(100);P0=0x00;delay(100); } else if(K2==0) //K2键:右转 { P0=tab[1];delay(100);P0=0x00;delay(100); } else if(K3==0) //K3键:刹车 { P0=tab[2];delay(100);P0=0x00;delay(100); } else if(K4==0) //K4键:紧急 { P0=tab[3];delay(100);P0=0x00;delay(100); } else P0=0x00;

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档