高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现

上传人:AZ****01 文档编号:489003554 上传时间:2024-05-13 格式:PPTX 页数:25 大小:7.88MB
返回 下载 相关 举报
高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现_第1页
第1页 / 共25页
高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现_第2页
第2页 / 共25页
高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现_第3页
第3页 / 共25页
高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现_第4页
第4页 / 共25页
高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现》由会员分享,可在线阅读,更多相关《高教社2024课件(刘小平)单片机应用技术项目3 汽车转向灯设计与实现(25页珍藏版)》请在金锄头文库上搜索。

1、项目3汽车转向灯设计与实现学习目标素质目标1.通过汽车转向灯项目分析,培养学生安全意识和遵守规则意识。2.通过分支选择语句的学习,树立学生正确的人生观、价值观和世界观。知识目标1.掌握独立式键盘的工作原理与应用。2.掌握C语言选择语句的使用。3.掌握典型分支结构程序设计和调试方法。能力目标1.能够根据设计要求,选择参数、性能合理的电子元器件,使用Proteus进行硬件电路仿真设计。2.熟悉C51对并行I/O端口作输入口操作的编程方法。3.熟练使用典型分支结构程序设计和调试方法。项目任务设计要求:设计制作以MCS-51单片机为主控芯片,外接键盘电路、LED电路,通过编程实现汽车转向灯控制系统。基

2、于单片机的汽车转向灯控制系统知识链接键盘知识开关(switch)按键/按钮(button)知识链接键盘工作原理1、键输入信号判断:通过按键的接通与断开,产生两种相反的逻辑状态与高电平“1”。2、键功能的实现:对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,转入执行该键的功能程序,执行完后再返回主程序知识链接按键结构与特点机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的机械特性有关,一般为510ms。若有抖动,按键按下会被错误地认为是多

3、次操作。按键触点的机械抖动知识链接为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。键数较少时,采用硬件去抖(R-S触发器构成的去抖动电路)键数较多时,采用软件去抖(延时去抖)软件上采取的措施是在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除抖动的影响。按键防抖动措施知识链接键盘与单片机的连接方式1.1.独立式键盘独立式键盘2 2矩阵式键盘矩阵式键盘知识链接键盘扫描方式 在单片机应用系统中,键盘扫描只是CPU的工作内容之一

4、。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。项目实施本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。汽车信号灯控制系统以单片机AT

5、89C52、电源电路、复位电路及时钟电路构成的最小系统模块和外围接口电路组成,外围接口电路主要由LED显示电路、按键输入电路构成。系统通过单片机并行I/O口构成键盘输入和LED显示输出电路,可实现汽车转弯灯中各信号灯的功能操作。汽车转向灯系统方案设计LED电路按键输入电路复位电路时钟电路电源电路单 片 机项目拓展硬件方案确定硬件方案确定最小系统最小系统 电路电路单片机单片机硬件方案硬件方案按键输按键输入电路入电路LED显显示电路示电路项目实施 硬件电路设计汽车转向灯参考仿真电路图项目实施C语言知识1、运算符和表达式2、选择(分支)语句 软件设计项目实施运算符及表达式运算类型运算类型运算符运算符

6、优先级优先级结合性结合性括号运算符括号运算符()()1 1从左至右从左至右逻辑非和按位取反逻辑非和按位取反!2 2从右至左从右至左算术运算算术运算*/%*/%3 3从左至右从左至右+-+-4 4从左至右从左至右左移、右移运算左移、右移运算5 5从左至右从左至右关系运算关系运算 =6 6从左至右从左至右=!=!=7 7从左至右从左至右位运算位运算&8 8从左至右从左至右 9 9从左至右从左至右|1010从左至右从左至右逻辑与逻辑与&1111从左至右从左至右逻辑或逻辑或|1212从左至右从左至右赋值运算与复合赋值运算赋值运算与复合赋值运算=、*=、/=/=、&=&=、=、|=|=、=1414从右至

7、左从右至左项目实施选择分支语句1、if语句2、ifelse语句3、if-elseif-else语句项目实施if选择语句基本if语句的格式如下:if(表达式)语句组;if语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组”,否则跳过该语句组,继续执行下面的语句。if语句中的“表达式”通常为逻辑表达式或关系表达式,在if语句中,“表达式”必须用括号括起来。在if语句中,花括号“”里面的语句组如果只有一条语句,可以省略花括号。如“if(P3_0=0)P1_0=0;”语句,但是为了提高程序的可读性和防止程序书写错误,建议读者在任何情况下,都加上花括号。项目实施if-else选择语句if-e

8、lse语句的一般格式如下:if(表达式)语句组A;else语句组B;if-else语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组1”,否则执行“语句组2”图6 if-else语句执行流程项目实施ifelseifelse语句 if-elseif-else是ifelse语句组成的嵌套,用于实现多个条件分支的选择。其一般格式如下:if(表达式)语句1;elseif(表达式)语句2;elseif(表达式)语句3;elseif(表达式)语句4;else语句N;if-else if-else语句执行流程项目实施在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键

9、盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。键盘扫描方式项目实施主程序算法及流程图开始初始化:LED全灭,正常行驶;输入端口初始化;键盘扫描程序Y有键按下N主程序设计流程图主程序主要完成硬件初始化、键盘扫描与键位功

10、能处理程序、延时功能函数调用等功能。项目实施1.判别有无键按下(延时去抖)方法:实时读取I/O口状态,取反后测试,若有键闭合,则x0;若无键闭合,则x=0。当测试有键闭合时,需要进行延时去抖动处理,按键消除抖动仍采用延时函数。即在发现有键盘按下后,延时10ms再进行逐行扫描。因为键被按下时的闭合时间远远大于10ms,所以延时后再扫描再判断。若某键闭合则相应单片机引脚输入低电平。if(x=0)continue;/如果无键按下则认为是按键抖动,重新扫描键盘。2.采用查询方式确定键位,根据键值转去执行该闭合键的功能方法:如果有键按下,则根据按键的不同执行相应的按键操作。键值处理程序为选择(分支)结构

11、,使用了if-elseif-else语句。键盘扫描程序分析项目实施键盘扫描程序分析开始开始左转信号左转信号读取键值读取键值是是否否有有键键按按下下?P1.0P1.0按下按下Y YY YP1.4P1.4按下按下P1.2P1.2按下按下P1.6P1.6按下按下Y YY YN NN NN N右转信号右转信号刹车信号刹车信号紧急信号紧急信号N NNY项目实施while(1)/*键盘扫描*/P1=0 xff;/键盘初始化x=P1;/读键盘状态x=x;/键盘状态取反if(x=0)continue;/如果无键按下则认为是按键抖动,重新扫描键盘delay(250);/延时去抖动if(x=0)continue;

12、/如果无键按下则认为是按键抖动,重新扫描键盘/*根据键值相应执行功能*/if(K1=0)/K1键:左转P0=tab0;delay(100);P0=0 x00;delay(100);elseif(K2=0)/K2键:右转P0=tab1;delay(100);P0=0 x00;delay(100);elseif(K3=0)/K3键:刹车while(k3=0)P0=tab2;P0=0 x00;elseif(K4=0)/K4键:紧急P0=tab3;delay(100);P0=0 x00;delay(100);elseP0=0 x00;/正常键盘扫描程序分析项目小结1独立式按键采用每个按键单独占用一根I

13、/O口线结构。当按下和释放按键时,输入到单片机I/O端口的电平是不一样的,因此可以根据不同端口电平的变化判断是否有按键按下以及是哪一个按键按下。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大。2C51语言供给了4种形式的条件语句:C51提供三种形式的if语句:if(表达式)语句;if(表达式)语句1;else语句2;if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;else语句n;项目拓展一键多功能按键识别电路设计一键多功能按键识别电路设计 设计要求:用一键多功能的实现花样流水灯的控制。即同一个键位通过按下次数选择控制不同的LED流水灯效果。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号