⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 此程序是用来实行贪吃蛇小游戏功能的
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<reg52.h>
#include<intrins.h>
/************************/

#define uchar unsigned char

/********总线以及地址线的定义************/
#define disp_on_12864 0x3f
#define disp_off_12864  0x3e
#define col_12864     0x40
#define row_12864     0xb8
#define start_line_12864   0xc0
#define lcd_bus_12864  P1

sbit di_12864 =P3^3;
sbit rw_12864 =P3^4;
sbit enable_12864 =P3^5;
sbit cs1_12864=P3^7;
sbit cs2_12864 =P3^6;


/***********函数申明*************/
void  clear_screen_12864();
void delay_12864();
void  init_lcd_12864();
void write_command_12864 (uchar cmdcode);
void write_data_12864 (uchar dispdata);
void delay(void);
uchar keyscan(void);
void refresh(void);
void out(uchar *pz);
void ding(void);
void init();
void caidan();
void caidana();
void lxy();
void outhf(uchar *pz,uchar n);
void outh(uchar *pz,uchar n);




uchar code kong[]={/*--  文字:     --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

uchar code qiang[]={/*--  文字:  @  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=8x16   --*/
0x7f,0x00,0x7f,0x00,0x7f,0x00,0x7f,0x00};

uchar code she[]={
0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x00};


uchar code diyiguan[]={/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  一  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x40,0x40,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  二  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x18,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,
0x08,0x08,0x08,0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x06,0x04,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  三  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x88,0x88,0x88,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x10,0x10,0x11,0x11,0x11,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  四  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x70,0x90,0x10,0x10,0xF0,0x10,0x10,0xF8,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,
0x00,0x00,0x07,0x04,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x08,0x07,0x00,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  五  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x80,0x88,0x88,0x78,0x44,0x44,0x44,0xC4,0x00,0x00,0x00,0x00,0x00,
0x10,0x10,0x10,0x10,0x18,0x0F,0x08,0x08,0x08,0x0F,0x08,0x08,0x08,0x08,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  六  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x40,0x40,0x40,0x40,0x44,0x48,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
0x00,0x10,0x10,0x08,0x04,0x02,0x00,0x00,0x01,0x02,0x04,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  七  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x80,0x80,0x40,0x40,0x20,0x20,0x20,0x00,0x00,
0x02,0x02,0x02,0x02,0x01,0x01,0x0F,0x10,0x10,0x10,0x10,0x10,0x1C,0x00,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  八  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0xC0,0x04,0x08,0x30,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x0C,0x08,0x08,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  九  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x40,0x40,0x40,0xC0,0x3E,0x20,0x20,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x20,0x10,0x08,0x06,0x01,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x20,0x1C,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00,

/*--  文字:  第  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x08,0x84,0xA7,0xAA,0xA2,0xE8,0x54,0x53,0x36,0x02,0x02,0x00,0x00,0x00,
0x00,0x20,0x20,0x13,0x0A,0x06,0x02,0x7F,0x01,0x05,0x09,0x09,0x07,0x00,0x00,0x00,

/*--  文字:  十  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x40,0x40,0x40,0x40,0x40,0xFE,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  关  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x22,0x2C,0x20,0xE0,0x98,0x97,0x90,0x80,0x80,0x00,0x00,0x00,
0x00,0x01,0x21,0x21,0x11,0x09,0x05,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,0x00};

uchar code nandu[]={/*--  文字:  容  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x20,0x18,0x88,0x48,0x28,0x85,0x86,0x24,0x24,0x44,0x0C,0x00,0x00,0x00,0x00,
0x00,0x08,0x08,0x04,0x3A,0x29,0x24,0x24,0x25,0x3E,0x02,0x04,0x04,0x04,0x04,0x00,

/*--  文字:  易  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x80,0xDE,0x95,0x95,0x91,0x99,0x47,0x40,0xC0,0x00,0x00,0x00,
0x00,0x00,0x09,0x29,0x24,0x12,0x09,0x04,0x22,0x41,0x20,0x1C,0x03,0x00,0x00,0x00,


/*--  文字:  中  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x30,0xD0,0x10,0x10,0x10,0xFF,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  等  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x88,0x84,0xA7,0xAA,0xA2,0x78,0xD4,0x53,0x46,0x41,0x41,0x40,0x00,0x00,
0x00,0x00,0x00,0x02,0x02,0x06,0x0A,0x22,0x7F,0x01,0x01,0x01,0x00,0x00,0x00,0x00,

/*--  文字:  困  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0xFC,0x04,0x04,0x24,0xA4,0xFA,0x92,0x12,0x02,0x02,0xFE,0x00,0x00,0x00,
0x00,0x00,0x1F,0x10,0x12,0x11,0x10,0x1F,0x10,0x09,0x0A,0x10,0x3F,0x00,0x00,0x00,

/*--  文字:  难  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x30,0x50,0x88,0x78,0x20,0x10,0xF8,0x07,0x90,0xF4,0x48,0x48,0x08,0x00,0x00,
0x08,0x04,0x02,0x01,0x01,0x02,0x00,0x7F,0x08,0x0A,0x0F,0x05,0x05,0x04,0x00,0x00};

uchar code shifoutuichu[]={/*--  文字:  是  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x80,0x80,0x82,0x9E,0xAA,0xAA,0xA1,0x5D,0x43,0x40,0x00,0x00,0x00,0x00,
0x20,0x20,0x10,0x08,0x06,0x04,0x08,0x1F,0x12,0x22,0x22,0x20,0x20,0x20,0x20,0x00,

/*--  文字:  否  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x04,0x04,0x84,0x44,0xF4,0x0C,0x02,0x22,0x42,0x42,0x82,0x80,0x00,0x00,
0x00,0x01,0x01,0x01,0x3C,0x24,0x25,0x12,0x12,0x12,0x0E,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  退  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x40,0x20,0xE4,0x08,0x00,0x00,0xFC,0x2A,0xAA,0xB2,0x4E,0x20,0x00,0x00,0x00,
0x00,0x08,0x09,0x0E,0x08,0x08,0x10,0x17,0x12,0x22,0x20,0x21,0x22,0x20,0x20,0x00,

/*--  文字:  出  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xF0,0x80,0x80,0x80,0xFE,0x40,0x40,0x40,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x10,0x10,0x10,0x1F,0x08,0x08,0x08,0x3C,0x00,0x00,0x00,0x00};

uchar code shi[]={/*--  文字:  是  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x80,0x80,0x82,0x9E,0xAA,0xAA,0xA1,0x5D,0x43,0x40,0x00,0x00,0x00,0x00,
0x20,0x20,0x10,0x08,0x06,0x04,0x08,0x1F,0x12,0x22,0x22,0x20,0x20,0x20,0x20,0x00};

uchar code fou[]={/*--  文字:  否  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x04,0x04,0x84,0x44,0xF4,0x0C,0x02,0x22,0x42,0x42,0x82,0x80,0x00,0x00,
0x00,0x01,0x01,0x01,0x3C,0x24,0x25,0x12,0x12,0x12,0x0E,0x00,0x00,0x00,0x00,0x00};


uchar towads,a[64],b[15],key,x,row,col,state,longe,guan,hard,din,v;
bit yn;



/**********清除显屏(清除显示内存)***********/
void  clear_screen_12864()
{
 unsigned char i,j;
 cs1_12864 =0;cs2_12864=1;    /**清除左屏**/
 for(i=0;i<8;i++)
 {
   write_command_12864 (row_12864 +i);
   write_command_12864 (col_12864 +0);  //列地址0
   for(j=0;j<64;j++)
     write_data_12864 (0x00);     //每做一次写操作,列地址加1
 }
 cs1_12864 =1;cs2_12864 =0;    /**清除右屏**/
   for(i=0;i<8;i++)
 {
   write_command_12864(row_12864 +i);
   write_command_12864(col_12864+0);  //列地址0
   for(j=0;j<64;j++)
     write_data_12864(0x00);     //每做一次写操作,列地址加1
 }
}

/***********延时1ms**************/
void delay_12864()
{ unsigned int dy=500;
  while(--dy);
}

/*************初始化LCD屏***************/
void  init_lcd_12864()
{   
clear_screen_12864(); 
cs1_12864=1;cs2_12864=0;	 //右屏
delay_12864();
write_command_12864(disp_off_12864);
write_command_12864(start_line_12864);
write_command_12864(disp_on_12864); 
cs1_12864=0;cs2_12864=1;      //左屏
delay_12864();
write_command_12864(disp_off_12864);
write_command_12864(start_line_12864);
write_command_12864(disp_on_12864);  
}

/*******写指令到LCD*********/
void write_command_12864 (unsigned char cmdcode)
{
//lcd_busy();
di_12864 =0;
rw_12864 =0;
lcd_bus_12864 =cmdcode;      //输入控制命令(display on/off,display startline,row,col)
enable_12864 =1;
_nop_();
enable_12864 =0;
}



/***********写显示的数据到LCD***********/
void write_data_12864 (unsigned char dispdata)
{
//lcd_busy();
di_12864 =1;
rw_12864 =0;
lcd_bus_12864 =dispdata;
enable_12864 =1;
_nop_();
enable_12864 =0;
}

/****************延时****************/
void delay(void)
{
  uchar i;
  for(i=0;i<125;i++)
  {}
}

/**************键盘扫描************/
uchar keyscan(void)
{
	uchar scancode,tmpcode;
	P2 = 0xf0;
	if ((P2&0xf0)!=0xf0)
	{
		delay();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -