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

📄 main.c

📁 23段LCD笔段检测程序
💻 C
字号:

#include<msp430x41x.h>
#include<stdio.h>

const char digit[]={
  0xB7,0x12,0x4f,0x1f,0x36,0x3d,0x7d,0x13,0x7f,0x3f},
  digit1[]={0xfa,0x60,0xd6,0xf4,0x6c,0xbc,0xbe,0xe0,0xfe,0xfc};

unsigned char Buf[]={0,0,0,0,0,0,0,0,0,0};
void Display();
void Buf_add();
void Buf_test();
void delay_50ms(unsigned int t);

void Display()
{
    unsigned char i;
    LCDCTL=LCDON+LCD4MUX+LCDP2;
    LCDCTL = 0x05f;             // 4mux LCD, segs1-23 = outputs
    BTCTL  = BTFRFQ1;           // set LCD frame freq = ACLK
    P5SEL=0XFC;
    for(i=0;i<11;i++)
    {
      LCDMEM[i]=Buf[i];
    }
    
  
}

void Buf_add()

{
    unsigned char i;
   // Merter_on();
    for(i=8;i>0;i--)
    {

        if(Buf[i-1]==9)
           {
                Buf[i-1]=0;
           }
        else
           {
                Buf[i-1]+=1;
                return;
           }
      }
}

void Buf_test()

{
  unsigned char j,i;
  unsigned char Cuf[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
        for(j=0;j<8;j++)
        {
          Buf[j]=0x01;   
          Display();
          delay_50ms(30);
          Buf[j]=0;
        }
        for(i=0;i<8;i++)
        {
            Buf[8]=Cuf[i];   
            Display();
            delay_50ms(30);
            Buf[8]=0x00;
          
        } 
        for(i=4;i>0;)
        {
          i--;
          Buf[9]=Cuf[i];
          Display();
          delay_50ms(30);
          Buf[9]=0;
        }
        for(j=0;j<8;j++)
                {
                        Buf[j]=1;
                }
        for(i=0;i<8;i++)
        {
                for(j=0;j<10;j++)
                {
                        Buf[j]<<=1;
                }
                Display();
                delay_50ms(30);
        }     
        for(i=0;i<8;i++)
        {
                for(j=0;j<9;j++)
                {
                        Buf[j]=0;
                }
                Buf[i]=0xfe;
                Display();
                delay_50ms(30);
        }
        for(i=0;i<2;i++)
        {
                for(j=0;j<11;j++)
                {
                        Buf[j]=0xff;
                }
                Display();
               delay_50ms(135);
                for(j=0;j<11;j++)
                {
                        Buf[j]=0;
                }
                Display();
                delay_50ms(35);
        }
}


void delay_50ms(unsigned int t)
{
 unsigned int j;
 for(;t>0;t--)
  for(j=4370;j>0;j--)
     ;
}

void main(void)

{
  //UOCTL|= I2C+SYNC;
  WDTCTL=WDTPW+WDTHOLD;
  //ReadWords(0x10);
  Display();
  _NOP();
  while(1)
  {
   // Buf_add();
    Buf_test();
    delay_50ms(65);
    //WriteWord(0x10, *Buf);
   // Display();
  }
  
}

⌨️ 快捷键说明

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