3.22个例程代码四位数码管_第1页
3.22个例程代码四位数码管_第2页
3.22个例程代码四位数码管_第3页
3.22个例程代码四位数码管_第4页
3.22个例程代码四位数码管_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例程 16这次进行的实验是使用 arduino 驱动一块共阳四位数码管。驱动数码管限流电阻肯定是必不可少的,限流电阻有两种接法,一种是在 d1-d4阳极接,总共接 4 颗。这种接法好处是需求电阻比较少,但是会产生每一位上显示不同数字亮度会不一样,1 最亮,8 最暗。另外一种接法就是在其他 8 个引脚上接,这种接法亮度显示均匀,但是用电阻较多。本次实验使用 8 颗 220 电阻(因为没有 100 电阻,所以使用 220 的代替,100 欧姆亮度会比较高)。4 位数码管总共有 12 个引脚,小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的 12 号管脚。下图为数码管的说

2、明手册下面是硬件连接图ARDUINO CODECOPY1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40./设置阴极接口a b c d e f g p=1;2;3;4;5;6;7;8;/设置阳极接口d4 d3 d2 d1=9;10;11;12;/设置变量long n = 0;x = 100;del = 55;/此处数值对时钟进行微调voidp p p p p p p p p p p psetup()ode(d1, ode(d2

3、, ode(d3, ode(d4,OUTPUT); OUTPUT); OUTPUT); OUTPUT);ode(a,ode(b,ode(c,ode(d,ode(e,ode(f,ode(g,ode(p,OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT);voidloop()clearLEDs(); pickDigit(1); pickNumber(n/x/1000)%10);41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.6

4、3.64.65.66.67.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

5、= 0;x) /定义 pickDigit(x),其作void pickDigit(用是开启 dx 端口68.69.70.71.72.73.74.75.76.77.78.79.80.81.digitalWrite(d1, digitalWrite(d2, digitalWrite(d3, digitalWrite(d4,LOW);LOW);LOW);LOW);switch(x)case 1:digitalWrite(d1, HIGH); break;case 2:digitalWrite(d2, HIGH); break;82.83.84.85.86.87.88.89.90.91.case 3:

6、digitalWrite(d3, HIGH); break;default: digitalWrite(d4, HIGH); break;void pickNumber(x)/定义 pickNumber(x),其作用是显示数字 x92.93.94.95.96.97.98.99.100.101.102.103.104.105.106.107.108.109.110.111.112.113.114.115.116.117.118.119.120.121.122.switch(x)default: zero(); break;case 1: one(); break;case 2: two(); b

7、reak;case 3: three(); break;case 4: four(); break;case 5: five(); break;case 6: six(); break;case 7: seven(); break;case 8: eight(); break;case 9:123.124.125.126.127.128.129.130.131.132.133.134.135.136.137.138.139.140.141.142.143.144.145.146.147.148.149.150.151.152.153.154.155.156.157.158.159.160.16

8、1.162.nine(); break;void dispDec(x)/设定开启小数点digitalWrite(p,LOW);/清屏void clearLEDs()digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g, digitalWrite(p,HIGH);HIGH);HIGH);HIGH);HIGH);HIGH);HIGH);HIGH);void zero()/定义数字 0 时阴极那些管脚开关digitalWrite(a,

9、 digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,LOW);LOW);LOW);LOW);LOW);LOW);HIGH);void one() /定义数字 1 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e,HIGH);LOW);LOW);HIGH);HIGH);163.164.165.166.167.168.169.170.1

10、71.172.173.174.175.176.177.178.179.180.181.182.183.184.185.186.187.188.189.190.191.192.193.194.195.196.197.198.199.200.201.202.digitalWrite(f, HIGH);digitalWrite(g, HIGH);void two()/定义数字 2 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digita

11、lWrite(g,LOW);LOW);HIGH);LOW);LOW);HIGH);LOW);void three() /定义数字 3 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,LOW);LOW);LOW);LOW);HIGH);HIGH);LOW);void four() /定义数字 4 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c,

12、 digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,HIGH);LOW);LOW);HIGH);HIGH);LOW);LOW);void five()/定义数字 5 时阴极那些管脚开关digitalWrite(a, LOW);203.204.205.206.207.208.209.210.211.212.213.214.215.216.217.218.219.220.221.222.223.224.225.226.227.228.229.230.231.232.233.234.235.236.237.238.239.2

13、40.241.242.243.digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,HIGH);LOW);LOW);HIGH);LOW);LOW);void six() /定义数字 6 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,LOW);HIGH);LOW);LOW

14、);LOW);LOW);LOW);void seven()/定义数字 7 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,LOW);LOW);LOW);HIGH);HIGH);HIGH);HIGH);void eight()/定义数字 8 时阴极那些管脚开关digitalWrite(a, digitalWrite(b, digitalWrite(c, digitalWrite(d, digitalWrite(e, digitalWrite(f, digitalWrite(g,LOW);LOW);LOW);LO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论