main.c

来自「MSP430单片机驱动Nokia6100LCD源程序」· C语言 代码 · 共 1,035 行 · 第 1/4 页

C
1,035
字号
    0x04, 0x25, 0xF0, 0xF9, 0x0F, 0x42, 0x10, 0x82, 0x10, 0x78, 0xC0, 0x03, 0x21, 0x08, 0x41, 0x08,
    0x24, 0xE0, 0x81, 0x10, 0x84, 0x20, 0xE4, 0x3F, 0xF0, 0x40, 0x09, 0x4A, 0x50, 0x02, 0x0B, 0xFF,
    0x24, 0x00, 0x9E, 0x08, 0x45, 0x28, 0x42, 0xF1, 0xF7, 0x1F, 0x08, 0x20, 0x00, 0x01, 0xF0, 0xC9,
    0x4F, 0xFE, 0xFF, 0x03, 0x02, 0x28, 0x20, 0x02, 0x20, 0xFF, 0xC1, 0x0F, 0x02, 0x10, 0x00, 0x1F,
    0x04, 0x20, 0x00, 0x3E, 0xF8, 0x81, 0x00, 0x02, 0x10, 0x00, 0x1F, 0x78, 0x20, 0x04, 0x21, 0x08,
    0x81, 0x07, 0xFE, 0x11, 0x82, 0x10, 0x84, 0xC0, 0x03, 0x1E, 0x08, 0x41, 0x08, 0x42, 0xF0, 0x8F,
    0x1F, 0x04, 0x40, 0x02, 0x25, 0x48, 0x81, 0x84, 0x3F, 0x10, 0x82, 0x0F, 0x80, 0x00, 0x04, 0x10,
    0xF8, 0xC1, 0x00, 0x18, 0x00, 0x03, 0x06, 0x0C, 0xE0, 0x01, 0x30, 0x60, 0xC0, 0x00, 0x18, 0x00,
    0x83, 0x07, 0xCC, 0x80, 0x01, 0x0C, 0x98, 0x01, 0x20, 0x1E, 0x01, 0x07, 0x08, 0x3C, 0x20, 0x06,
    0x29, 0x28, 0xC1, 0x08, 0x08, 0xBC, 0x17, 0xC0, 0xFF, 0x05, 0xD0, 0x7B, 0x20, 0x20, 0x80, 0x00,
    0x04, 0x40, 0x00, 0x02, 0x08, 0x00}
 };

/*-------
  13 x 16
  -------
   Taille en octets    : 0x02AC, 684
   Largeur police      : 13
   Hauteur police      : 16
   Code du 1?caract鑢e: 0x20
   Code du dernier car.: 0x7E
   Bits par pixel      : 1
*/

typedef struct
{
  unsigned int  Size;
  unsigned char Width; //Pour espacement constant
  unsigned char Heigth;
  unsigned char Bits_per_Pixels;
  // if MSB are set then font is a compressed font
  unsigned char First_Char;
  unsigned char Last_Char;
  unsigned char Char_Widths[0x7E - 0x20 +1];// Largeurs de chaque caract鑢e
  unsigned char Font_data[1416];// Description des caract鑢es (suite de pixels sans trou)
} Tfont13x16;

