?? pproject.i
字號:
#line 1 "E:\張軍\AVR\光盤內容\實例源文件\第五章程序\Project\Pproject.c"
#line 1 "C:/icc/include/io8535v.h"
#line 7 "C:/icc/include/io8535v.h"
#line 10 "C:/icc/include/io8535v.h"
#line 3 "E:\張軍\AVR\光盤內容\實例源文件\第五章程序\Project\Pproject.c"
#line 1 "C:/icc/include/macros.h"
#line 33 "C:/icc/include/macros.h"
void _StackCheck(void);
void _StackOverflowed(char);
#line 4 "E:\張軍\AVR\光盤內容\實例源文件\第五章程序\Project\Pproject.c"
#line 1 "E:\張軍\AVR\光盤內容\實例源文件\第五章程序\Project/project.h"
const char QFDZ[4][32]={
{0x10,0x10,0x17,0x15,0x95,0x75,0x57,0x10,0x10,0x13,0x30,0xD0,0x57,0x10,0x10,0x00,
0x00,0x00,0xFE,0x20,0x24,0x22,0xFC,0x00,0x00,0xF8,0x02,0x01,0xFE,0x00,0x00,0x00},
{0x10,0x10,0x10,0x10,0x10,0x10,0x9F,0x52,0x32,0x12,0x12,0x13,0x10,0x10,0x10,0x00,
0x02,0x02,0x04,0x08,0x30,0xC0,0x00,0x00,0x04,0x02,0x02,0xFC,0x00,0x00,0x00,0x00},
{0x00,0x44,0x4E,0x54,0x64,0x47,0x54,0x4E,0x44,0x00,0x1F,0x00,0x00,0xFF,0x00,0x00,
0x00,0x42,0x43,0x42,0x44,0xFC,0x44,0x48,0x48,0x00,0xF0,0x02,0x01,0xFE,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char DL[2][32]={
{0x00,0x44,0x4E,0x54,0x64,0x47,0x54,0x4E,0x44,0x00,0x1F,0x00,0x00,0xFF,0x00,0x00,
0x00,0x42,0x43,0x42,0x44,0xFC,0x44,0x48,0x48,0x00,0xF0,0x02,0x01,0xFE,0x00,0x00},
{0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x4F,0x48,0x50,0x50,0x60,0x60,0x40,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
};
const char State1[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State2[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x0E,0x10,0x10,0x10,0x11,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0C,0x14,0x24,0x44,0x84,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State3[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x0C,0x10,0x11,0x11,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x04,0x04,0x04,0x88,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State4[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x00,0x03,0x04,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x20,0x24,0x24,0xFC,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State5[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x1F,0x10,0x11,0x11,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x98,0x84,0x04,0x04,0x88,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State6[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x07,0x08,0x11,0x11,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF0,0x88,0x04,0x04,0x88,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State7[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x1C,0x10,0x10,0x13,0x1C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State8[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x38,0x44,0x84,0x84,0x44,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State9[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x8C,0x44,0x44,0x88,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State10[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0xF0,0x08,0x04,0x04,0x08,0xF0,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State11[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State12[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x0E,0x10,0x10,0x10,0x11,0x0E,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x0C,0x14,0x24,0x44,0x84,0x0C,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State13[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x0C,0x10,0x11,0x11,0x12,0x0C,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x18,0x04,0x04,0x04,0x88,0x70,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State14[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x08,0x1F,0x00,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0xE0,0x20,0x24,0x24,0xFC,0x24,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State15[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x11,0x11,0x10,0x10,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0x98,0x84,0x04,0x04,0x88,0x70,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
const char State16[3][32]={
{0x08,0x10,0x20,0xCB,0x6A,0x5A,0x4A,0x5A,0x2F,0xCA,0x6A,0x5A,0x4E,0x40,0x40,0x00,
0x00,0x04,0x04,0xC4,0x48,0x48,0x50,0x60,0xFF,0x40,0x40,0x48,0x44,0x78,0x00,0x00},
{0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x11,0x11,0x18,0x00,0x00,
0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00,0x00,0xF0,0x88,0x04,0x04,0x88,0x70,0x00},
{0x08,0x0A,0x49,0x38,0x08,0x0F,0x08,0x00,0x00,0x00,0xFF,0x08,0x08,0x08,0x08,0x00,
0x08,0x08,0xD0,0x30,0xD0,0x10,0x00,0xFE,0x84,0x84,0x84,0x84,0x84,0xFE,0x00,0x00}
};
#line 9 "E:\張軍\AVR\光盤內容\實例源文件\第五章程序\Project\Pproject.c"
unsigned char Key_Value;
unsigned char State_Flag;
unsigned char Ack_Flag;
unsigned char Pre_Flag;
unsigned char Move_Flag;
unsigned char Spec_Flag;
unsigned char EOM_Flag=1;
unsigned char Pst_Flag;
unsigned char State=1;
unsigned char Spec;
unsigned char Speed=20;
unsigned char Word_Number;
unsigned char Snd_Info[]={0,17};
unsigned char Snd_Pre_Info[]={18,0,19};
unsigned char Snd_Spec[]={21,22};
unsigned char Snd_Welc=20;
unsigned char text[32];
unsigned char next[32];
#pragma interrupt_handler Key_Scan:2
#pragma interrupt_handler Receive_EOM:3
void delay(unsigned char i)
{for(;i!=0;i--)asm("nop");}
void Set_SCL(unsigned char i)
{
if(i)
(*(volatile unsigned char *)0x3B) |=0x80;
else
(*(volatile unsigned char *)0x3B) &=0x7f;
}
void Set_SDA(unsigned char i)
{
if(i)
(*(volatile unsigned char *)0x3B) |=0x40;
else
(*(volatile unsigned char *)0x3B) &=0xbf;
}
void Start()
{
Set_SDA(1);
Set_SCL(1);
delay(100);
Set_SDA(0);
delay(100);
Set_SCL(0);
}
void Stop()
{
Set_SDA(0);
delay(100);
Set_SCL(1);
delay(100);
Set_SDA(1);
delay(100);
Set_SCL(0);
}
void Ack()
{
Set_SDA(0);
delay(50);
Set_SCL(1);
delay(100);
Set_SCL(0);
delay(50);
Set_SDA(1);
}
void Nack()
{
Set_SDA(1);
delay(50);
Set_SCL(1);
delay(100);
Set_SCL(0);
delay(50);
Set_SDA(0);
}
void Check_Ack()
{
Set_SDA(1);
Set_SCL(1);
Ack_Flag=0;
(*(volatile unsigned char *)0x3A) &=0xbf;
if(!(((*(volatile unsigned char *)0x39) & 0x40)>>6))
{
delay(50);
Set_SCL(0);
delay(100);
}
else
{
Ack_Flag=1;
delay(50);
Set_SCL(0);
delay(100);
}
(*(volatile unsigned char *)0x3A) |=0xff;
}
void Write_Bit0()
{
Set_SDA(0);
Set_SCL(1);
delay(100);
Set_SCL(0);
}
void Write_Bit1()
{
Set_SDA(1);
Set_SCL(1);
delay(100);
Set_SCL(0);
Set_SDA(0);
}
void Write_Byte(unsigned char Data)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(Data & 0x80)
Write_Bit1();
else
Write_Bit0();
Data <<=1;
}
}
unsigned char Read_Byte()
{
unsigned char Read_Data=0xff;
unsigned char j;
for (j=0;j<8;j++)
{
Set_SDA(1);
Set_SCL(1);
(*(volatile unsigned char *)0x3A) &=0xbf;
if(((*(volatile unsigned char *)0x39) & 0x40)==0)
{
Read_Data <<=1;
Read_Data=(Read_Data & 0xfe);
Set_SCL(0);
}
else
{
Read_Data <<=1;
Read_Data =( Read_Data | 0x01);
Set_SCL(0);
}
}
(*(volatile unsigned char *)0x3A) |=0x40;
return(Read_Data);
}
void Write_1byte(unsigned char Slave,unsigned char Address,unsigned char Data)
{
Start();
Write_Byte(Slave);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Write_Byte(Address);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Write_Byte(Data);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Stop();
}
void Write_2byte(unsigned char Slave,unsigned char Address,unsigned char Data0,unsigned char Data1)
{
Start();
Write_Byte(Slave);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Write_Byte(Address);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Write_Byte(Data0);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Write_Byte(Data1);
do
{
Check_Ack();
}
while(Ack_Flag==1);
Stop();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -