为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

12864显示火影图片

2017-09-02 14页 doc 39KB 17阅读

用户头像

is_266065

暂无简介

举报
12864显示火影图片#include "config.h" /*******************定义与LCD相关的宏*******************/ #define LCD_DATA 0xFF #define LCD_DI 1<<8 //与p0.8对应 #define LCD_RW 1<<9 //与p0.9对应 #define LCD_EN 1<<10 //与p0.10对应. #define LCD_PSB 1<<11 //与p0.11对应//电路直接拉高 #define LCD_RST 1<<12 //与p0.12对应/...
12864显示火影图片
#include "config.h" /*******************定义与LCD相关的宏*******************/ #define LCD_DATA 0xFF #define LCD_DI 1<<8 //与p0.8对应 #define LCD_RW 1<<9 //与p0.9对应 #define LCD_EN 1<<10 //与p0.10对应. #define LCD_PSB 1<<11 //与p0.11对应//电路直接拉高 #define LCD_RST 1<<12 //与p0.12对应//上电自动复位,一般也可以不接* #define clear_screen 0x01 #define reset_address 0x02 #define set_point 0x06 // 0000_0110 #define display_set 0x0c //显示设定 #define cursor_shift_control 0x1c //0001_1100 #define function_set 0x30 //功能设定 基本指令集 #define function_set_ext 0x36 //功能设定 扩充指令集 绘图开 //#define set_CGRAM_ADD #define set_DDRAM_ADD 0x80 //#define write_data_intenalRAM #define uint unsigned int /*****************************************************************************/ void Delay_1ms(uint8 d) { uint8 i; while (d--!=0) { for(i=0;i<40;i++); } } void Delay(uint32 dly) { while(dly--!=0); } /*****************************************************************************/ void LCD_DATA_input() { IO0DIR = IO0DIR & (~LCD_DATA); //把p1.16-p1.23设定为输入 } /*****************************************************************************/ void LCD_DATA_output() { IO0DIR = IO0DIR | LCD_DATA; //设定p0.0-p0.7为输出 } /*****************************************************************************/ void CheckState( ) //状态检查,LCD是否忙, { Delay_1ms(200); // } /*****************************************************************************/ /****************************************************************************** *** 函数名称:GPIO_Init() *** 函数功能:初始化IO端口,包含一个uart0,三个按键输入,以及几个普通的输入输出端口. *** 入口参数:无 *** 出口参数:无 ******************************************************************************/ void GPIO_init() { PINSEL0 = 0; IO0DIR= 0xFF<<8; } /****************************************************************************** ************************** *** 函数名称: w_data(unsigned char data_Lcm) *** 函数功能:给LCD发送数据或者命令. *** 入口参数:data_Lcm *** 出口参数:无 ******************************************************************************* ***************************/ void W_data(uint8 data_Lcm) { CheckState(); LCD_DATA_output(); IO0SET = LCD_DI; IO0CLR = LCD_RW; IO0CLR = 0xFF; IO0SET = data_Lcm; IO0SET = LCD_EN; IO0CLR = LCD_EN; } /****************************************************************************** ************************** *** 函数名称: *** 函数功能: *** 入口参数: *** 出口参数: ******************************************************************************* ***************************/ void W_instruct(uint8 data_Lcm) { CheckState(); LCD_DATA_output(); IO0CLR = LCD_DI; IO0CLR = LCD_RW; IO0CLR = 0xFF; IO0SET = data_Lcm; IO0SET = LCD_EN; IO0CLR = LCD_EN; } /****************************************************************************** ************************** *** 函数名称 *** 函数功能:初始化lcd显示屏 *** 入口参数:无 *** 出口参数:无 ******************************************************************************* ***************************/ void init_lcd(void) { IO0SET = LCD_RST; IO0CLR = LCD_RST; IO0SET = LCD_RST; IO0SET = LCD_PSB; IO0SET = LCD_PSB; W_instruct(function_set); W_instruct(display_set); W_instruct(clear_screen); W_instruct(reset_address); W_instruct(set_DDRAM_ADD); } /*==================================================== 函数功能:清除GDROM的内容,如果不清除会出现花屏现象 清除方法:向GDROM中写入0x00来清除内容 ========================================================*/ void clear() { uint8 i,j,k,lcd_x,lcd_y; lcd_x=0x80; lcd_y=0x80; W_instruct(0x34);//打开扩充指令关闭绘图显示(绘图指令为扩充指令,并且在绘图期间 必须关闭绘图显示功能) for(i=0;i<2;i++)//分为上下两半屏清除显示 { for(j=0;j<32;j++) { W_instruct(lcd_y+j); W_instruct(lcd_x); for(k=0;k<16;k++) { W_data(0x00); } } lcd_x=0x88;//将x指向下半屏 } W_instruct(0x36);//打开绘图指令 W_instruct(0x30);//操作恢复为常用指令 } /*****************************************************************************/ void write_image(uint8 *p) { uint8 i,j,k,lcd_x,lcd_y; lcd_x=0x80; lcd_y=0x80; W_instruct(0x34);//打开扩充功能 for(i=0;i<2;i++) //分为上下两屏 { for(j=0;j<32;j++) { W_instruct(lcd_y+j); W_instruct(lcd_x); for(k=0;k<16;k++) //写入显示数据 { W_data(*p++); } } lcd_x=0x88;//将x地址指向下半屏 } W_instruct(0x36);//打开绘图功能 W_instruct(0x30);//操作恢复为常用指令 } uint8 tu[]={ /*火影图片*/ /*-- 宽度x高度=128x64 --*/ 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFC,0X00,0X00,0X03,0XFF,0XFF,0XF1,0X33,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X3F, 0XFC,0X00,0X00,0X40,0X3E,0XFC,0X00,0X10,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X7F, 0XFC,0X00,0X00,0X40,0X38,0X00,0X00,0X01,0XC3,0XFF,0XFF,0XFF,0XF8,0X00,0XFF,0X7F, 0XFC,0X00,0X00,0XC0,0X50,0X27,0XFE,0X00,0X07,0XFF,0XFF,0XC0,0X00,0X00,0X7F,0X3F, 0XFC,0X00,0X00,0XC0,0X11,0XFF,0XFE,0X00,0X0F,0XFF,0X00,0X00,0X00,0X00,0X2F,0X3F, 0XFC,0X00,0X00,0XC0,0X00,0XF7,0XFE,0X00,0X1F,0XF8,0X03,0XFF,0XFF,0XF8,0X23,0XBF, 0XFC,0X00,0X01,0XC0,0X00,0XF7,0XFE,0X80,0X3F,0XF0,0XFF,0XFF,0XFF,0XF4,0X11,0XBF, 0XFC,0X00,0X01,0XC0,0X01,0XFF,0XFE,0X01,0X3F,0X61,0X7F,0XFF,0XCF,0XFC,0X00,0XFF, 0XFC,0X00,0X01,0XC0,0X00,0XF9,0XFE,0X00,0XEE,0X23,0X3F,0XF8,0X1F,0XFC,0X00,0X3F, 0XFC,0X00,0X01,0XD0,0X00,0XFF,0X80,0XE4,0X0C,0X03,0X3F,0XF7,0XFF,0XFC,0X00,0X3F, 0XFC,0X00,0X01,0XC0,0X00,0X00,0X00,0XF5,0X0A,0X03,0X3F,0XEC,0X3F,0XF8,0X00,0X 3F, 0XFC,0X00,0X01,0X80,0X02,0X01,0X03,0X79,0X16,0X02,0X3F,0XE9,0X3F,0XF8,0X00,0X3F, 0XFC,0X00,0X00,0X00,0X03,0X07,0X66,0XFB,0X14,0X02,0X7F,0XCB,0X5F,0XFC,0X00,0X3F, 0XFC,0X00,0X00,0X00,0X03,0X87,0XFF,0XFF,0X20,0X02,0X7F,0XCC,0X5F,0XFC,0X00,0X3F, 0XFC,0X00,0X00,0X00,0X03,0XDF,0XFF,0XF0,0X00,0X03,0X7F,0XA7,0X9F,0XFC,0X00,0X3F, 0XFC,0X00,0X00,0X00,0X01,0XFF,0XFF,0XF0,0X00,0X03,0X7F,0XA0,0X3F,0XF0,0X00,0X3F, 0XFC,0X00,0X00,0X00,0X01,0XFF,0XFF,0XD0,0X40,0X01,0X7F,0XFD,0XFF,0XF4,0X01,0XBF, 0XFC,0X00,0X00,0X00,0X01,0XFF,0XFF,0XF0,0X00,0X01,0X7F,0XFF,0XFD,0XF8,0X01,0X3F, 0XFC,0X00,0X00,0X00,0X00,0XFF,0XFF,0XC0,0X00,0X00,0X7F,0XFF,0XF0,0X00,0X02,0X3F, 0XFC,0X00,0X00,0X00,0X00,0XF9,0X7F,0XE0,0X03,0X00,0X00,0X00,0X00,0X00,0X0C,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X7D,0XFF,0X80,0X01,0X80,0X00,0X00,0X00,0X0F,0XE8,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X7F,0XFF,0X00,0X00,0XA8,0X00,0X00,0X02,0X03,0XE1,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X3E,0X30,0X00,0X03,0X4F,0X81,0XFF,0XFC,0X01,0XE1,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X0F,0XE0,0X00,0X03,0X0F,0X00,0XFF,0XC4,0X45,0XE1,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X1F,0X00,0X00,0X03,0X1F,0X40,0X47,0XEC,0X0F,0XE9,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X30,0X00,0X00,0X03,0X0F,0X40,0X6F,0XFE,0X0F,0XF9,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X20,0X00,0X00,0X03,0X0F,0XC3,0XFF,0XFF,0X0F,0XF3,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X3F,0XE0,0XFF,0XFF,0XDF,0XE3,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X1F,0XFB,0XFF,0XFF,0XFF,0XE6,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X8F,0XFF,0XFF,0XFF,0XFF,0XCC,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC7,0XFF,0XFF,0XFF,0XFF,0XCC,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X77,0XFF,0XFF,0XFF,0XFF,0XDC,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X37,0XFF,0XFF,0XFF,0XFF,0X18,0X3 F, 0XFC,0X00,0X00,0X00,0X02,0X00,0X00,0X00,0X00,0X33,0XFF,0XFF,0XFF,0XFF,0XB8,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X13,0XFF,0XFF,0XFF,0XFF,0XFE,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X1D,0XFF,0XFF,0XFF,0XFF,0X3F,0XBF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFD,0X3F,0XFF,0X7F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3C,0XFF,0XFC,0X3F,0XFF,0X7F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFC,0XFF,0XFE,0X7F,0XFE,0X7F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0X7F,0XFF,0XFF,0XFC,0X4F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XF8,0X3F,0XFF,0XFF,0XF8,0X4F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF8,0X1F,0XFF,0XFF,0XF9,0X07,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF0,0X0F,0XFF,0XFF,0XE7,0X07,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF8,0X07,0XFF,0XFF,0XC3,0X07,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XF8,0X63,0XFF,0XFF,0X81,0X0F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFC,0X50,0XFF,0XFE,0X00,0X0F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFC,0X40,0X3F,0XFC,0X00,0X1F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFC,0X41,0X0F,0XF0,0X00,0X3F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFE,0X01,0XC0,0X00,0X38,0X7F,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0X27,0XF0,0X00,0X7C,0XFF,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XA7,0XFC,0X00,0XFF,0XFF,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XE7,0XFF,0XFE,0XFF,0XFF,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XF7,0XFF,0XFD,0XFF,0XFF,0XFF, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFC,0XFF,0XFF,0XF F, 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFE,0X3F,0X7F,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, }; int main (void) { GPIO_init(); init_lcd(); clear(); write_image(tu); While(1) ; } /****************************************************************************** End Of File ******************************************************************************/
/
本文档为【12864显示火影图片】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索