单片机教案20 课题7 汽车数码管的控制编程_第1页
单片机教案20 课题7 汽车数码管的控制编程_第2页
单片机教案20 课题7 汽车数码管的控制编程_第3页
单片机教案20 课题7 汽车数码管的控制编程_第4页
单片机教案20 课题7 汽车数码管的控制编程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教案课题课题7汽车数码管的控制编程课程单片机授课教师专业汽车课型新授教案序号20授课时间第十周教学方法讲授教学目标1.掌握软件程序的含义2.掌握实现目标功能的办法教学重点难点及解决办法掌握实现目标功能的办法通过PPT以及视频演示的方法展示每条命令的具体含义,以及命令呈现的效果。作业布置抄写软件程序以及各个命令的含义教学后记学生听课情况学生掌握情况存在的问题审查签字年月日教学过程教师活动教学内容学生活动组织教学询问上节课掌握情况复习提问讲授本节内容总结布置作业清点人数记录询问上节课掌握情况汽车转速是汽车发动机的参数之一,跟汽车的速度是一样的。而汽车转速表和汽车速度表就成为了汽车仪表盘中最重要的两个仪表。汽车转速表分为指针式的和数字式的。而本次的主要任务就是利用四位八段数码管编程模拟汽车数字式转速表。但是在这之前,我们先来完成一个简单的的任务:让四位数码管显示指定四位数。一、实验用器件ArduinoUNO板及配套USB数据线:1套四位八段数码管:1个220欧的电阻:8个面包板:1个跳线:若干二、硬件连接由于硬件接线比较复杂,取出本实验用到的所有元件后,按照上图在老师指导下分步连接。完成连接后,给Arduino接上USB数据线,供电,准备下载程序。三、输入代码打开ArduinoIDE,在编辑框中输入下面的样例代码。//四位八段数码管显示确定的数字1234intt=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;//定义数字接口13voidsetup(){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);//让第一位数码管显示1digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,HIGH);digitalWrite(dp,HIGH);delay(t);//给第二位数码管供电,让第二位数码工作digitalWrite(com1,LOW);digitalWrite(com2,HIGH);digitalWrite(com3,LOW);digitalWrite(com4,LOW);//让第二位数码管显示2digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,HIGH);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(dp,HIGH);delay(t);//给第三位数码管供电,让第三位数码工作digitalWrite(com1,LOW);digitalWrite(com2,LOW);digitalWrite(com3,HIGH);digitalWrite(com4,LOW);//让第三位数码管显示3digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,HIGH);digitalWrite(f,HIGH);digitalWrite(g,LOW);digitalWrite(dp,HIGH);delay(t);//给第四位数码管供电,让第四位数码工作digitalWrite(com1,LOW);digitalWrite(com2,LOW);digitalWrite(com3,LOW);digitalWrite(com4,HIGH);//让第四位数码管显示4digitalWrite(a,HIGH);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,HIGH);digitalWrite(e,HIGH);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(dp,HIGH);delay(t);}输入完毕后,点击IDE的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给Arduino下载代码。之后我们就可以看到四位八段数码管同时显示出1234四位数字。四、硬件学习1.四位八段数码管在上一个学习任务中,我们学习了一位八段数码管的原理以及结构,而本任务中用到的四位八段数码管与一位八段数码管原理是类似的,下面我们来看看二者差异的部分,首先来看一下四位八段数码管的内部原理结构图:从上图中我们可以看到,四位八段数码管是将所有数码管的8个显示笔划"A,B,C,D,E,F,G,D,P"的同名端连在一起,另外又为每一个数码管分别增加了位选通控制引脚,即com1、com2、com3、com4。位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。同时分时轮流的控制各个数码管的的com端,就使得各个数码管轮流受控显示。而在轮流显示的过程中,每位数码管设置的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,因此我们可以看到数码管稳定的显示1234四位数字。而本实验中用到的数码管为共阳极数码管。也即当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。跟上一个实验中的控制方式正好相反。下图为四位八段数码管的外部引脚分布图,每位数码管对应的LED控制区域A-DP与一位八段数码管的分布是一样的(DP即为h),而下图的1-12引脚号与上图四位八段数码管的内部原理结构图的1-12引脚号是一一对应的。连接硬件前对照着下图与四位八

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论