📄 snake.i
字号:
/*------------------------------
SNAKE.H
-------------------------------*/
/* CodeVisionAVR C Compiler
Prototypes for standard library functions
(C) 1998-2003 Pavel Haiduc, HP InfoTech S.R.L.
*/
#pragma used+
int atoi(char *str);
long int atol(char *str);
float atof(char *str);
void itoa(int n,char *str);
void ltoa(long int n,char *str);
void ftoa(float n,unsigned char decimals,char *str);
void ftoe(float n,unsigned char decimals,char *str);
void srand(int seed);
int rand(void);
void *malloc(unsigned int size);
void *calloc(unsigned int num, unsigned int size);
void *realloc(void *ptr, unsigned int size);
void free(void *ptr);
#pragma used-
#pragma library stdlib.lib
// CodeVisionAVR C Compiler
// (C) 1998-2000 Pavel Haiduc, HP InfoTech S.R.L.
#pragma used+
void delay_us(unsigned int n);
void delay_ms(unsigned int n);
#pragma used-
// CodeVisionAVR C Compiler
// (C) 1998-2005 Pavel Haiduc, HP InfoTech S.R.L.
// Prototypes for string functions
#pragma used+
char *strcat(char *str1,char *str2);
char *strcatf(char *str1,char flash *str2);
char *strchr(char *str,char c);
signed char strcmp(char *str1,char *str2);
signed char strcmpf(char *str1,char flash *str2);
char *strcpy(char *dest,char *src);
char *strcpyf(char *dest,char flash *src);
unsigned char strcspn(char *str,char *set);
unsigned char strcspnf(char *str,char flash *set);
unsigned int strlenf(char flash *str);
char *strncat(char *str1,char *str2,unsigned char n);
char *strncatf(char *str1,char flash *str2,unsigned char n);
signed char strncmp(char *str1,char *str2,unsigned char n);
signed char strncmpf(char *str1,char flash *str2,unsigned char n);
char *strncpy(char *dest,char *src,unsigned char n);
char *strncpyf(char *dest,char flash *src,unsigned char n);
char *strpbrk(char *str,char *set);
char *strpbrkf(char *str,char flash *set);
signed char strpos(char *str,char c);
char *strrchr(char *str,char c);
char *strrpbrk(char *str,char *set);
char *strrpbrkf(char *str,char flash *set);
signed char strrpos(char *str,char c);
char *strstr(char *str1,char *str2);
char *strstrf(char *str1,char flash *str2);
unsigned char strspn(char *str,char *set);
unsigned char strspnf(char *str,char flash *set);
char *strtok(char *str1,char flash *str2);
unsigned int strlen(char *str);
void *memccpy(void *dest,void *src,char c,unsigned n);
void *memchr(void *buf,unsigned char c,unsigned n);
signed char memcmp(void *buf1,void *buf2,unsigned n);
signed char memcmpf(void *buf1,void flash *buf2,unsigned n);
void *memcpy(void *dest,void *src,unsigned n);
void *memcpyf(void *dest,void flash *src,unsigned n);
void *memmove(void *dest,void *src,unsigned n);
void *memset(void *buf,unsigned char c,unsigned n);
#pragma used-
#pragma library string.lib
/*--------------------
5110.h
---------------------*/
// CodeVisionAVR C Compiler
// (C) 1998-2004 Pavel Haiduc, HP InfoTech S.R.L.
// I/O registers definitions for the ATmega8
#pragma used+
sfrb TWBR=0;
sfrb TWSR=1;
sfrb TWAR=2;
sfrb TWDR=3;
sfrb ADCL=4;
sfrb ADCH=5;
sfrw ADCW=4; // 16 bit access
sfrb ADCSRA=6;
sfrb ADMUX=7;
sfrb ACSR=8;
sfrb UBRRL=9;
sfrb UCSRB=0xa;
sfrb UCSRA=0xb;
sfrb UDR=0xc;
sfrb SPCR=0xd;
sfrb SPSR=0xe;
sfrb SPDR=0xf;
sfrb PIND=0x10;
sfrb DDRD=0x11;
sfrb PORTD=0x12;
sfrb PINC=0x13;
sfrb DDRC=0x14;
sfrb PORTC=0x15;
sfrb PINB=0x16;
sfrb DDRB=0x17;
sfrb PORTB=0x18;
sfrb EECR=0x1c;
sfrb EEDR=0x1d;
sfrb EEARL=0x1e;
sfrb EEARH=0x1f;
sfrw EEAR=0x1e; // 16 bit access
sfrb UBRRH=0x20;
sfrb UCSRC=0X20;
sfrb WDTCR=0x21;
sfrb ASSR=0x22;
sfrb OCR2=0x23;
sfrb TCNT2=0x24;
sfrb TCCR2=0x25;
sfrb ICR1L=0x26;
sfrb ICR1H=0x27;
sfrw ICR1=0x26; // 16 bit access
sfrb OCR1BL=0x28;
sfrb OCR1BH=0x29;
sfrw OCR1B=0x28; // 16 bit access
sfrb OCR1AL=0x2a;
sfrb OCR1AH=0x2b;
sfrw OCR1A=0x2a; // 16 bit access
sfrb TCNT1L=0x2c;
sfrb TCNT1H=0x2d;
sfrw TCNT1=0x2c; // 16 bit access
sfrb TCCR1B=0x2e;
sfrb TCCR1A=0x2f;
sfrb SFIOR=0x30;
sfrb OSCCAL=0x31;
sfrb TCNT0=0x32;
sfrb TCCR0=0x33;
sfrb MCUCSR=0x34;
sfrb MCUCR=0x35;
sfrb TWCR=0x36;
sfrb SPMCR=0x37;
sfrb TIFR=0x38;
sfrb TIMSK=0x39;
sfrb GIFR=0x3a;
sfrb GICR=0x3b;
sfrb SPL=0x3d;
sfrb SPH=0x3e;
sfrb SREG=0x3f;
#pragma used-
// Interrupt vectors definitions
flash unsigned char numberTab[] = {"0123456789"};
flash unsigned char characterTab[92][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp 0
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // ! 1
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // " 2
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # 3
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ 4
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // % 5
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // & 6
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' 7
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( 8
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) 9
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // * 10
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // + 11
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // , 12
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // - 13
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // . 14
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // / 15
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0 16
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1 17
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 18
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3 19
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4 20
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 21
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6 22
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 23
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 24
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9 25
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // : 26
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; 27
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // < 27
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // = 29
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // > 30
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? 31
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @ 32
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A 33
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B 34
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C 35
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D 36
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E 37
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F 38
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G 39
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H 40
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I 41
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J 42
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K 43
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L 44
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M 45
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N 46
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O 47
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P 48
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q 49
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R 50
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S 51
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T 52
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U 53
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V 54
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W 55
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X 56
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y 57
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z 58
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [ 59
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55 60
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ] 61
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ 62
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ 63
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // ' 64
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a 65
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b 66
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c 67
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d 68
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e 69
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f 70
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g 71
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h 72
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i 73
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j 74
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k 75
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l 76
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m 77
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n 78
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o 79
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p 80
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q 81
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r 82
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s 83
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t 84
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u 85
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v 86
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w 87
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x 88
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y 89
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z 90
{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines 91
};
flash unsigned char chineseTab[5][32] = {
{0x00,0xFE,0x22,0x22,0xFE,0x00,0x40,0x48,0xC8,0x09,0xFA,0xE4,0x40,0x20,0x10,0x00,0x80,0x7F,0x02,0x82,0xFF,0x20,0x10,0x0C,0x43,0x80,0x7F,0x00,0x07,0x18,0x20,0x00},/*"脉",0*/
{0x10,0x10,0x10,0xFF,0x10,0x90,0x04,0xF4,0x54,0x54,0xFF,0x54,0x55,0xF6,0x04,0x00,0x04,0x44,0x82,0x7F,0x01,0x00,0x08,0x0B,0x19,0x69,0x0B,0x89,0xFD,0x0B,0x08,0x00},/*"搏",1*/
{0x10,0x60,0x02,0x8C,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0xFF,0x00,0x00,0x04,0x04,0x7E,0x01,0x80,0x47,0x30,0x0F,0x10,0x27,0x00,0x47,0x80,0x7F,0x00,0x00},/*"测",2*/
{0x20,0x20,0x20,0xBE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBE,0x20,0x20,0x20,0x00,0x00,0x80,0x80,0xAF,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xAF,0x80,0x80,0x00,0x00},/*"量",3*/
{0x00,0x80,0x60,0xF8,0x07,0x00,0x1C,0xE0,0x01,0x06,0x00,0xE0,0x1E,0x00,0x00,0x00,0x01,0x00,0x00,0xFF,0x00,0x80,0x40,0x20,0x13,0x0C,0x13,0x20,0x40,0x80,0x80,0x00}/*"仪",4*/
};
flash unsigned char bmpTab[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xB8,0xB8,0xF8,
0xF0,0xE0,0x80,0x80,0x80,0x80,0x00,0xE0,0xF0,0x98,0x08,0x08,0xB8,0xB0,0x80,0x80,
0x80,0x00,0xF8,0xF8,0xF8,0xC0,0x00,0xF8,0xF8,0x00,0x80,0x80,0x00,0x00,0xE0,0xF8,
0xF8,0xF8,0x00,0x80,0x80,0x80,0x00,0xF8,0xF8,0x80,0xC0,0xF0,0x38,0x88,0x80,0x80,
0x00,0xF8,0xF8,0x08,0x08,0x08,0x08,0x00,0x80,0x00,0x00,0x00,0x80,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0F,0x1F,0x3F,
0x7F,0x77,0x77,0x7F,0x3F,0x1F,0x07,0x07,0x07,0x07,0x17,0x76,0x65,0x45,0x43,0x7E,
0x3E,0x01,0x0F,0x0F,0x07,0x78,0x7F,0x07,0x03,0x1F,0x7C,0x7F,0x07,0x08,0x0F,0x67,
0x78,0x1F,0x07,0x04,0x07,0x7F,0x7C,0x03,0x0F,0x07,0x78,0x7F,0x07,0x03,0x0F,0x7F,
0x70,0x0F,0x0F,0x07,0x78,0x7F,0x47,0x41,0x41,0x41,0x01,0x00,0x0F,0x07,0x03,0x03
};
//#define SEI SREG|=0x80
void Initial5110(void);
void Clean(void);
void PrintChar(unsigned char c);
void SetAddress(unsigned char x, unsigned char y);
void WriteByte(unsigned char datas, unsigned char command);
void PrintString(unsigned char x,unsigned char y,char *pString);
void PrintChinese(unsigned char x, unsigned char y);
void PrintBmp(unsigned char x, unsigned char y);
void Delayms(unsigned int ms);
void Delayms(unsigned int ms)
{
unsigned char i;
while (ms--)
{
for (i=0; i<125; i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -