Arduino 入门到精通 例程16一四位数码管.doc

Arduino 入门到精通 例程16一四位数码管.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档