/*const Tfont13x16 Font13x16 =
 {0x05EE,
  0x0D,
  0x10,
  0x01,
  0x20,
  0x7E,
  {
    0x04, 0x02, 0x05, 0x09, 0x08, 0x0B, 0x0B, 0x02, 0x04, 0x04, 0x06, 0x08, 0x03, 0x06, 0x02, 0x05,
    0x08, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x02, 0x03, 0x08, 0x08, 0x08, 0x08,
    0x0C, 0x0C, 0x09, 0x0B, 0x0A, 0x09, 0x09, 0x0B, 0x09, 0x02, 0x07, 0x09, 0x08, 0x0A, 0x08, 0x0B,
    0x09, 0x0B, 0x0A, 0x0A, 0x0A, 0x09, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, 0x03, 0x05, 0x03, 0x06, 0x0A,
    0x04, 0x09, 0x08, 0x08, 0x08, 0x08, 0x06, 0x08, 0x08, 0x02, 0x03, 0x08, 0x02, 0x0C, 0x08, 0x08,
    0x08, 0x08, 0x05, 0x07, 0x06, 0x08, 0x08, 0x0C, 0x08, 0x08, 0x07, 0x04, 0x02, 0x04, 0x08
  },
  {
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x13, 0xFE, 0x13, 0x1E, 0x00, 0x1E, 0x00,
    0x00, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x00, 0x02, 0x10, 0x1E, 0xF0, 0x1F, 0xFE, 0x03, 0x1E, 0x1E,
    0xF0, 0x1F, 0xFE, 0x03, 0x1E, 0x02, 0x10, 0x00, 0x18, 0x04, 0x3C, 0x0C, 0x66, 0x18, 0xFF, 0x3F,
    0xFF, 0x3F, 0xC6, 0x18, 0x8C, 0x0F, 0x08, 0x07, 0x1C, 0x08, 0x3E, 0x0C, 0x22, 0x06, 0x22, 0x03,
    0xBE, 0x01, 0xDC, 0x0E, 0x60, 0x1F, 0x30, 0x11, 0x18, 0x11, 0x0C, 0x1F, 0x04, 0x0E, 0x00, 0x07,
    0x9C, 0x0F, 0xFE, 0x18, 0x62, 0x10, 0xFE, 0x10, 0x9C, 0x11, 0x00, 0x1B, 0x00, 0x0E, 0x00, 0x0F,
    0x00, 0x1B, 0x00, 0x10, 0x1E, 0x00, 0x1E, 0x00, 0xF0, 0x0F, 0xFE, 0x7F, 0x0F, 0xF0, 0x01, 0x80,
    0x01, 0x80, 0x0F, 0xF0, 0xFE, 0x7F, 0xF0, 0x0F, 0x12, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x00,
    0x1E, 0x00, 0x12, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xF0, 0x07, 0xF0, 0x07, 0x80, 0x00,
    0x80, 0x00, 0x80, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x10, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
    0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x00, 0x3E, 0xE0, 0x1F,
    0xFE, 0x01, 0x1E, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0E, 0x1C, 0x02, 0x10, 0x02, 0x10, 0x0E, 0x1C,
    0xFC, 0x0F, 0xF0, 0x03, 0x04, 0x00, 0x04, 0x00, 0xFE, 0x1F, 0xFE, 0x1F, 0x18, 0x18, 0x1C, 0x1C,
    0x06, 0x16, 0x02, 0x13, 0x82, 0x11, 0xC6, 0x10, 0x7C, 0x10, 0x38, 0x10, 0x18, 0x06, 0x1C, 0x0E,
    0x46, 0x18, 0x42, 0x10, 0x42, 0x10, 0xE6, 0x18, 0xBC, 0x0F, 0x18, 0x07, 0x00, 0x03, 0x80, 0x03,
    0xE0, 0x02, 0x70, 0x02, 0x1C, 0x02, 0xFE, 0x1F, 0xFE, 0x1F, 0x00, 0x02, 0xFE, 0x06, 0xFE, 0x0E,
    0x62, 0x18, 0x22, 0x10, 0x22, 0x10, 0x62, 0x18, 0xC2, 0x0F, 0x82, 0x07, 0xF8, 0x07, 0xFC, 0x0F,
    0x66, 0x18, 0x22, 0x10, 0x22, 0x10, 0x66, 0x18, 0xCC, 0x0F, 0x88, 0x07, 0x02, 0x00, 0x02, 0x00,
    0x02, 0x00, 0x02, 0x1E, 0xC2, 0x1F, 0xF2, 0x01, 0x3E, 0x00, 0x0E, 0x00, 0x18, 0x07, 0xBC, 0x0F,
    0xE6, 0x18, 0x42, 0x10, 0x42, 0x10, 0xE6, 0x18, 0xBC, 0x0F, 0x18, 0x07, 0x78, 0x04, 0xFC, 0x0C,
    0x86, 0x19, 0x02, 0x11, 0x02, 0x11, 0x86, 0x19, 0xFC, 0x0F, 0xF8, 0x07, 0x10, 0x10, 0x10, 0x10,
    0x00, 0x20, 0x10, 0x30, 0x10, 0x10, 0x80, 0x00, 0xC0, 0x01, 0x40, 0x01, 0x60, 0x03, 0x20, 0x02,
    0x30, 0x06, 0x10, 0x04, 0x10, 0x04, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01,
    0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x10, 0x04, 0x10, 0x04, 0x30, 0x06, 0x20, 0x02, 0x60, 0x03,
    0x40, 0x01, 0xC0, 0x01, 0x80, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x06, 0x00, 0x02, 0x13, 0x82, 0x13,
    0xC6, 0x00, 0x7C, 0x00, 0x38, 0x00, 0xF0, 0x07, 0xF8, 0x0F, 0x0C, 0x18, 0xE6, 0x19, 0x32, 0x12,
    0x12, 0x13, 0xF2, 0x11, 0xE2, 0x13, 0x06, 0x12, 0x0C, 0x03, 0xF8, 0x01, 0xF0, 0x00, 0x00, 0x18,
    0x00, 0x1E, 0x80, 0x07, 0xE0, 0x03, 0x78, 0x02, 0x1E, 0x02, 0x1E, 0x02, 0x78, 0x02, 0xE0, 0x03,
    0x80, 0x07, 0x00, 0x1E, 0x00, 0x18, 0xFE, 0x1F, 0xFE, 0x1F, 0x42, 0x10, 0x42, 0x10, 0x42, 0x10,
    0x42, 0x10, 0xE6, 0x18, 0xBC, 0x0F, 0x18, 0x07, 0xF0, 0x03, 0xFC, 0x0F, 0x0C, 0x0C, 0x06, 0x18,
    0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x06, 0x18, 0x0C, 0x0C, 0x1C, 0x0E, 0x10, 0x02, 0xFE, 0x1F,
    0xFE, 0x1F, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x06, 0x18, 0x0C, 0x0C, 0xFC, 0x0F,
    0xF0, 0x03, 0xFE, 0x1F, 0xFE, 0x1F, 0x42, 0x10, 0x42, 0x10, 0x42, 0x10, 0x42, 0x10, 0x42, 0x10,
    0x42, 0x10, 0x02, 0x10, 0xFE, 0x1F, 0xFE, 0x1F, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00,
    0x42, 0x00, 0x42, 0x00, 0x02, 0x00, 0xF0, 0x03, 0xFC, 0x0F, 0x0C, 0x0C, 0x06, 0x18, 0x02, 0x10,
    0x82, 0x10, 0x82, 0x10, 0x86, 0x18, 0x8C, 0x0C, 0x9C, 0x1F, 0x90, 0x1F, 0xFE, 0x1F, 0xFE, 0x1F,
    0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xFE, 0x1F, 0xFE, 0x1F, 0xFE, 0x1F,
    0xFE, 0x1F, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0xFE, 0x1F, 0xFE, 0x0F,
    0xFE, 0x1F, 0xFE, 0x1F, 0xE0, 0x00, 0xB0, 0x01, 0x18, 0x03, 0x0C, 0x06, 0x06, 0x0C, 0x02, 0x18,
    0x00, 0x10, 0xFE, 0x1F, 0xFE, 0x1F, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10,
    0x00, 0x10, 0xFE, 0x1F, 0xFE, 0x1F, 0x78, 0x00, 0xE0, 0x01, 0x80, 0x07, 0x80, 0x07, 0xE0, 0x01,
    0x78, 0x00, 0xFE, 0x1F, 0xFE, 0x1F, 0xFE, 0x1F, 0xFE, 0x1F, 0x3C, 0x00, 0xF0, 0x00, 0xC0, 0x03,
    0x00, 0x0F, 0xFE, 0x1F, 0xFE, 0x1F, 0xF0, 0x03, 0xFC, 0x0F, 0x0C, 0x0C, 0x06, 0x18, 0x02, 0x10,
    0x02, 0x10, 0x02, 0x10, 0x06, 0x18, 0x0C, 0x0C, 0xFC, 0x0F, 0xF0, 0x03, 0xFE, 0x1F, 0xFE, 0x1F,
    0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xC6, 0x00, 0x7C, 0x00, 0x38, 0x00, 0xF0, 0x03,
    0xFC, 0x0F, 0x0C, 0x0C, 0x06, 0x18, 0x02, 0x10, 0x02, 0x12, 0x02, 0x16, 0x06, 0x1C, 0x0C, 0x1C,
    0xFC, 0x3F, 0xF0, 0x23, 0xFE, 0x1F, 0xFE, 0x1F, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00,
    0xC6, 0x01, 0x7C, 0x0F, 0x38, 0x1E, 0x00, 0x10, 0x18, 0x04, 0x3C, 0x0C, 0x66, 0x18, 0x42, 0x10,
    0x42, 0x10, 0x42, 0x10, 0x42, 0x10, 0xC6, 0x18, 0x8C, 0x0F, 0x08, 0x07, 0x02, 0x00, 0x02, 0x00,
    0x02, 0x00, 0x02, 0x00, 0xFE, 0x1F, 0xFE, 0x1F, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
    0xFE, 0x07, 0xFE, 0x0F, 0x00, 0x18, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x18, 0xFE, 0x0F,
    0xFE, 0x07, 0x06, 0x00, 0x1E, 0x00, 0x78, 0x00, 0xE0, 0x01, 0x80, 0x07, 0x00, 0x1E, 0x00, 0x1E,
    0x80, 0x07, 0xE0, 0x01, 0x78, 0x00, 0x1E, 0x00, 0x06, 0x00, 0xFE, 0x00, 0xFE, 0x03, 0x00, 0x1F,
    0x00, 0x1F, 0xE0, 0x03, 0xFC, 0x00, 0xFC, 0x00, 0xE0, 0x03, 0x00, 0x1F, 0x00, 0x1F, 0xFE, 0x03,
    0xFE, 0x00, 0x02, 0x10, 0x06, 0x18, 0x0C, 0x0C, 0x18, 0x06, 0x30, 0x03, 0xE0, 0x01, 0xE0, 0x01,
    0x30, 0x03, 0x18, 0x06, 0x0C, 0x0C, 0x06, 0x18, 0x02, 0x10, 0x02, 0x00, 0x06, 0x00, 0x0C, 0x00,
    0x18, 0x00, 0x30, 0x00, 0xE0, 0x1F, 0xE0, 0x1F, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00,
    0x02, 0x00, 0x00, 0x18, 0x02, 0x1C, 0x02, 0x16, 0x02, 0x13, 0x82, 0x11, 0xC2, 0x10, 0x62, 0x10,
    0x32, 0x10, 0x1A, 0x10, 0x0E, 0x10, 0x06, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0x02, 0x80, 0x1E, 0x00,
    0xFE, 0x01, 0xE0, 0x1F, 0x00, 0x3E, 0x00, 0x20, 0x02, 0x80, 0xFE, 0xFF, 0xFE, 0xFF, 0x04, 0x00,
    0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40,
    0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x01, 0x00,
    0x03, 0x00, 0x06, 0x00, 0x04, 0x00, 0x20, 0x0E, 0x30, 0x1F, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11,
    0x10, 0x11, 0xF0, 0x1F, 0xE0, 0x1F, 0x00, 0x10, 0xFE, 0x1F, 0xFE, 0x1F, 0x30, 0x18, 0x10, 0x10,
    0x10, 0x10, 0x30, 0x18, 0xE0, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xE0, 0x0F, 0x30, 0x18, 0x10, 0x10,
    0x10, 0x10, 0x30, 0x18, 0x60, 0x0C, 0x40, 0x04, 0xC0, 0x07, 0xE0, 0x0F, 0x30, 0x18, 0x10, 0x10,
    0x10, 0x10, 0x30, 0x18, 0xFE, 0x1F, 0xFE, 0x1F, 0xC0, 0x07, 0xE0, 0x0F, 0x30, 0x19, 0x10, 0x11,
    0x10, 0x11, 0x30, 0x19, 0xE0, 0x0D, 0xC0, 0x05, 0x10, 0x00, 0x10, 0x00, 0xFC, 0x1F, 0xFE, 0x1F,
    0x12, 0x00, 0x12, 0x00, 0xC0, 0x07, 0xE0, 0x8F, 0x30, 0x98, 0x10, 0x90, 0x10, 0x90, 0x30, 0xD8,
    0xF0, 0xFF, 0xF0, 0x7F, 0xFE, 0x1F, 0xFE, 0x1F, 0x30, 0x00, 0x10, 0x00, 0x10, 0x00, 0x30, 0x00,
    0xE0, 0x1F, 0xC0, 0x1F, 0xF2, 0x1F, 0xF2, 0x1F, 0x00, 0x80, 0xF2, 0xFF, 0xF2, 0x7F, 0xFE, 0x1F,
    0xFE, 0x1F, 0x80, 0x01, 0xC0, 0x03, 0x60, 0x06, 0x30, 0x0C, 0x10, 0x18, 0x00, 0x10, 0xFE, 0x1F,
    0xFE, 0x1F, 0xF0, 0x1F, 0xF0, 0x1F, 0x30, 0x00, 0x10, 0x00, 0x30, 0x00, 0xE0, 0x1F, 0xE0, 0x1F,
    0x30, 0x00, 0x10, 0x00, 0x30, 0x00, 0xE0, 0x1F, 0xC0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1F, 0x30, 0x00,
    0x10, 0x00, 0x10, 0x00, 0x30, 0x00, 0xE0, 0x1F, 0xC0, 0x1F, 0xC0, 0x07, 0xE0, 0x0F, 0x30, 0x18,
    0x10, 0x10, 0x10, 0x10, 0x30, 0x18, 0xE0, 0x0F, 0xC0, 0x07, 0xF0, 0xFF, 0xF0, 0xFF, 0x30, 0x18,
    0x10, 0x10, 0x10, 0x10, 0x30, 0x18, 0xE0, 0x0F, 0xC0, 0x07, 0xC0, 0x07, 0xE0, 0x0F, 0x30, 0x18,
    0x10, 0x10, 0x10, 0x10, 0x30, 0x18, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0x1F, 0xF0, 0x1F, 0x30, 0x00,
    0x10, 0x00, 0x10, 0x00, 0xE0, 0x08, 0xF0, 0x19, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0x30, 0x1F,
    0x20, 0x0E, 0x10, 0x00, 0x10, 0x00, 0xFE, 0x0F, 0xFE, 0x1F, 0x10, 0x10, 0x10, 0x00, 0xF0, 0x07,
    0xF0, 0x0F, 0x00, 0x18, 0x00, 0x10, 0x00, 0x10, 0x00, 0x18, 0xF0, 0x1F, 0xF0, 0x1F, 0x30, 0x00,
    0xF0, 0x00, 0xC0, 0x03, 0x00, 0x1F, 0x00, 0x1F, 0xC0, 0x03, 0xF0, 0x00, 0x30, 0x00, 0x30, 0x00,
    0xF0, 0x00, 0xC0, 0x03, 0x00, 0x1F, 0x00, 0x1F, 0xE0, 0x03, 0xE0, 0x03, 0x00, 0x1F, 0x00, 0x1F,
    0xC0, 0x03, 0xF0, 0x00, 0x30, 0x00, 0x10, 0x10, 0x70, 0x1C, 0xE0, 0x0E, 0x80, 0x03, 0x80, 0x03,
    0xE0, 0x0E, 0x70, 0x1C, 0x10, 0x10, 0x30, 0x00, 0xF0, 0xC0, 0xC0, 0xF3, 0x00, 0x3F, 0x00, 0x0F,
    0xC0, 0x03, 0xF0, 0x00, 0x30, 0x00, 0x10, 0x18, 0x10, 0x1C, 0x10, 0x17, 0x90, 0x13, 0xD0, 0x10,
    0x70, 0x10, 0x30, 0x10, 0x00, 0x01, 0xFC, 0x7F, 0xFE, 0xFE, 0x02, 0x80, 0xFE, 0x3F, 0xFE, 0x3F,
    0x02, 0x80, 0xFE, 0xFE, 0xFC, 0x7F, 0x00, 0x01, 0x06, 0x00, 0x07, 0x00, 0x01, 0x00, 0x03, 0x00,
    0x06, 0x00, 0x04, 0x00, 0x07, 0x00, 0x03, 0x00
  }
 };
*/
/*------------------------------------------------------------------------------------
                                        HORLOGES
---------------------------------------------------------------------------------------*/

