- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例程16-四位数码管讲述
第16讲 四位数码管 这次我们进行的实验是使用arduino驱动一块共阴四位数码管。实验的目的是:第一位显示1,第二位显示2,第三位显示3,第四位显示4,每次只显示一位,显示间隔0.5秒。 我们开始准备实验用元器件: 四位数码管*1 220Ω直插电阻*8 面包板*1 面包板跳线*1 扎 管脚顺序: 4位数码管总共有12个引脚,从正面看小数点朝下正放在面前时,左下角为1,其他管脚顺序为逆时针旋转。左上角为最大的12号管脚。 按照下图链接好电路后,就可以开始编写程序了。 参考例程 #define SEG_A 2 //Arduino Pin2---SegLed Pin11 #define SEG_B 3 //Arduino Pin3---SegLed Pin7 #define SEG_C 4 //Arduino Pin4---SegLed Pin4 #define SEG_D 5 //Arduino Pin5---SegLed Pin2 #define SEG_E 6 //Arduino Pin6---SegLed Pin1 #define SEG_F 7 //Arduino Pin7---SegLed Pin10 #define SEG_G 8 //Arduino Pin8---SegLed Pin5 #define SEG_H 9 //Arduino Pin9---SegLed Pin3 #define COM1 10 //Arduino Pin10---SegLed Pin12 #define COM2 11 //Arduino Pin11---SegLed Pin9 #define COM3 12 //Arduino Pin12---SegLed Pin8 #define COM4 13 //Arduino Pin13---SegLed Pin6 unsigned char table[10][8] = { {0, 0, 1, 1, 1, 1, 1, 1}, //0 {0, 0, 0, 0, 0, 1, 1, 0}, //1 {0, 1, 0, 1, 1, 0, 1, 1}, //2 {0, 1, 0, 0, 1, 1, 1, 1}, //3 {0, 1, 1, 0, 0, 1, 1, 0}, //4 {0, 1, 1, 0, 1, 1, 0, 1}, //5 {0, 1, 1, 1, 1, 1, 0, 1}, //6 {0, 0, 0, 0, 0, 1, 1, 1}, //7 {0, 1, 1, 1, 1, 1, 1, 1}, //8 {0, 1, 1, 0, 1, 1, 1, 1} //9 }; void setup() { pinMode(SEG_A,OUTPUT); //设置为输出引脚 pinMode(SEG_B,OUTPUT); pinMode(SEG_C,OUTPUT); pinMode(SEG_D,OUTPUT); pinMode(SEG_E,OUTPUT); pinMode(SEG_F,OUTPUT); pinMode(SEG_G,OUTPUT); pinMode(SEG_H,OUTPUT); pinMode(COM1,OUTPUT); pinMode(COM2,OUTPUT); pinMode(COM3,OUTPUT); pinMode(COM4,OUTPUT); } void loop() { Display(1,1); //第1位显示1 delay(500); Display(2,2); //第2位显示2 delay(500); Display(3,3); //第3位显示3 delay(500); Display(4,4); //第4位显示4 delay(500); } void Display(unsigned char com,unsigned char num) { digitalWrite(SEG_A,LOW); //去除余晖 digitalWrite(SEG_B,LOW); digitalWrite(SEG_C,LOW); digitalWrite(SEG_D,LOW); digitalWrite(SEG_E,LOW); digitalWrite(SEG_F,LOW); digitalWrite(SEG_G,LOW); digitalWrite(SEG_H,LOW); switch(com) //选通位选 { case 1: digitalWrite(COM1,LOW); //选择位1 d
文档评论(0)