zoukankan      html  css  js  c++  java
  • 【STM32 .Net MF开发板学习25】LED数码管显示

     在单片机系统中,LED数码管的应用是很常见的,不过对我们偏软件开发的人来说,要想研究LED还得储备一定的知识才能进行近一步的工作。不过采用.NET Micro Framework系统,我们马上就可以站在软件人员的角度来研究LED数码管显示0~F数字的原理了。

        为了便于演示,我们选用的是一款共阴的单个LED显示数码管,其阴极接GND之前需要串联一个330欧的电阻,其管脚定义如下:

       

       注:左上角pin脚为1脚。

       LED数码管和开发板的接线表如下:  

    序号

    LED管脚

    开发板

    备注

    1

    A10

    PC0

    2

    B9

    PC1

    3

    C8

    PC2

    4

    D5

    PC3

    5

    E4

    PC4

    6

    F2

    PC5

    7

    G3

    PC6

    8

    DP7

    PC7

    小数点

    9

    16

    GND

    中间接330欧电阻

        最终器件的接线效果图如下:

       

        为了便于显示数字012…AB…F,我们进行了如下编码:

         //0 1 2 3 4 5 6 7 8 9 A B C D E F

         byte[] DigitalFlag = new byte[] { 0xBF, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71 };

         类似字符库中的编码,通过这个编码我们就可以比较容易的显示对应的数字了,相关代码如下:

        public void Display(int hex, bool decimalpoint)

        {

            if (hex < 0 || hex > 15) return;

            for (int i = 0; i < 7; i++)

            {

                LED_Data[i].Write((DigitalFlag[hex] >> i & 0x1) > 0);

            }

            LED_Data[7].Write(decimalpoint);

        }

       hex的取值就是0~15decimalpoint表示是否显示小数点。这些代码编写好后,主程序就非常简单了,相关代码如下:

       public static void Main()

        {

            int i = 0;

            while (true)

            {

                if (i > 15) i = 0;

                led.Display(i++, false);

                Thread.Sleep(1000);

            }

        }

     演示视频网址:http://video.sina.com.cn/v/b/44112962-1804832611.html

     

    1)、.NET Micro Framework开发板

     http://item.taobao.com/item.htm?id=7117999726

    2)、LED显示相关套件

    http://item.taobao.com/item.htm?id=8836634908

     

     本文源码:http://www.sky-walker.com.cn/yefan/MFV40/SourceCode/LEDDisplayTest.rar

    MF快速参考: .NET Micro Framework 快速入门

    MF中文讨论组:http://space.cnblogs.com/group/MFSoft/

    【低价开发板】http://item.taobao.com/item.htm?id=7117999726

    参加了博客大赛,请大家投上一票!您的支持,将是我最大的动力,谢谢!http://2010blog.51cto.com/1635641

     

  • 相关阅读:
    BZOJ 1631 Cow Party
    BZOJ 1927 星际竞速
    BZOJ 4059 Non-boring sequences
    BZOJ 1562 变换序列
    BZOJ 4417 超级跳马
    484586
    背板问题之满包问题
    对01背包路径的记录
    带权值的图 BFS
    漫步校园 杭电1428
  • 原文地址:https://www.cnblogs.com/yefanqiu/p/1914285.html
Copyright © 2011-2022 走看看