/*--------------------------------------------------
  Nom          :  SetHighClock
  Description  :  Fr閝uence DCO max (4,9Mhz typique)
  Arguments    :  aucun
  Valeur renvoy閑 : aucune.
----------------------------------------------------*/
void SetHighClock(void)
{
  DCOCTL=DCO2|DCO1|DCO0; //DCO[2..0]=7
  BCSCTL1|=RSEL2|RSEL1|RSEL0; //RSEL[2..0]=7 Soit FDCO=4,9MHz typique
}

/*--------------------------------------------------
  Nom          :  SetLowClock
  Description  :  Fr閝uence DCO min (120kHz typique)
  Arguments    :  aucun
  Valeur renvoy閑 : aucune.
----------------------------------------------------*/
void SetLowClock(void)
{
  DCOCTL&=~(DCO2|DCO1|DCO0);    //DCO[2..0]=0
  BCSCTL1&=~(RSEL2|RSEL1|RSEL0);//RSEL[2..0]=0 Soit FDCO=120kHz typique
}

/*--------------------------------------------------
  Nom          :  SetDCOClock
  Description  :  Affectation fr閝uence DCO
  Arguments    :  DCO : valeur des 3 bits DCO
                  RES : valeur des 3 bits RESEL
  Valeur renvoy閑 : aucune.
----------------------------------------------------*/
void SetDCOClock(int DCO,int RES)
{
  DCOCTL=(DCOCTL & ~(DCO2|DCO1|DCO0)) | (DCO << 5); //Affectation DCO[2..0]
  BCSCTL1=(BCSCTL1 & ~(RSEL2|RSEL1|RSEL0)) | RES  ; //Affectation RESEL[2..0]
}

