版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目3汽车转向灯设计与实现素质目标1.通过汽车转向灯项目分析,培养学生安全意识和遵守规则意识。2.通过分支选择语句的学习,树立学生正确的人生观、价值观和世界观。知识目标1.掌握独立式键盘的工作原理与应用。2.掌握C语言选择语句的使用。3.掌握典型分支结构程序设计和调试方法。能力目标1.能够根据设计要求,选择参数、性能合理的电子元器件,使用Proteus进行硬件电路仿真设计。2.熟悉C51对并行I/O端口作输入口操作的编程方法。3.熟练使用典型分支结构程序设计和调试方法。设计要求:
设计制作以MCS-51单片机为主控芯片,外接键盘电路、LED电路,通过编程实现汽车转向灯控制系统。基于单片机的汽车转向灯控制系统键盘知识开关(switch)按键/按钮(button)键盘工作原理1、键输入信号判断:通过按键的接通与断开,产生两种相反的逻辑状态低电平“0”与高电平“1”。2、键功能的实现:对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,转入执行该键的功能程序,执行完后再返回主程序按键结构与特点机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的机械特性有关,一般为5
10ms。若有抖动,按键按下会被错误地认为是多次操作。按键触点的机械抖动
为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。键数较少时,采用硬件去抖(R-S触发器构成的去抖动电路)键数较多时,采用软件去抖(延时去抖)
软件上采取的措施是在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除抖动的影响。按键防抖动措施键盘与单片机的连接方式1.独立式键盘2.矩阵式键盘键盘扫描方式
在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。
键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。
本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。汽车信号灯控制系统以单片机AT89C52、电源电路、复位电路及时钟电路构成的最小系统模块和外围接口电路组成,外围接口电路主要由LED显示电路、按键输入电路构成。系统通过单片机并行I/O口构成键盘输入和LED显示输出电路,可实现汽车转弯灯中各信号灯的功能操作。汽车转向灯系统方案设计LED电路按键输入电路复位电路时钟电路电源电路单片机硬件方案确定最小系统
电路单片机硬件方案按键输入电路LED显示电路
硬件电路设计汽车转向灯参考仿真电路图C语言知识1、运算符和表达式2、选择(分支)语句
软件设计运算符及表达式运算类型运算符优先级结合性括号运算符()1从左至右逻辑非和按位取反!~2从右至左算术运算*/%3从左至右+-4从左至右左移、右移运算<<>>5从左至右关系运算<<=>>=6从左至右==!=7从左至右位运算&8从左至右^9从左至右|10从左至右逻辑与&&11从左至右逻辑或||12从左至右赋值运算与复合赋值运算
=+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=14从右至左选择分支语句1、if语句2、if……else语句3、if-elseif-else语句
if选择语句基本if语句的格式如下:if(表达式){
语句组;
}if语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组”,否则跳过该语句组,继续执行下面的语句。
if语句中的“表达式”通常为逻辑表达式或关系表达式,在if语句中,“表达式”必须用括号括起来。在if语句中,花括号“{}”里面的语句组如果只有一条语句,可以省略花括号。如“if(P3_0==0)P1_0=0;”语句,但是为了提高程序的可读性和防止程序书写错误,建议读者在任何情况下,都加上花括号。if-else选择语句if-else语句的一般格式如下:if(表达式) {
语句组A;
} else{
语句组B;
}if-else语句执行过程:当“表达式”的结果为“真”时,执行其后的“语句组1”,否则执行“语句组2”图6-if-else语句执行流程if……elseif……else语句
if-elseif-else是ifelse语句组成的嵌套,用于实现多个条件分支的选择。其一般格式如下:if(表达式){语句1;}elseif(表达式){语句2;}elseif(表达式){语句3;}elseif(表达式){语句4;}else{语句N;}
if-elseif-else语句执行流程
在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。键盘扫描程序一般应包括以下内容:(1)判别有无键按下。(2)键盘扫描取得闭合键的行、列值。(3)用计算法或查表法得到键值。(4)判断闭合键是否释放,如没释放则继续等待。(5)将闭合键键号保存,同时转去执行该闭合键的功能。
键盘扫描方式主程序算法及流程图开始初始化:LED全灭,正常行驶;输入端口初始化;键盘扫描程序Y有键按下N主程序设计流程图
主程序主要完成硬件初始化、键盘扫描与键位功能处理程序、延时功能函数调用等功能。1.判别有无键按下(延时去抖)
方法:实时读取I/O口状态,取反后测试,若有键闭合,则x≠0;若无键闭合,则x=0。当测试有键闭合时,需要进行延时去抖动处理,按键消除抖动仍采用延时函数。即在发现有键盘按下后,延时10ms再进行逐行扫描。因为键被按下时的闭合时间远远大于10ms,所以延时后再扫描再判断。若某键闭合则相应单片机引脚输入低电平。if(x==0)continue;//如果无键按下则认为是按键抖动,重新扫描键盘。2.采用查询方式确定键位,根据键值转去执行该闭合键的功能方法:如果有键按下,则根据按键的不同执行相应的按键操作。键值处理程序为选择(分支)结构,使用了if-elseif-else语句。
键盘扫描程序分析键盘扫描程序分析开始左转信号读取键值是否有键按下?P1.0按下YYP1.4按下P1.2按下P1.6按下YYNNN右转信号刹车信号紧急信号NNYwhile(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);}elseif(K2==0) //K2键:右转
{P0=tab[1];delay(100);P0=0x00;delay(100);}elseif(K3==0) //K3键:刹车
{while(k3==0)P0=tab[2];P0=0x00;}elseif(K4==0) //K4键:紧急
{P0=tab[3];delay(100);P0=0x00;delay(100);
}elseP0=0x00;//正常}键盘扫描程序分析1.独立式按键采用每个按键单独占用一根I/O口线结构。当按下和释放按键时,输入到单片机I/O端口的电平是不一样的,因此可以根据不同端口电平的变化判断是否有按键按下以及是哪一个按键按下。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大。2.C51语言供给了4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文高一迎期末系列专栏001期-名篇名句默写(学生版)
- 感恩节活动方案(集锦15篇)
- 愚人节个人心得
- 宾馆年终工作总结(汇编15篇)
- 初级会计实务-《初级会计实务》模考试卷651
- 智研咨询发布:2024年中国高压电缆行业竞争格局及发展前景研究报告
- 2024年中国食品安全检测行业市场现状、前景分析研究报告(智研咨询发布)
- 基于眼动数据和视觉信息的自闭症筛查算法研究
- 基于车辆边缘计算的车-边协同跨区任务卸载与资源分配技术研究
- 二零二五年度家校共建教育创新实验区协议范本3篇
- 2024年公安机关理论考试题库附答案【考试直接用】
- 课题申报参考:共同富裕进程中基本生活保障的内涵及标准研究
- 2025中国联通北京市分公司春季校园招聘高频重点提升(共500题)附带答案详解
- 康复医学科患者隐私保护制度
- 红色中国风2025蛇年介绍
- 2024年安徽省高考地理试卷真题(含答案逐题解析)
- 高中学校开学典礼方案
- 产程中的人文关怀护理
- 2024年黑龙江农业职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 基于数据驱动的锂离子电池剩余使用寿命预测方法研究
- 《内脏疾病康复》课件
评论
0/150
提交评论