- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Arduino 入门到精通 例程16一四位数码管
Arduino 入门到精通 例程16
这次我们进行的实验是使用arduino驱动一块共阳四位数码管。驱动数码管限流电阻肯定是必不可少的,限流电阻有两种接法,一种是在d1-d4阳极接,总共接4颗。这种接法好处是需求电阻比较少,但是会产生每一位上显示不同数字亮度会不一样,1最亮,8最暗。另外一种接法就是在其他8个引脚上接,这种接法亮度显示均匀,但是用电阻较多。本次实验使用8颗220Ω电阻(因为没有100Ω电阻,所以使用220Ω的代替,100欧姆亮度会比较高)。
4位数码管总共有12个引脚,小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的12号管脚。
下图为数码管的说明手册
下面是硬件连接图
ARDUINO CODECOPY
//设置阴极接口
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int p = 8;
//设置阳极接口
int d4 = 9;
int d3 = 10;
int d2 = 11;
int d1 = 12;
//设置变量
long n = 0;
int x = 100;
int del = 55;??//此处数值对时钟进行微调
?
void setup()
{
??pinMode(d1, OUTPUT);
??pinMode(d2, OUTPUT);
??pinMode(d3, OUTPUT);
??pinMode(d4, OUTPUT);
??pinMode(a, OUTPUT);
??pinMode(b, OUTPUT);
??pinMode(c, OUTPUT);
??pinMode(d, OUTPUT);
??pinMode(e, OUTPUT);
??pinMode(f, OUTPUT);
??pinMode(g, OUTPUT);
??pinMode(p, OUTPUT);
}
?
void loop()
{
??clearLEDs();
??pickDigit(1);
??pickNumber((n/x/1000)%10);
??delayMicroseconds(del);
?
??clearLEDs();
??pickDigit(2);
??pickNumber((n/x/100)%10);
??delayMicroseconds(del);
?
??clearLEDs();
??pickDigit(3);
??dispDec(3);
??pickNumber((n/x/10)%10);
??delayMicroseconds(del);
?
??clearLEDs();
??pickDigit(4);
??pickNumber(n/x%10);
??delayMicroseconds(del);
?
??n++;
?
??if (digitalRead(13) == HIGH)
??{
? ? n = 0;
??}
}
?
void pickDigit(int x)??//定义pickDigit(x),其作用是开启dx端口
{
??digitalWrite(d1, LOW);
??digitalWrite(d2, LOW);
??digitalWrite(d3, LOW);
??digitalWrite(d4, LOW);
?
??switch(x)
??{
??case 1:
? ? digitalWrite(d1, HIGH);
? ? break;
??case 2:
? ? digitalWrite(d2, HIGH);
? ? break;
??case 3:
? ? digitalWrite(d3, HIGH);
? ? break;
??default:
? ? digitalWrite(d4, HIGH);
? ? break;
??}
}
?
void pickNumber(int x)? ?//定义pickNumber(x),其作用是显示数字x
{
??switch(x)
??{
??default:
? ? zero();
? ? break;
??case 1:
? ? one();
? ? break;
??case 2:
? ? two();
? ? break;
??case 3:
? ? three();
? ? break;
??case 4:
? ? four();
? ? break;
??case 5:
? ? five();
? ? break;
??case 6:
? ? six();
? ? break;
??case 7:
? ? seven();
? ? bre
您可能关注的文档
最近下载
- Q SCQ 005-2017_饲料级L-赖氨酸硫酸盐.pdf
- 初中物理学法指导.pptx VIP
- 2024年装饰装修施工员专业知识考试题库(浓缩500题).docx
- 大学生职业规划大赛《会计学专业》生涯发展展示PPT.pptx
- 物理学法指导.ppt VIP
- 公需课答案执行力与创新服务力题库.pdf
- 部编版四年级上册《麻雀》说课课件.pptx VIP
- 人教版(2019)选择性必修 第一册Unit 1 People of Achievement 单元集体备课教案.docx
- 湖南省长沙市天心区2024-2025学年九年级上学期开学考试语文试卷.docx VIP
- Q320582 ZD028-2020预应力混凝土实心方桩(螺锁式连接、焊接连接).docx
文档评论(0)