登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:【STM32 .Net MF开发板学习-25】LED数码管显示

点击:535 回复:0

  在单片机系统中,led数码管的应用是很常见的,不过对我们偏软件开发的人来说,要想研究led还得储备一定的知识才能进行近一步的工作。不过采用.net micro framework系统,我们马上就可以站在软件人员的角度来研究led数码管显示0~f数字的原理了。
   为了便于演示,我们选用的是一款共阴的单个led显示数码管,其阴极接gnd之前需要串联一个330欧的电阻,其管脚定义如下:
   
  注:左上角pin脚为1脚。
  led数码管和开发板的接线表如下:  
序号
led管脚
开发板
备注
1
a(10)
pc0

2
b(9)
pc1

3
c(8)
pc2

4
d(5)
pc3

5
e(4)
pc4

6
f(2)
pc5

7
g(3)
pc6

8
dp(7)
pc7
小数点
9
1或6
gnd
中间接330欧电阻
   最终器件的接线效果图如下:
   
   为了便于显示数字0、1、2…a、b…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  15) return;
       for (int i = 0; i
       {
           led_data[i].write((digitalflag[hex] >> i & 0x1) > 0);
       }
       led_data[7].write(decimalpoint);
   }
  hex的取值就是0~15,decimalpoint表示是否显示小数点。这些代码编写好后,主程序就非常简单了,相关代码如下:
  public static void main()
   {
       int i = 0;
       while (true)
       {
           if (i > 15) i = 0;
           led.display(i++, false);
           thread.sleep(1000);
       }
   }
演示视频网址:
[URL=http://video.sina.com.cn/v/b/44112962-1804832611.html]
http://video.sina.com.cn/v/b/44112962-1804832611.html
[/URL]

(1)、.net micro framework开发板

[URL=http://item.taobao.com/item.htm?id=7117999726]
http://item.taobao.com/item.htm?id=7117999726
[/URL]
(2)、led显示相关套件
[URL=http://item.taobao.com/item.htm?id=8836634908]
http://item.taobao.com/item.htm?id=8836634908
[/URL]

本文源码:
[URL=http://www.sky-walker.com.cn/yefan/mfv40/sourcecode/leddisplaytest.rar]
http://www.sky-walker.com.cn/yefan/mfv40/sourcecode/leddisplaytest.rar
[/URL]
mf快速参考:
.net micro framework 快速入门
mf中文讨论组:
[URL=http://space.cnblogs.com/group/mfsoft/]
http://space.cnblogs.com/group/mfsoft/
[/URL]
【低价开发板】
[URL=http://item.taobao.com/item.htm?id=7117999726]
http://item.taobao.com/item.htm?id=7117999726
[/URL]
参加了博客大赛,请大家投上一票!您的支持,将是我最大的动力,谢谢!
http://2010blog.51cto.com/1635641

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=131325&Name=yefanqiu
10-12-22 23:57

工控新闻

更多新闻资讯