查看: 2853|回复: 0

数码管在pcduino上的小实验

[复制链接]

该用户从未签到

发表于 2013-12-25 11:46:33 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 cady 于 2013-12-25 13:19 编辑

我想大家应该都很了解数码管是什么?数码管也称LED数码管,按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮
大家了解到数码管后,我们一起来做一个小实验,数码管在pcDuino上实现一直跳动123456789的数字的实验
一、首先准备材料
1.一个面包板;
2.220欧的电阻8个(因为是8位数码管);
3.杜邦线若干;
4.8位数码管一个;
二、连线
1.将数码管和电阻插入面包板:根据数码管的8个引脚,将电阻也插入到面包板,(可能由于面包板位置太小不好放,你可以用杜邦线引出,根据面包板的原理插到面板上;

file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps_clip_image-5821.png
2.插到pcDuino上:根据数码管的原理图:

file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps_clip_image-31312.png
找到每个引脚对应的对应的ABCDEFGDP,再根据我们代码中对ABCDEFGDP的定义数字,插入到在pcDuino上对应的脚(ABCDEFGDP插入pcDuino左边的数字脚,继电器电源脚原理图中的COM那个脚插入pcDuino后边的3.3v的脚);


file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps_clip_image-31218.png

三、下载程序:
打开Arduino IDE,将相关程序下载上去
/*
程序说明:
数码管连续显示1~9
*/
//设置控制各段的数字IO
int a=9;
int b=8;
int c=6;
int d=5;
int e=4;
int f=10;
int g=11;
int dp=7;
//显示数字1
void digital_1()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,HIGH);
}
//显示数字2
void digital_2()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
//显示数字3
void digital_3()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
//显示数字4
void digital_4()
{
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
//显示数字5
void digital_5()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);

}
//显示数字6
void digital_6()
{
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
//显示数字7
void digital_7()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,HIGH);
}
//显示数字8
void digital_8()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
//显示数字9
void digital_9(void)
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
}
void setup()
{
int i;//定义发量
for(i=4;i<=11;i++)
{
  pinMode(i,OUTPUT);//设置411引脚为辒出模式
  digitalWrite(i,HIGH);
}
//digitalWrite(dp,LOW);

}
void loop()
{
/* while(1)
  {
    delay(2000);
  }*/
while(1)
{
digital_1();//数字1
delay(2000);//延时2s
digital_2(); //数字2
delay(2000); //延时2s
digital_3(); //数字3
delay(2000); //延时2s
digital_4(); //数字4
delay(2000); //延时2s
digital_5(); //数字5
delay(2000);//延时2s
digital_6(); //数字6
delay(2000); //延时2s
digital_7(); //数字7
delay(2000); //延时2s
digital_8(); //数字8
delay(2000);//延时2s
digital_9(); //数字9
delay(2000);//延时2s
}
}
四、完成:这时你就会看到继电器一直闪烁数字123456789,我们的小实验也完成了。


file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps_clip_image-4204.png
1.jpg
2.png
3.png
4.png
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /5 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-21 16:42 , Processed in 0.113255 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.