2回答

0收藏

[原创] 【Energia开发环境】MSP430 LAUNCHPAD学习笔记3--Lab3 数码管的显示

TI TI 3649 人阅读 | 2 人回复 | 2014-01-15

【Energia开发环境】MSP430 LAUNCHPAD学习笔记3--Lab3 数码管的显示
材料:
l MSP430 LAUNCHPAD x 1
l 一位共阳极数码管
实验目的:让MSP430 LAUNCHPAD控制数码管显示0-9数字
数码管介绍及原理图分析:
常见的数码管由七个发光二极管和一个点状发光二极管管芯制成,如附图所示,根据其结构的不同,可分为共阳极数码管和共阴极数码管两种。共阳数码管是指将所有发光二极管的阳极连接到一起形成公共阳极(COM)的数码管。在共阳数码管时应将公共极COM端接到电源VCC上,当某一字段的发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管则更好相反,阴极连接到一起形成了公共阴极,阳极是独立分开的。如下图所示。
下图为一位共阳极数码管实物图,本实验使用就是用它。
其引脚排列依次为:从左上角第一个引脚顺时针开始数,引脚依次如下:1:g     2:f  3:com端(接高电平) 4:a  5:b  6: dp 7:c  8:com端(接高电平)  9:d    10:e 共十个引脚,上5下5。
MSP430 Launch Pad 引脚与数码管引脚对应连接表格:
MSP430 Launch Pad 引脚
      对应连接
   数码管引脚
        P1.0
    <----------->
      4: a
        P1.1
    <----------->
      5: b
        P1.2
    <----------->
      4: c
        P1.3
    <----------->
      9: d
        P1.4
    <----------->
      10:e
        P1.5
    <----------->
      2: f
        P1.6
    <----------->
      1: g
        P1.7
    <----------->
      6: dp
        VCC
    <--220Ω电阻->
      3: COM
示意图:
源程序:
/******************************************************************
  KEY control
  【Energia开发环境】MSP430 LAUNCHPAD学习笔记3--Lab3 数码管的显示
                       G  F +  A  B
                        |  |  |  |  |                     
                           __A__
                     F |             | B
                           __G__  
                                    
                     E |             | C
                           __D__      
               
                        |  |  |  |  |
                       E  D +  C  dp   
********************************************************************/
/*设置控制各段的数字IO脚 */
int a = P1_0;
int b = P1_1;
int c = P1_2;
int d = P1_3;
int e = P1_4;
int f = P1_5;
int g = P1_6;
int dp = P1_7;
const unsigned char LED8Pin[]={a,b,c,d,e,f,g,dp};//a.b,c,d,e,f,g,dp
//0-9数字编码
const unsigned char LED8Code[]= { 0xC0,    // 0
                                  0xF9,    // 1
                                  0xA4,    // 2
                                  0xB0,    // 3
                                  0x99,    // 4
                                  0x92,    // 5
                                  0x82,    // 6
                                  0xF8,    // 7
                                  0x80,    // 8
                                  0x90,    // 9
                                  0x88,    // A
                                  0x83,    // B
                                  0xC6,    // C
                                  0xA1,    // D
                                  0x86,    // E
                                  0x8E     // F - 16
                                };
/*初始化设置函数*/
void setup()
{
  char i;  
  // 初始化P1所有端口引脚方向为输出
  for(i=0;i<8;i++)
  {
    pinMode(LED8Pin, OUTPUT);  
    //输出高电平,灭   
    digitalWrite(LED8Pin, HIGH);   
  }
}
//显示数字
void LED8Display(char data)
{
  char m;
  char n;
  char dis;
  if((0<=data)||(data<16))
  {
    dis = LED8Code[data];
    for(m=0;m<8;m++)
    {
      n = bitRead(dis,m);
      digitalWrite(LED8Pin[m], n);
    }
  }
}
/*循环函数*/
void loop()
{
  char count;
  for(count=0;count<16;count++)
  {
    LED8Display(count);
    delay(1000);
  }
}
下面是数码管取模软件:
实际效果图:


#define bitRead(value, bit) (((value) >> (bit)) & 0x01)  宏定义
【Energia开发环境】MSP430 LAUNCHPAD学习笔记3--Lab3 数码管的显示 2.pdf (957.4 KB, 下载次数: 22)


LED8.zip (1.13 KB, 下载次数: 15)


七段数码管取模软件.zip (15.08 KB, 下载次数: 14)


By  qinkaiabc

捕获.PNG (8.07 KB, 下载次数: 41)

捕获.PNG
这个世界成功人的总是少数,我们都只是平凡的人,我们需要有一种平凡且进取的心态去生活,不要期望有多少付出就一定有多少回报,相信没有付出就没有回报就可以了。
分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

mengyu139

发表于 2014-1-15 23:14:34 | 只看该作者

楼主的资料很有用
板凳

ddllxxrr

发表于 2014-1-16 04:22:26 | 只看该作者

顶顶顶,我顶顶顶
http://shop34182318.taobao.com/
https://shop436095304.taobao.com
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条