⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test44x_testlcd.c

📁 MSP430f449实时时钟及LCD/LED显示
💻 C
字号:


#include "msp430x44x.h"

int Digit[10] = {0X7B,0X12,0X4F,0X1F,0X36,0X3D,0X7D,0X13,0X7F,0X3F};

void Delay(int m)
{
  while(m-->0);
}

void clr_lcdmem(void)
{
  int i;
  for(i = 0;i<7;i++)
  {
    LCDMEM[i] = 0x00;
  }
}

void Display(int pos,int x,int Flag)
{
  LCDMEM[pos] = 0x00;

  if(Flag)
    LCDMEM[pos] = Digit[x] + 0x80;
  else
    LCDMEM[pos] = Digit[x];
  Delay(300);
}


void Send_Data(float Data)
{
  unsigned long xx = 0;
  int temp = 0;
  int i = 0;
  if(Data<1.0)
  {
    xx = Data * 1000000;
    
    while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
           
           Display(i,temp,0);
           i++;
          }
     
      xx = xx / 10;
    }
    Display(i,0,1);
    i = 0;
  }
else if(Data<10.0)
  {
  xx = Data * 1000000;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
           
           if(xx<10 && i>0)
           Display(i,temp,1);
           else
           Display(i,temp,0);
           i++;
          }
     
      xx = xx / 10;
    }
    i = 0;
  }
else if(Data<100.0)
 {
  xx = Data * 100000;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
           
           if(xx> 9 && xx<100 && i>0)
           Display(i,temp,1);
           else
           Display(i,temp,0);
           i++;
          }
     
      xx = xx / 10;
    }
    i = 0;
 }
 else if(Data<1000.0)
 {
  xx = Data * 10000;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
         
           if(xx>99 && xx<1000 && i>0)
              Display(i,temp,1);
           else
              Display(i,temp,0);
          }
     
      xx = xx / 10;
    }
    i = 0;
 }
  else if(Data<10000.0)
 {
  xx = Data * 1000;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
         if(xx>999 && xx<10000 && i>0)
           Display(i,temp,1);
           else
           Display(i,temp,0);
          i++;
          }
     
      xx = xx / 10;
    }
    i = 0;
 }
 else if(Data<100000.0)
 {
  xx = Data * 100;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
         
           if(xx>9999 && xx<100000 && i>0)
              Display(i,temp,1);
           else
              Display(i,temp,0);
           i++;
          }
      xx = xx / 10;
    }
    i = 0;
 }
 else if(Data < 1000000.0)
 {

  xx = Data * 10;
  while(xx!=0)
    {
      temp = xx %10;
      if(temp != 0)
      {
        
        if(xx>99999 && xx < 1000000 && i>0)
          Display(i,temp,1);
        else
          Display(i,temp,0);
        i++;
       }
       xx = xx/10;
    }
  i = 0;
 }

 else if(Data < 10000000.0)
 {
  xx = Data;
  while(xx !=0)
    {
      temp = xx % 10;
      if(temp != 0)
         {
           
           Display(i,temp,0);           
           i++;
          }
     
      xx = xx / 10;
    }
    i = 0;
  }
}
/*void test(void)
{
  int i;
  for(i = 0;i<7;i++)
  {
    
      LCDMEM[i] = 0xff;
      Delay(10000);
      LCDMEM[i] = 0x00;
      Delay(10000); 
  }
}
*/


void main(void)
{
  
  while(1)
  {
    WDTCTL = WDTPW + WDTHOLD;
    LCDCTL = 0X5D;
    P5SEL = 0XFD;
    clr_lcdmem();
    Send_Data(4596361);
    Delay(5000);
//    test();    测试lcd液晶板是否正常
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -