»ùÓÚÎïÁªÍøµÄ°²±£ÏµÍ³Èí¼þÉè¼Æ-²â¿ØÄ£¿é_±ÏÒµÂÛÎÄ ÏÂÔØ±¾ÎÄ

Î÷°²Å·ÑÇѧԺ±¾¿Æ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

ldr sp,=SFE(FIQ_STACK) ;

bic r0,r0,#MODE_MSK ; //Çå³ýģʽλ orr r0,r0,#IRQ_MODE ; //ÉèÖÃÖжÏÇëÇóλ msr cpsr_c,r0 ; //¸Ä±äģʽλ ldr sp,=SFE(IRQ_STACK) ; //½áÊøÖжÏÇëÇó¶ÑÕ» bic r0,r0,#MODE_MSK ; //Çå³ýģʽλ orr r0,r0,#SYS_MODE ; //ÉèÖÃϵͳģʽλ msr cpsr_c,r0 ; //¸Ä±äģʽλ ldr sp,=SFE(CSTACK) ; //½áÊø¶ÑÕ»Àà

5.2 Ö÷³ÌÐò

ͼ5-1

Ö÷»·Â·³ÌÐò´úÂ룺 #include \#include \#include \#include \#include \#include \#include \

21

Î÷°²Å·ÑÇѧԺ±¾¿Æ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

int main (void) { uint8

lines[]={0xfd,0x23,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x10,0x00,0x90,0xdd,0xcc,0xbb,0xaa}; //»­ÏßÊý×é

uint8

addrxy1[]={0xfd,0x23,0x00,0x08,0,160,0,45,0,160,0,20,0xdd,0xcc,0xbb,0xaa};

//uint8 addrxy1[]=

uint8 state=0; // ½çÃæ×´Ì¬±äÁ¿¶¨Òå¡¢¸³Öµ

uint16 touch_x=0x0; // ´¥ÃþµãX×ø±ê±äÁ¿¶¨Òå/¸³£¨ÈÎÒ⣩³õÖµ uint16 touch_y=0x0; // ´¥ÃþµãY×ø±ê±äÁ¿¶¨Òå/¸³£¨ÈÎÒ⣩³õÖµ uint8 pic_id=0x1f; // ͼƬ±àºÅ±äÁ¿¶¨Òå¡¢¸³Öµ uint8 option3=0x3; //¶þ¼¶Ä¿Â¼Æô¶¯Í£Ö¹ÅжÏ

TargetResetInit(); // Ä¿±ê°å³õʼ»¯ UART1_Init(); // UART1³õʼ»¯

DelayMS(100); // ÓÃÓÚ×öÆäËû´¦Àí»òÑÓʱ£¬Ê¹µÃ²ÊÆÁÖÕ¶ËÉϵçÍê SetColor(0x6781F,0x06ff); // °×µ×À¶ WaitNoBusy(); // LCM ¿ÕÏÐÅÐÌø DisPicture(2); //ÏÔʾµÚ1·ùͼƬ SetColor(0x9152,0x6eff);

ClearScreen(); // ÇåÆÁ£¨µ÷É«°åÉèÖúó±ØÐëÇåÆÁ£© DelayMS(10);

PutString(10,10,0x12,\¶þÁãÒ»¶þ½ç±ÏÒµÉè¼Æ\ DelayMS(100);

PutString(65,60,0x13,\»ùÓÚÎïÁªÍøµÄ\ DelayMS(100);

PutString(100,100,0x13,\°²±£ÏµÍ³\ DelayMS(100);

PutString(170,190,0x12,\Î÷°²Å·ÑÇѧԺ\ DelayMS(100);

PutString(150,210,0x12,\ͨÐŹ¤³Ì ËÄÈËС×é\

DelayMS(3000);

PageMenu(); // ²Ëµ¥º¯Êý

22

Î÷°²Å·ÑÇѧԺ±¾¿Æ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

for(;;) // Ñ­»·Ìå {

WaitNoBusy(); // ÎÞ´¥ÃþÅÐÌø switch(state) // ɢת£¨Ìõ¼þÌø×ª£© {

//Ö÷²Ëµ¥½çÃæ case 0:

if(GetTouchValue(&touch_x,&touch_y)) // ´¥ÃþÅжϣ¬·µ»Ø´¥ÃþÖµ {

pic_id=GetTouchID(touch_x,touch_y); // »ñµÃͼƬID£¬Í¬Ê±¸Ä±äÑÕÉ«

if(pic_id<12) // ID ±ß½çÅÐÌø {

Page2(); panbie(pic_id);

state=1; // Ìø×ª½çÃæ×´Ì¬ } else break; } break;

case 1:

if(GetTouchValue(&touch_x,&touch_y)) {

option3=TouchValid(touch_x,touch_y); {

if(option3==0) { Page2();

state=panbie_bt(pic_id); }

else if(option3==1) { Page2(); panbie(pic_id);

23

Î÷°²Å·ÑÇѧԺ±¾¿Æ±ÏÒµÂÛÎÄ£¨Éè¼Æ£©

state=1; }

else if(option3==2) {

WaitNoTouch();

DelayMS(15); // ÑÓʱ state=2; }

else if(option3==3) {

WaitNoTouch();

DelayMS(15); state=2; } else {

WaitNoTouch(); state=1; } break; } } break;

//ÔÚϼ¶½çÃæÖб»°´ÁË·µ»Ø¼ü case 2: PageMenu(); state=0; break; default:break; } } }

24

// ÑÓʱ