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

📄 display.c

📁 449的程序430Interfacing the DAC8831EVM to MSP430 Processors
💻 C
字号:
//*****************************************************************************
//  HPA449 Demo - for AFA Seminar, March 31 2003 
//
//
//
//  T.Hendrick
//  Texas Instruments, Inc
//  March 2003
//  Built with IAR Embedded Workbench Version: 1.26B
//*****************************************************************************

#include  <msp430x44x.h>
#include  "SBLCDA2.h"

#define M_H_UB         (MF+ME+MG)
#define M_H_LB         (MM+MB+MC)
#define M_P_UB         (MF+ME+MG)
#define M_P_LB         (MA+MM+MB)
#define M_A_UB         (ME+MF+MG)
#define M_A_LB         (MA+MM+MB+MC)
#define maxDigits 5

void displayMajor( int a, int b, int c );
void displayMinor( int a, int b );

//void displaySpecial( long int a );
//void displayValue( long int a );
void displayDelay( long int time );


//void displayMajor( int a, int b, int c );
void displayMajor( int position, int U_half, int L_half )
{
        LCDMEM[position*2+5] = U_half;    
        LCDMEM[position*2+4] = L_half;
} 

void sortMajor( unsigned int value )
{
int i, maj_dig_pntr;
if ( value == 0)
{displayMajor( 1, M_ZERO_UB, M_ZERO_LB );}
else
  for (i=1; i<maxDigits+1; i++)
  {
   maj_dig_pntr = (value%10);
   if (value == 0)
    {maj_dig_pntr = -1;}

    switch (maj_dig_pntr)
    {
        case  -1:
            LCDMEM[i] = 0; 
            break;
        case  0:
            displayMajor( i, M_ZERO_UB, M_ZERO_LB ); 
            break;
        case  1:
            displayMajor( i, M_ONE_UB, M_ONE_LB );
            break;
        case  2:
            displayMajor( i, M_TWO_UB, M_TWO_LB );
            break; 
        case  3:
            displayMajor( i, M_THREE_UB, M_THREE_LB );
            break;               
        case  4:
            displayMajor( i, M_FOUR_UB, M_FOUR_LB ); 
            break;
        case  5:
            displayMajor( i, M_FIVE_UB, M_FIVE_LB );
            break;
        case  6:
            displayMajor( i, M_SIX_UB, M_SIX_LB );
            break;   
        case  7:
            displayMajor( i, M_SEVEN_UB, M_SEVEN_LB ); 
            break;
        case  8:
            displayMajor( i, M_EIGHT_UB, M_EIGHT_LB );
            break;
        case  9:
            displayMajor( i, M_NINE_UB, M_NINE_LB );
            break;  
        default:
            LCDMEM[i] = 0;
            break;
    }
   value = value/10;
  }
}  

void displayMinor( int position, int digit )
{
        LCDMEM[position] = digit;    
} 

void displaySpecial( long int a )
{
        LCDMEM[1] = a;
        displayDelay(0x10);    
}     

void displayHPA449(void)
{
displayMajor( 6, M_H_UB, M_H_LB );
displayMajor( 5, M_P_UB, M_P_LB );
displayMajor( 4, M_A_UB, M_A_LB );
displayMajor( 3, M_FOUR_UB, M_FOUR_LB );
displayMajor( 2, M_FOUR_UB, M_FOUR_LB );
displayMajor( 1, M_NINE_UB, M_NINE_LB );
}


void displayDelay( long int time )
{
long int i;
  for (i=0; i<time; i++);
}

⌨️ 快捷键说明

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