📄 main.c
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -