圣源电子制作
标题:
Ardunio 入门教程-实验十三 数码管测试
[打印本页]
作者:
sydz
时间:
2012-5-13 16:01
标题:
Ardunio 入门教程-实验十三 数码管测试
Ardunio 入门教程-实验十三 数码管测试
测试数码管1-8数字,自动翻页显示。
实验用到的元件
(, 下载次数: 92)
上传
点击文件名下载附件
实验用到的元件 ,1个数码管,8根杜邦线,1块实验板。
原理图
(, 下载次数: 90)
上传
点击文件名下载附件
(, 下载次数: 81)
上传
点击文件名下载附件
连接图
(, 下载次数: 95)
上传
点击文件名下载附件
蜂鸣器的正极连接 IO口9,蜂鸣器负极连接GND.
(, 下载次数: 90)
上传
点击文件名下载附件
实验演示视频:
http://player.youku.com/player.php/sid/XNDEyNjk3NzA4/v.swf
代码:
//设置控制各段的数字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);
}
}
复制代码
作者:
自由的鱼196868
时间:
2013-2-2 01:17
朋友,不是我说,这个实验的电路图错了,可是坑坏我了
。那个接线的时候,数码管的12脚应该是接vcc而不是gnd.
.花了好大的功夫才搞明白。
作者:
取啥名字呢?
时间:
2013-7-21 18:29
12口应该接5v或者是3.3v啊,不是接GND
欢迎光临 圣源电子制作 (https://bbs.syyyd.com/)
Powered by Discuz! X3.4