/*------------------------------------------------------------------------------------
                                   Fonctions de gestion du LCD
--------------------------------------------------------------------------------------*/

/*---------------------------------------------------------------
  Nom          :  InitSPI_Lcd
  Description  :  Initialisation du coupleur SPI
                  Il est utilis?pour la transmission vers le LCD
  Arguments    :  aucun
  Valeur renvoy閑 : aucune.
-----------------------------------------------------------------*/
void InitSPI_Lcd(void)
{
  U0CTL=SWRST; //SWRST = "1" pour configurer l'USART en mode SPI
  U0CTL=SWRST|CHAR|SYNC|MM; //Mode Master SPI 8 bits
  U0TCTL=CKPH|SSEL1|STC; //CKPH/CKPL=10 : format PCD8544
                         //SSEL=10 : SMCLK
                         //STC=1 : STE inhib?  U0BR0=4; //
  U0BR1=0; // U0BR = 4 : Baud rate = SMCLK/4
  U0MCTL=0; //Impos?en mode SPI
  ME2|=USPIE0; //Validation SPI
  U0CTL&=~SWRST; //SWRST = "0" fin de configuration
  P3SEL|=Lcd_DIN_Pin|Lcd_CLK_Pin;
}

/*---------------------------------------------------------------
  Nom          :  LcdSend_Cmd
  Description  :  Envoi d'une commande vers le controleur du LCD via coupleur SPI
                  Premier bit (D/C) transmis hors SPI car trame de 9 bits
  Arguments    :  data -> Commande ?transmettre
  Valeur renvoy閑 : aucune.
-----------------------------------------------------------------*/
void LcdSend_Cmd(char Data)
{
  // Attendre fin de transmission
  while ((U0TCTL & TXEPT)==0) {};
  // Affectation signal D/C (1?impulsion de la trame 9 bits)
  P3SEL&=~(Lcd_DIN_Pin|Lcd_CLK_Pin);//Gestion LCD sans coupleur SPI
  P3OUT &= ~Lcd_DIN_Pin; // D/C = 0 : commande
  P3OUT |=  Lcd_CLK_Pin; // Premi鑢e impulsion CLK
  P3OUT &= ~Lcd_CLK_Pin;
  P3SEL |= Lcd_DIN_Pin|Lcd_CLK_Pin;//Gestion LCD avec coupleur SPI
  // Transmission s閞ie de l'octet (8 derniers bits)
  U0TXBUF=Data;
}

/*---------------------------------------------------------------
  Nom          :  LcdSend_Data
  Description  :  Envoi d'une donn閑 vers le controleur du LCD via coupleur SPI
                  Premier bit (D/C) transmis hors SPI car trame de 9 bits
  Arguments    :  data -> Donn閑 ?transmettre
  Valeur renvoy閑 : aucune.
-----------------------------------------------------------------*/
void LcdSend_Data(char Data)
{
  // Attendre fin de transmission
  while ((U0TCTL & TXEPT)==0) {};
  // Affectation signal D/C (1?impulsion de la trame 9 bits)
  P3SEL&=~(Lcd_DIN_Pin|Lcd_CLK_Pin);//Gestion LCD sans coupleur SPI
  P3OUT |= Lcd_DIN_Pin; // D/C = 1 : donn閑
  P3OUT |= Lcd_CLK_Pin; // Premi鑢e impulsion CLK
  P3OUT &= ~Lcd_CLK_Pin;
  P3SEL |= Lcd_DIN_Pin|Lcd_CLK_Pin;//Gestion LCD avec coupleur SPI
  // Transmission s閞ie de l'octet (8 derniers bits)
  U0TXBUF=Data;
}

/*---------------------------------------------------------------
  Nom          :  Delay
  Description  :  Production d'un d閘ai logiciel
  Arguments    :  aucun
  Valeur renvoy閑 : aucune.
-----------------------------------------------------------------*/

⌨️ 快捷键说明

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