资源描述:
《15四位数码管》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用arduino驱动一块共阴四位数码管,来完成间接显示数字的实验,采用八个电阻连接a-h引脚上,把线路导通,程序控制数码管的显示。实验元器件四位共阴数码管1个、220Ω电阻8个、跳线若干、面包板、Arduino控制板4位数码管总共有12个引脚,小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的12号管脚。下图是四位数码管的引脚图:、了解了数码管的引脚图,下面我们来开始接线了。原理图根据原理图我们可以看出数码管的四个共阴极d1.d2.d3.d4.都分别接上了输入端12、11、10、9,另外
2、八个引脚都接上电阻与相对应的接口相连。找到对应的接口实物图连接就简单多了。实物接线实物连接之前需要找到数码管的每个引脚所对应的字母是什么,方便线路连接,最好是在参考程序的同时连线,以免连错。总结与思考这个实验的关键点还是在于线路的连接是否正确,以及程序代码的编写,第一次接线的时候由于没有弄清a-h对应的数码管引脚位置,导致线路出错,程序写入的时候数码管没反应。检查程序代码有无错误,认真改写。程序代码//璁剧疆闃存瀬鎺ュ彛inta=1;intb=2;intc=3;intd=4;inte=5;intf=6;intg=
3、7;intp=8;//璁剧疆闃虫瀬鎺ュ彛intd4=9;intd3=10;intd2=11;intd1=12;//璁剧疆鍙橀噺longn=0;intx=100;intdel=55;//姝ゅ鏁板€煎鏃堕挓杩涜寰皟voidsetup(){pinMode(d1,OUTPUT);pinMode(d2,OUTPUT);pinMode(d3,OUTPUT);pinMode(d4,OUTPUT);pinMode(a,OUTPUT);pinMode(b,OUTPUT);pinMode(c,OUTPUT);pinMode(
4、d,OUTPUT);pinMode(e,OUTPUT);pinMode(f,OUTPUT);pinMode(g,OUTPUT);pinMode(p,OUTPUT);}voidloop(){clearLEDs();pickDigit(1);pickNumber((n/x/1000)%10);delayMicroseconds(del);clearLEDs();pickDigit(2);pickNumber((n/x/100)%10);delayMicroseconds(del);clearLEDs();pickDi
5、git(3);dispDec(3);pickNumber((n/x/10)%10);delayMicroseconds(del);clearLEDs();pickDigit(4);pickNumber(n/x%10);delayMicroseconds(del);n++;if(digitalRead(13)==LOW){n=0;}}voidpickDigit(intx)//瀹氫箟pickDigit(x),鍏朵綔鐢ㄦ槸寮€鍚痙x绔彛{digitalWrite(d1,HIGH);digitalWrite(d2,HI
6、GH);digitalWrite(d3,HIGH);digitalWrite(d4,HIGH);switch(x){case1:digitalWrite(d1,LOW);break;case2:digitalWrite(d2,LOW);break;case3:digitalWrite(d3,LOW);break;default:digitalWrite(d4,LOW);break;}}voidpickNumber(intx)//瀹氫箟pickNumber(x),鍏朵綔鐢ㄦ槸鏄剧ず鏁板瓧x{switch(x){de
7、fault:zero();break;case1:one();break;case2:two();break;case3:three();break;case4:four();break;case5:five();break;case6:six();break;case7:seven();break;case8:eight();break;case9:nine();break;}}voiddispDec(intx)//璁惧畾寮€鍚皬鏁扮偣{digitalWrite(p,HIGH);}voidclearLEDs(
8、)//娓呭睆{digitalWrite(a,LOW);digitalWrite(b,LOW);digitalWrite(c,LOW);digitalWrite(d,LOW);digitalWrite(e,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(p,LOW);}voidzero()//瀹氫箟鏁板瓧0