还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
教案课题课题7汽车数码管的控制编程(4课时)课一程单片机授课教师专业汽车课.型新授教案序号21,22授课时间第十一周教学方法讲授教学
1.掌握软件程序的含义
2.掌握实现目标功能的办法目标掌握实现目标功能的办法教学重点难点及解通过PPT以及视频演示的方法展示每条命令的具体含义,以及命令呈现的决办法效果作业抄写软件程序以及各个命令的含义布置教学生听课情况学学生掌握情后况记存在的问题审查签字年月日通过单片机控制数码管的工作布置作业画出数码管控制的硬件电路,抄写软件程序以及命令含义教学过程教师活动教学内容学生活动组织教学清点人数记录询问上节课掌握情回答上节课掌询问上节课掌握情况况握情况复习提问学生回答讲授本节内容在上个样例任务中,我们初步掌握了四位八段数码管的使用方法,能让四位八段数码管简单的显示指定的四位数,但是汽车转速表在显听讲示数字时不是这样简单的显示指定数字,而是显示传感器随机给的数字下面,我们将继续使用之前项目搭建的电路,但这里需要改变一下代码,来制作汽车数字转速表模型〃汽车数字转速表int n=4356;〃定义n为4356,更改四位数n的值就会在数码管上显示对应的四位数int廿2;〃定义时间1为2int a=2;〃定义数字接口2int b=3;〃定义数字接口3int c=4;〃定义数字接口4int d=5;〃定义数字接口5int e=6;〃定义数字接口6int f=7;〃定义数字接口7int g=8;〃定义数字接口8int dp=9;〃定义数字接口9int coml=10;〃定义数字接口10int com2=ll;〃定义数字接口11int com3=12;〃定义数字接口12int com4=13;〃定义数字接口13void xianshiint i;void setup{forint n=2;n=13;n++〃依次设置数字2口到数字13口为输出接口pinModen,OUTPUT;〃设置数字n口为输出接口}}void loop{digital Writecoml,HIGH;digitalWritecom2,LOW;digitalWritecom3,LOW;digitalWritecom4,LOW;〃给第一位数码管供电,让第一位数码管工作xianshi n/1000;//n整除1000得到千位余数省略,并进入调用函数xianshi,执行调用函数大括号里面的语句delay t;//延时tmsdigitalWritecoml,LOW;digitalWritecom2,HIGH;digitalWritecom3,LOW;digitalWritecom4,LOW;〃给第二位数码管供电,让第二位数码管工作xianshi n/100%10;//n整除100再取余10得到百位取余只留余数,并进入调用函数xianshi,执行调用函数大括号里面的语句delay t;〃延时tms digitalWritecoml,LOW;digitalWritecom2,LOW;digitalWritecom3,HIGH;digitalWritecom4,LOW;//给第三位数码管供电,让第三位数码管工作xianshi n/10%10;//n整除10再取余10得到十位,并进入调用函数xianshiO,执行调用函数大括号里面的语句delay t;〃延时tmsdigitalWritecoml,LOW;digitalWritecom2,LOW;digitalWritecom3,LOW;digitalWritecom4,HIGH;〃给第四位数码管供电,让第四位数码管工作xianshi n%10;//n取余10得到个位,并进入调用函数xianshi0,执行调用函数大括号里面的语句delay t;//延时tmsvoid xianshi int i〃中参数的调用函数switch i〃切换函数case0:〃情况0,执行代码块0〃数码管显示0digitalWritea,LOW;digitalWriteb,LOW;digitalWrite c,LOW;digitalWrited,LOW;digitalWritee,LOW;digitalWritef,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case1:〃情况1,执行代码块1〃数码管显示1digitalWritea,HIGH;digitalWriteb,LOW;digitalWritec,LOW;digitalWrited,HIGH;digitalWritee,HIGH;digitalWritef,HIGH;digitalWriteg,HIGH;digitalWriteh,HIGH;break;〃跳出switch切换函数case2:〃情况2,执行代码块2〃数码管显示2digitalWritea,LOW;digitalWriteb,LOW;digitalWritec,HIGH;digitalWrited,LOW;digitalWritee,LOW;digitalWritef,HIGH;digitalWriteg,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case3:〃情况3,执行代码块3〃数码管显示3digitalWritea,LOW;digitalWriteb,LOW;digitalWritec,LOW;digitalWrite d,LOW;digitalWritee,HIGH;digitalWritef,HIGH;digitalWriteg,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case4:〃情况4,执行代码块4〃数码管显示4digitalWritea,HIGH;digitalWriteb,LOW;digitalWrite c,LOW;digitalWrited,HIGH;digitalWritee,HIGH;digitalWritef,LOW;digitalWrite g,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case5:〃情况5,执行代码块5〃数码管显示5digitalWritea,LOW;digitalWriteb,HIGH;digitalWrite c,LOW;digitalWrited,LOW;digitalWritee,HIGH;digitalWritef,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case6:〃情况6,执行代码块6〃数码管显示6digitalWritea,LOW;digitalWriteb,HIGH;digitalWritec,LOW;digitalWrited,LOW;digitalWritee,LOW;digitalWritef,LOW;digitalWriteg,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case7:〃情况7,执行代码块7〃数码管显示7digitalWritea,LOW;digitalWriteb,LOW;digitalWritec,LOW;digitalWrited,HIGH;digitalWritee,HIGH;digitalWritef,HIGH;digitalWriteg,HIGH;digitalWriteh,HIGH;break;〃跳出switch切换函数case8:〃情况8,执行代码块8//数码管显示8digitalWritea,LOW;digitalWriteb,LOW;digitalWritec,LOW;digitalWrite d,LOW;digitalWritee,LOW;digitalWritef,LOW;digitalWriteg,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数case9:〃情况9,执行代码块9〃数码管显示9digitalWritea,LOW;digitalWriteb,LOW;digitalWrite c,LOW;digitalWrited,LOW;digitalWritee,HIGH;digitalWritef,LOW;digitalWriteg,LOW;digitalWriteh,HIGH;break;〃跳出switch切换函数}输入完毕后,点击IDE的“校验Verify,查看输入代码是否通过编译如果显示没有错误,单击“下载UpLoad”,给Arduino下载代码之后我们就可以看到四位八段数码管显示出4356四位数字当传感器采集不同的数值时,n的值随之变化,四位数码管的值也会随之变化
四、代码回顾程序代码中的xianshiinti函数是一个调用函数该函数单独写在了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大括号之后的第一个语句在switch语句中,每个case语句的结尾不要忘记添加break语句,否则将导致多个分支重叠当然,除非有意使多个分支重叠,这样可以免去break语句相对于if语句而言,switch语句可以更方便地应用于多个分支的控制流程但是switch语句只能够测试是否相等,因此,case语句后面只能是整型或字符型的常量或常量表达式;而在if语句中还能够测试关系与逻辑表达式总结本节课主要讲授:。
个人认证
优秀文档
获得点赞 0