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

📄 nokia3310-lista4.txt

📁 又一个国外的一个关于msp430f449开源项目资料---源码之五
💻 TXT
字号:

/* 
                POLITECHNIKA OPOLSKA
 PROGRAM DO WYSWIETLACZA GRAFICZNEGO Z NOKI 3310 - LPH7779
                 PRACA DYPLOMOWA
                 MARCIN BAROWSKI
                 JANUSZ SZYMANSKI
                   2006/2007
*/








#include <msp430x44x.h>

  // Definicje //

#define wyslij_komende 0
#define wyslij_znak    1




static const unsigned char FontLookup [][5] =
{
    { 0x00, 0x00, 0x00, 0x00, 0x00 },  // sp  0
    { 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !  1
    { 0x00, 0x07, 0x00, 0x07, 0x00 },   // "  2
    { 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #  3
    { 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $  4 
    { 0xc4, 0xc8, 0x10, 0x26, 0x46 },   // %  5         
    { 0x36, 0x49, 0x55, 0x22, 0x50 },   // &  6
    { 0x00, 0x05, 0x03, 0x00, 0x00 },   // '  7
    { 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (  8
    { 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )  9
    { 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *  10
    { 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +  11
    { 0x00, 0x00, 0x50, 0x30, 0x00 },   // ,  12
    { 0x10, 0x10, 0x10, 0x10, 0x10 },   // -  13 
    { 0x00, 0x60, 0x60, 0x00, 0x00 },   // .  14  
    { 0x20, 0x10, 0x08, 0x04, 0x02 },   // /  15
    { 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0  16
    { 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1  17
    { 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2  18
    { 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3  19
    { 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4  20
    { 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5  21
    { 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6  22
    { 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7  23
    { 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8  24
    { 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9  25
    { 0x00, 0x36, 0x36, 0x00, 0x00 },   // :  26
    { 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;  27
    { 0x08, 0x14, 0x22, 0x41, 0x00 },   // <  28
    { 0x14, 0x14, 0x14, 0x14, 0x14 },   // =  29
    { 0x00, 0x41, 0x22, 0x14, 0x08 },   // >  30
    { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?  31
    { 0x32, 0x49, 0x59, 0x51, 0x3E },   // @  32  
    { 0x7E, 0x11, 0x11, 0x11, 0x7E },   // A  33
    { 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B  34
    { 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C  35
    { 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D  36
    { 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E  37
    { 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F  38
    { 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G  39
    { 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H  40
    { 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I  41
    { 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J  42
    { 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K  43
    { 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L  44
    { 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M  45
    { 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N  46
    { 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O  47
    { 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P  48
    { 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q  49
    { 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R  50
    { 0x46, 0x49, 0x49, 0x49, 0x31 },   // S  51
    { 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T  52
    { 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U  53
    { 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V  54
    { 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W  55  
    { 0x63, 0x14, 0x08, 0x14, 0x63 },   // X  56
    { 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y  57
    { 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z  58
    { 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [  59  
    { 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55 60  
    { 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ]  61
    { 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^  62
    { 0x40, 0x40, 0x40, 0x40, 0x40 },   // _  63
    { 0x00, 0x01, 0x02, 0x04, 0x00 },   // '  64
    { 0x20, 0x54, 0x54, 0x54, 0x78 },   // a  65
    { 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b  66
    { 0x38, 0x44, 0x44, 0x44, 0x20 },   // c  67
    { 0x38, 0x44, 0x44, 0x48, 0x7F },   // d  68
    { 0x38, 0x54, 0x54, 0x54, 0x18 },   // e  69
    { 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f  70
    { 0x0C, 0x52, 0x52, 0x52, 0x3E },   // g  71
    { 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h  72
    { 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i  73
    { 0x20, 0x40, 0x44, 0x3D, 0x00 },   // j  74
    { 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k  75
    { 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l  76
    { 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m  77
    { 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n  78
    { 0x38, 0x44, 0x44, 0x44, 0x38 },   // o  79
    { 0x7C, 0x14, 0x14, 0x14, 0x08 },   // p  80
    { 0x08, 0x14, 0x14, 0x18, 0x7C },   // q  81
    { 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r  82
    { 0x48, 0x54, 0x54, 0x54, 0x20 },   // s  83
    { 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t  84
    { 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u  85
    { 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v  86
    { 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w  87
    { 0x44, 0x28, 0x10, 0x28, 0x44 },   // x  88
    { 0x0C, 0x50, 0x50, 0x50, 0x3C },   // y  89
    { 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z  90
    { 0x08, 0x6C, 0x6A, 0x19, 0x08 },   // { (gramotevichka) 91
    { 0x30, 0x4E, 0x61, 0x4E, 0x30 },   // | (urche) 92
    { 0x7E, 0x7E, 0x7E, 0x7E, 0x7E }    // kvadratche 93
};





//-------------------------------Wysylanie LCD-----------------------------------//
void LCD(unsigned char dana, unsigned char kd)
{
  P3OUT &=~ 1; // ZALACZ STEROWNIK LCD
  
  if ( kd == wyslij_znak)
  {
    P3OUT = 4; //USTAWIENIE STEROWNIKA NA ZNAK 
  }
     else 
      {
        P3OUT =~ 5;  //USTAWIENIE JAKO KOMENDA
       }
  U0TXBUF = dana;                 //WYSYLANIE DANYCH
  while ((U0TCTL & TXEPT) == 0); // POCZKEJA AZ BUFOR BEDZIE GOTOWY
  
  P3OUT = 1; //WYLACZ STEROWNIK LCD
 }
//----------------------------Czyszczenie LCD--------------------------------------//
void LCDczysc(void)
{ int i;
  for (i=0; i<504; i++)   //Petla od 0 do 504 
  { LCD(0,wyslij_znak ); // wyslij 0 do kazdej komorki LCD
  }
}
//---------------------------------Opoznienie--------------------------------------//
void opoznienie(char i)
{ 
  while (--i !=0);   //dekrementuj "i" az  bedzie rowne zero
}
//-------------------------------Pozycja LCD-----------------------------------------//

void LCDustaw(void)
{ 
  LCD(0x80,wyslij_komende);  // ustawianie pozycji 
  LCD(0x40,wyslij_komende);  // wyswietlacza LCD
}

//---------------------------------LCD Napis----------------------------------------//
void LCDnapis(char *danaptr)
{
  while (*danaptr)
  {
     char t;
     unsigned int i;
     unsigned char j;
     
      j = (*danaptr);
     for (i=0; i<5; i++)
     {
       
       t = FontLookup [j - 32][i]; // dopasuje adres zmiennej j do adresow tablicy
       LCD(t,wyslij_znak); //wyslij dana pobrana z tablicy do LCDmemory 
     }
     danaptr ++;
     LCD(0,wyslij_znak);   //przerwa jednego banku pomiedzy literami
  }  
  
}
//---------------------------------Main-------------------------------------------//





 void main(void)
 {
   WDTCTL = WDTPW + WDTHOLD;
   //USTAWIANIE W TRYB SPI//
   U0CTL =  0x16;    //SPI , 8 bit , master
   U0TCTL = 0XB2;    // 3-pin mode , brak polaryzacji , brak fazy
   U0BR0 =  0X02;    // UCLK/2
   U0BR1 =  0X00;
   UMCTL0 = 0X00;
   ME1 = 0X40;      //zalacz SPI0
   //USTAWIANIE FUNKCJI PORTU P3//
   P3DIR = 7;    //Pierwsze 3 bity P3 ustaw jako wyjscie
    
     
   P3SEL &=~ 1;  //bit 0 funkcja podstawowa
   P3SEL =   2;  //bit 1 funkcja SPI
   P3SEL &=~ 4;  //bit 2 funkcja podstawowa (DC - nie potrzebne jest SPI)
   P3SEL  =  10; //bit 1 i 3 funkcja SPI
     
    P3OUT = 1; // WYLACZENIE STEROWNIKA LCD 
    opoznienie(100);
   
  //WYSYLANIE KOMEND DO LCD//
   
   
   LCD(0x21, wyslij_komende); // rozszerzony zestaw komend H=1
   LCD(0xC8, wyslij_komende); // ustawienie Vop (kontrastu)
   LCD(0x06, wyslij_komende); // ustawienie wspol. temperaturowy
   LCD(0x13, wyslij_komende); // ustawienie multipleksowania na 1:48
   LCD(0x20, wyslij_komende); // przelonczenie na standardowe komendy H=0 oraz V=0
   LCD(0x0C, wyslij_komende); // display control - tryb standartowy
   LCDczysc();
   LCDustaw();
   LCDnapis("PracaDyplomowa  2006/2007   MarcinBarowskiJanusz        Szymanski");  //<- wypisywany tekst na wyswietlaczu
   for (;;);
}

⌨️ 快捷键说明

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