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口中断 }