数码之家

 找回密码
 立即注册
搜索
查看: 1558|回复: 2

[STM] 【零知ESP8266教程】快速入门13 - 1位数码管显示

[复制链接]
发表于 2019-10-25 16:32:48 | 显示全部楼层 |阅读模式

本次分享,我们在基础上逐渐要开始加大难度,因为新电子元素的加入,我们的项目会出现各种各样的控制该元器件的代码,因为这个案例接线调试对于入门的小白来说比较复杂,所以我在这里做一次详细的接线解释以及原理解释,对代码调试做一些详细解释。

本次试验的新元素——1位数码管
一、工具原料
电脑,windows系统
零知ESP8266开发板
micro-usb线
数码管1个(共阳)
220Ω 电阻8个
面包板一个+若干跳线

二、硬件连接
(共阳即正极接在电源,负极接在引脚,控制负极电频高低来控制显示)




我在图中标注了详细的接法(接法不唯一,根据你的代码来接)

a,b,c…dp对应设置了什么,就把a,b,c…dp接到对应的引脚。

三、方法步骤
1、打开零知实验室软件开发工具,如图所示:


2、然后新建项目,输入以下代码:

  1. /**
  2. *    文件: 数码管-1位.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
  3. *    -- 零知开源,让电子制作变得更简单! --
  4. *    时间: 2018/05/31 6:13
  5. *    说明: 测试1位数码管
  6. **/
  7.    
  8. //下面为定义a~h, dp的引脚
  9. int a = D5;//a段
  10. int b = D6;
  11. int c = D7;
  12. int d = D4;
  13. int e = D2;
  14. int f = D1;
  15. int g = D0;
  16. int dp = D8;
  17.    
  18. int pinArray[8] = {D5,D6,D7,D4,D2,D1,D0,D8};//数组,通过下标获取
  19.    
  20. //分别显示0-9
  21. void digital_show_0(void);
  22. void digital_show_1(void);
  23. void digital_show_2(void);
  24. void digital_show_3(void);
  25. void digital_show_4(void);
  26. void digital_show_5(void);
  27. void digital_show_6(void);
  28. void digital_show_7(void);
  29. void digital_show_8(void);
  30. void digital_show_9(void);
  31.    
  32. // the setup routine runs once when you press reset:
  33. void setup() {
  34.       
  35.    
  36.     // put your setup code here, to run once:
  37.         int i = 0;
  38.         for(i=0; i<=7; i++)
  39.         {
  40.                 pinMode( pinArray[i], OUTPUT);
  41.         }
  42.          
  43.            
  44.            
  45.            
  46. }
  47.    
  48. // the loop routine runs over and over again forever:
  49. void loop() {
  50.     // put your main code here, to run repeatedly:
  51.       
  52.         digital_show_0();
  53.       
  54.         delay(1000);
  55.       
  56.         digital_show_1();
  57.         delay(1000);
  58.       
  59.         digital_show_2();
  60.         delay(1000);
  61.         digital_show_3();
  62.         delay(1000);
  63.         digital_show_4();
  64.         delay(1000);
  65.         digital_show_5();
  66.         delay(1000);
  67.         digital_show_6();
  68.         delay(1000);
  69.         digital_show_7();
  70.         delay(1000);
  71.         digital_show_8();
  72.         delay(1000);
  73.         digital_show_9();
  74.         delay(1000);
  75. }
  76.    
  77. void digital_show_0(void) //显示数字0
  78. {
  79.      
  80.         digitalWrite(a,LOW);
  81.         digitalWrite(b,LOW);
  82.         digitalWrite(c,LOW);
  83.         digitalWrite(d,LOW);
  84.         digitalWrite(e,LOW);
  85.         digitalWrite(f,LOW);
  86.         digitalWrite(g,HIGH);
  87.         digitalWrite(dp,HIGH);
  88. }
  89.    
  90. void digital_show_1(void) //显示数字1
  91. {
  92.         digitalWrite(a,HIGH);
  93.         digitalWrite(b,LOW);
  94.         digitalWrite(c,LOW);
  95.         digitalWrite(d,HIGH);
  96.         digitalWrite(e,HIGH);
  97.         digitalWrite(f,HIGH);
  98.         digitalWrite(g,HIGH);
  99.         digitalWrite(dp,HIGH);
  100. }
  101.    
  102. void digital_show_2(void) //显示数字2
  103. {        
  104.         digitalWrite(a,LOW);
  105.         digitalWrite(b,LOW);
  106.         digitalWrite(c,HIGH);
  107.         digitalWrite(d,LOW);
  108.         digitalWrite(e,LOW);
  109.         digitalWrite(f,HIGH);
  110.         digitalWrite(g,LOW);
  111.         digitalWrite(dp,HIGH);
  112. }
  113.    
  114. void digital_show_3(void) //显示数字3
  115. {        
  116.         digitalWrite(a,LOW);
  117.         digitalWrite(b,LOW);
  118.         digitalWrite(c,LOW);
  119.         digitalWrite(d,LOW);
  120.         digitalWrite(e,HIGH);
  121.         digitalWrite(f,HIGH);
  122.         digitalWrite(g,LOW);
  123.         digitalWrite(dp,HIGH);
  124. }
  125.    
  126. void digital_show_4(void) //显示数字4
  127. {
  128.         digitalWrite(c,LOW);
  129.         digitalWrite(b,LOW);
  130.         digitalWrite(f,LOW);
  131.         digitalWrite(g,LOW);
  132.         digitalWrite(dp,HIGH);
  133.         digitalWrite(a,HIGH);
  134.         digitalWrite(e,HIGH);
  135.         digitalWrite(d,HIGH);
  136. }
  137. void digital_show_5(void) //显示数字5
  138. {
  139.         digitalWrite(a,LOW);
  140.         digitalWrite(b, HIGH);
  141.         digitalWrite(c,LOW);
  142.         digitalWrite(d,LOW);
  143.         digitalWrite(e, HIGH);
  144.         digitalWrite(f,LOW);
  145.         digitalWrite(g,LOW);
  146.         digitalWrite(dp,HIGH);
  147. }
  148. void digital_show_6(void) //显示数字6
  149. {        
  150.         digitalWrite(a,LOW);
  151.         digitalWrite(b,HIGH);
  152.         digitalWrite(c,LOW);
  153.         digitalWrite(d,LOW);
  154.         digitalWrite(e,LOW);
  155.         digitalWrite(f,LOW);
  156.         digitalWrite(g,LOW);
  157.         digitalWrite(dp,HIGH);
  158. }
  159. void digital_show_7(void) //显示数字7
  160. {        
  161.         digitalWrite(a,LOW);
  162.         digitalWrite(b,LOW);
  163.         digitalWrite(c,LOW);
  164.         digitalWrite(d,HIGH);
  165.         digitalWrite(e,HIGH);
  166.         digitalWrite(f,HIGH);
  167.         digitalWrite(g,HIGH);
  168.         digitalWrite(dp,HIGH);
  169. }
  170. void digital_show_8(void) //显示数字8
  171. {        
  172.         digitalWrite(a,LOW);
  173.         digitalWrite(b,LOW);
  174.         digitalWrite(c,LOW);
  175.         digitalWrite(d,LOW);
  176.         digitalWrite(e,LOW);
  177.         digitalWrite(f,LOW);
  178.         digitalWrite(g,LOW);
  179.         digitalWrite(dp,HIGH);
  180. }
  181. void digital_show_9(void) //显示数字9
  182. {
  183.         digitalWrite(a,LOW);
  184.         digitalWrite(b,LOW);
  185.         digitalWrite(c,LOW);
  186.         digitalWrite(d,LOW);
  187.         digitalWrite(e, HIGH);
  188.         digitalWrite(f,LOW);
  189.         digitalWrite(g,LOW);
  190.         digitalWrite(dp,HIGH);
  191. }
复制代码

2、按照之前的方式先【验证】,然后【上传】到开发板中。
四、成果展示
上面步骤成功完成后,我们就可以看到预期的结果了,如下:
效果视频:点我传送啦


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +8 收起 理由
xiaoqi233 + 8

查看全部打赏

发表于 2019-10-25 18:17:40 来自手机浏览器 | 显示全部楼层
我抄,这烂的代码也做教程,用断码驱动的方式多好啊,什么符号数字随便显示,简洁明了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-29 17:44:56 | 显示全部楼层
mckk520 发表于 2019-10-25 18:17
我抄,这烂的代码也做教程,用断码驱动的方式多好啊,什么符号数字随便显示,简洁明了 ...

这就不对啦,我可是小白啊,从零开始,才有收获的,你可是高手,有基础的,我可不敢说我的有多好,我只想让和我一样的小白,踏踏实实的前进。怎能还没走,就想跑呢?说不定你有更简洁的代码,教我!c~c
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-13 01:24 , Processed in 0.358801 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表