www.pudn.com > msp430lcd12864.rar > msp430Lcd.c


//液晶操作,主要解决显示数据读出问题,这个程序为页读出,页回写方式 
//#include  
#include "BasicOperation.h" 
#include "LcdCmd.h" 
#include "LcdDisplayData.h" 
#include "ButtonOperation.h" 
 
LCD_DISPLAY_XFER level1,level11,level12; 
LCD_DISPLAY_XFER* CurrentLevel=&level1; 
 
void InitLevel(void)////初始化菜单链表 
{ 
  level1.TitleNumber=3;//当前层中的标题个数,不能超过MAX_TITLE_NUM个 
  level1.SelectedTitle=0; //当前层中被选种的标题 
  level1.pTiltle[0]=Level1Title1;//指向Title数据的指针 
  level1.pTiltle[1]=Level1Title2; 
  level1.pTiltle[2]=Level1Title3; 
  level1.pLevelUp=NULL;//上一层 
  level1.pLevelDown[0]=&level11;//下一层 
  level1.pLevelDown[1]=&level12; 
  level1.pLevelDown[2]=NULL; 
 
  level11.TitleNumber=3;//当前层中的标题个数,不能超过MAX_TITLE_NUM个 
  level11.SelectedTitle=0; //当前层中被选种的标题 
  level11.pTiltle[0]=Level2Title12;//指向Title数据的指针 
  level11.pTiltle[1]=Level2Title12; 
  level11.pTiltle[2]=Level2Title12; 
  level11.pLevelUp=&level1;//上一层 
  level11.pLevelDown[1]=NULL;//下一层 
  level11.pLevelDown[2]=NULL; 
  level11.pLevelDown[3]=NULL; 
 
  level12.TitleNumber=2;//当前层中的标题个数,不能超过MAX_TITLE_NUM个 
  level12.SelectedTitle=0; //当前层中被选种的标题 
  level12.pTiltle[0]=Level2Title12;//指向Title数据的指针 
  level12.pTiltle[1]=Level2Title12; 
  level12.pLevelUp=&level1;//上一层 
  level12.pLevelDown[1]=NULL;//下一层 
  level12.pLevelDown[2]=NULL; 
} 
 
 
 
void main(void) 
{ 
  InitMcu(); 
  InitButton(); 
  InitLevel();//初始化菜单链表 
  InitLcd(); 
  ClearScreen(); 
  WriteTitleScreen(&level1); 
  _EINT();  
  while(1); 
} 
 
#pragma vector=PORT1_VECTOR           //中断向量表的位置 
__interrupt void OnButton (void)      //处理键盘中断 
{ 
  P1IE=0x00;                          //关P1口中断 
  switch(P1IFG&0xdf) 
  { 
    case 0x01:OnButton1();break; 
    case 0x02:OnButton2();break; 
    case 0x04:OnButton3();break; 
    case 0x08:OnButton4();break; 
    case 0x10:OnButton5();break; 
    default:DoNothing(); 
  } 
  P1IFG=0X00;                         //清中断标志 
  P1IE=0x1F;                          //开P1口中断 
}