好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数码管实验论文29516.doc

12页
  • 卖家[上传人]:大米
  • 文档编号:430359851
  • 上传时间:2022-08-12
  • 文档格式:DOC
  • 文档大小:148.03KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第三节 数码管实验一、数码管介绍 1、认识数码管 数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示); 图 3.1 数码管实物图 按能显示多少个“8”可分为 1 位、2 位、4位等等数码管; 图 3.2 各种数码管 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管共阳数码管是指将所 有发光二极管的阳极接到一起形成公共阳极(COM)的数码管共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴低为低电平时,相应字段就点亮当某一字段的阴极为高电平时,相应字段就不亮 图3.3 共阳极数码管内部结构 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)癿数码管共阳数码管在应用时应将公共极 PWR 接到电源输入 PWR 上,当某一字段发光二极管的阴极极为低电平时,相应字段就点亮当某一字段的阴极为高电平时,相应字段就不亮 图3.4 共阴极数码管内部结构 2、工作原理 数码管的每一段是由发光二极管组成,所以在使用时跟发光二极管一样,也要连接限流电阻,否则电流过大会烧毁发光二极管的。

      本实验用的是共阳极的数码管,共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮当某一字段癿阴枀为高电平时,相应字段就不亮 3、数码管的连线 将限流电阻的一端插到数字 I/O中,另一端与数码管的字段引脚相连,剩下的六个字段和一个小数点依次按照这种方法接将公共极 COM 如果是共阳极的就接到+5V,如果是共阴极的就接到GND 二、数码管显示数字的实验 1、实验器件 n 数码管:1 个 n 220Ω的电阻:8 个 n 多彩面包板实验跳线:若干 2、实验连线 按照 Arduino 教程将控制板、Prototype shield 板子、面包板连接好,下载线插好按数码管的接法将数码管 g段通过限流电阻与数字的 9 引脚相连,如图 3.4 中的(a)图,f 段通过限流电阻与数字 8 引脚相连,共阳极与 5V 插口相连,同样的接法 a、b 分别接7、6 引脚,e、d分别接10、11 引脚,第二个共阳极可以不接,c、DP分别接5、4 引脚,连线完毕如下图: 图 3.5 数码管接线图 3、实验原理 数码管共有七段显示数字的段,还有一个显示小数点的段。

      当让数码管显示数字时, 只要将相应的段点亮即可例如:让数码管显示数字 1,则将b、c段点亮即可 将每个数字写成一个子程序在主程序中每隔 2s 显示一个数字,让数码管循环显示1~8 数字每一个数字显示的时间由延时时间来决定,时间设置的大些,显示的时间就长些,时间设置的小些,显示的时间就短 4、程序代码 程序代码在数码管显示数字程序文件夹中,双击打开后有一个 digital_tube1 文件夹,接着双击打开后可以看见有一个 digital_tube1.pde 文件,双击图标即可打开打开后我们可以看到这是 arduino 编程软件窗口,上面有本实验的程序代码 程序代码如下: //设置控制各段癿数字 IO脚 int a=7; int b=6; int c=5; int d=11; int e=10; int f=8; int g=9; int dp=4; //显示数字1 void digital_1(void) { unsigned char j; digitalWrite(c,LOW);//给数字5引脚低电平,点亮 c段 digitalWrite(b,LOW);//点亮 b段 for( j=7;j<=11;j++)//熄灭其余段 digitalWrite( j,HIGH); digitalWrite(dp,HIGH);//熄灭小数点DP 段 } //显示数字2 void digital_2(void) { unsigned char j; digitalWrite(b,LOW); digitalWrite(a,LOW); for( j=9;j<=11;j++) digitalWrite( j,LOW); digitalWrite(dp,HIGH); digitalWrite(c,HIGH); digitalWrite(f,HIGH); } //显示数字3 void digital_3(void) { unsigned char j; digitalWrite(g,LOW); digitalWrite(d,LOW); for( j=5;j<=7;j++) digitalWrite( j,LOW); digitalWrite(dp,HIGH); digitalWrite(f,HIGH); digitalWrite(e,HIGH); } //显示数字4 void digital_4(void) { digitalWrite(c,LOW); digitalWrite(b,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(dp,HIGH); digitalWrite(a,HIGH); digitalWrite(e,HIGH); digitalWrite(d,HIGH); } //显示数字5 void digital_5(void) { unsigned char j; for( j=7;j<=9;j++) digitalWrite( j,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(dp,HIGH); digitalWrite(b,HIGH); digitalWrite(e,HIGH); } //显示数字6 void digital_6(void) { unsigned char j; for( j=7;j<=11;j++) digitalWrite( j,LOW); digitalWrite(c,LOW); digitalWrite(dp,HIGH); digitalWrite(b,HIGH); } //显示数字7 void digital_7(void) { unsigned char j; for( j=5;j<=7;j++) digitalWrite( j,LOW); digitalWrite(dp,HIGH); for( j=8;j<=11;j++) digitalWrite( j,HIGH); } //显示数字8 void digital_8(void) { unsigned char j; for( j=5;j<=11;j++) digitalWrite( j,LOW); digitalWrite(dp,HIGH); } void setup() { int i;//定义发量 for(i=4;i<=11;i++) pinMode(i,OUTPUT);//设置4~11 引脚为输出模式 } void loop() { while(1) { digital_1();//数字1 delay(2000);//延时2s digital_2(); delay(2000); digital_3(); delay(2000); digital_4(); delay(2000); digital_5(); delay(2000); digital_6(); delay(2000); digital_7(); delay(2000); digital_8(); delay(2000); } } 在 setup()前面定义了一系列的数字显示子程序,这些子程序的定义可以方便在 loop()中使用,使用时只需将子程序的名写上即可。

      5、下载程序 按照arduino 教程中的程序下载方法将本程序下载到实验板中 实验一 为例6、程序功能 将程序下载到实验板后我们可以看到,数码管循环显示数字 1~8,每隔数字显示两秒钟 掌握本程序后,大家可以发挥自己的想象,做出各种数码管实验。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.