版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教案课题课题7汽车数码管的控制编程(4课时)课程单片机授课教师专业汽车课型新授教案序号21,22授课时间第十一周教学方法讲授教学目标1.掌握软件程序的含义2.掌握实现目标功能的办法教学重点难点及解决办法掌握实现目标功能的办法通过PPT以及视频演示的方法展示每条命令的具体含义,以及命令呈现的效果。作业布置抄写软件程序以及各个命令的含义教学后记学生听课情况学生掌握情况存在的问题审查签字年月日教学过程教师活动教学内容学生活动组织教学询问上节课掌握情况复习提问讲授本节内容总结布置作业清点人数记录询问上节课掌握情况在上个样例任务中,我们初步掌握了四位八段数码管的使用方法,能让四位八段数码管简单的显示指定的四位数,但是汽车转速表在显示数字时不是这样简单的显示指定数字,而是显示传感器随机给的数字。下面,我们将继续使用之前项目搭建的电路,但这里需要改变一下代码,来制作汽车数字转速表模型。//汽车数字转速表intn=4356;//定义n为4356,更改四位数n的值就会在数码管上显示对应的四位数intt=2;//定义时间t为2inta=2;//定义数字接口2intb=3;//定义数字接口3intc=4;//定义数字接口4intd=5;//定义数字接口5inte=6;//定义数字接口6intf=7;//定义数字接口7intg=8;//定义数字接口8intdp=9;//定义数字接口9intcom1=10;//定义数字接口10intcom2=11;//定义数字接口11intcom3=12;//定义数字接口12intcom4=13;//定义数字接口13voidxianshi(inti);voidsetup(){for(intn=2;n<=13;n++)//依次设置数字2口到数字13口为输出接口{pinMode(n,OUTPUT);//设置数字n口为输出接口}}voidloop(){digitalWrite(com1,HIGH);digitalWrite(com2,LOW);digitalWrite(com3,LOW);digitalWrite(com4,LOW);//给第一位数码管供电,让第一位数码管工作xianshi(n/1000);//n整除1000得到千位(余数省略),并进入调用函数xianshi(),执行调用函数大括号里面的语句delay(t);//延时tmsdigitalWrite(com1,LOW);digitalWrite(com2,HIGH);digitalWrite(com3,LOW);digitalWrite(com4,LOW);//给第二位数码管供电,让第二位数码管工作xianshi(n/100%10);//n整除100再取余10得到百位(取余只留余数),并进入调用函数xianshi(),执行调用函数大括号里面的语句delay(t);//延时tmsdigitalWrite(com1,LOW);digitalWrite(com2,LOW);digitalWrite(com3,HIGH);digitalWrite(com4,LOW);//给第三位数码管供电,让第三位数码管工作xianshi(n/10%10);//n整除10再取余10得到十位,并进入调用函数xianshi(),执行调用函数大括号里面的语句delay(t);//延时tmsdigitalWrite(com1,LOW);digitalWrite(com2,LOW);digitalWrite(com3,LOW);digitalWrite(com4,HIGH);//给第四位数码管供电,让第四位数码管工作xianshi(n%10);//n取余10得到个位,并进入调用函数xianshi(),执行调用函数大括号里面的语句delay(t);//延时tms}voidxianshi(inti)//带参数的调用函数{switch(i)//切换函数{case0://情况0,执行代码块0//数码管显示0digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,HIGH);digitalWrite(h,HIGH);break;//跳出switch切换函数case1://情况1,执行代码块1//数码管显示1digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(h,HIGH);break;//跳出switch切换函数case2://情况2,执行代码块2//数码管显示2digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,HIGH);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case3://情况3,执行代码块3//数码管显示3digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case4://情况4,执行代码块4//数码管显示4digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case5://情况5,执行代码块5//数码管显示5digitalWrite(a,LOW);digitalWrite(b,HIGH);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case6://情况6,执行代码块6//数码管显示6digitalWrite(a,LOW);digitalWrite(b,HIGH);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case7://情况7,执行代码块7//数码管显示7digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(h,HIGH);break;//跳出switch切换函数case8://情况8,执行代码块8//数码管显示8digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数case9://情况9,执行代码块9//数码管显示9digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(h,HIGH);break;//跳出switch切换函数}}输入完毕后,点击IDE的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给Arduino下载代码。之后我们就可以看到四位八段数码管显示出4356四位数字。当传感器采集不同的数值时,n的值随之变化,四位数码管的值也会随之变化。四、代码回顾程序代码中的xianshi(inti)函数是一个调用函数。该函数单独写在了loop()函数之外。在需要使用该函数时,只需要直接写出函数名就可以实现调用了。该函数是void型,所以是无返回值、无传递参数的函数。当函数被调用时,程序也就自动跳到它的函数中运行。运行完之后,再跳回主函数。需要特别注意的:函数调用时,函数名后面的括号不能省,要和所写的函数保持一致。在调用函数xianshi(inti)中,还涉及一个新的函数,即switch函数,他的一般表达式如下:switch(表达式){case值1:语句1break;case值2:语句2break;...default:语句nbreak;}如果该函数表达式的值等于某个case语句后的值,那么就从该case语句开始执行,直到遇到一个break为止,switch语句才会结束,程序将跳出switch语句,执行switch大括号之后的第一个语句,并忽略其他case。假如任何一个case语句的值都不等于表达式的值,就运行default之下的语句。假如表达式的值和任何一个case标签都不匹配,同时没有发现一个default标签(default可以省略),程序将跳过整个switch语句,执行switch大括号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度防水补漏工程审计合同2篇
- 2024年典当行业标准化借款合同范本版B版
- 二零二四年度体育运动场馆建设与运营合同2篇
- 2024年度园林景观雕塑制作与安装合同
- 2024年度企业重组顾问合同标的与重组方案
- 2024公立医院药品集中采购合同
- 2024年个人车辆租赁详细合同范本版B版
- 2024动画广告制作合同协议书范本
- 2024年商标使用权规范合作合同版
- 2024年度企业知识产权贯标辅导服务合同3篇
- 事业单位工作人员绩效考核办法
- 国有企业采购管理规范 T/CFLP 0027-2020
- 2023年贵州省12月普通高中学业水平考试数学试卷
- 网课智慧树知道《生理学(宁波大学)》章节测试答案
- GB/T 44066-2024自动气象站
- 互联网与营销创新智慧树知到期末考试答案章节答案2024年华东师范大学
- 浙江省【小升初】2023年小升初数学试卷及答案【各地真题】
- GB/T 17215.301-2024电测量设备(交流)特殊要求第1部分:多功能电能表
- 某超市员工绩效考核方案
- 【课件】丹纳赫DBS-问题解决培训
- 19物质结构式元素推断解题模型(原卷版+解析)
评论
0/150
提交评论