
本帖最后由 caizhiwei 于 2015-1-14 22:21 编辑 这是很久以前写好的,一直没有贴出来,希望朋友们能直接用上,你也可以在这个基础上进一步完善! 以下是部分参数说明: ●84x48 的点阵LCD,可以显示4行汉字,每行最多7个 ●PCD8544的通信协议是一种没有MISO只有MOSI的SPI协议,如果单片机有富裕的 SPI接口,也可以利用硬件SPI,(如AVR单片机的SPI、MCS51 的串口模式0等) ,传输速率高达4Mbps,可全速写入显示数据. ●可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模 块固定到印制板上,因而非常便于安装和更换。 ●LCD 控制器/驱动器芯片PCD8544已绑定到LCD 晶片上,模块的体积很小。 ●采用低电压供电,正常显示时的工作电流在200μA 以下,且具有掉电模式。 ●编程中的数据要+0x30变为ASII码才能正确显示。 额定电压:+3.3V display : 全屏6行(6个page),每行14个 Map : ______________ X (0~83)1bit/X | | | | | | Y(0~5)8bit/Y V1.0 完成6X8字符显示 V1.1 新增汉字12X12,16X16显示功能 V1.2 新增8X16字符显示功能 /////////////////////////////////////////////////////// //------------------------------------/ // // SCE ------------PA5 //片选 // // RST ------------PA4 //位选 // // D/C ------------PA3 // 1写数据,0写指令 // // SD ------------PA2 //数据 // // SCLK ------------PA1 //时钟 // // LCD ------------PA0 //背光 // /////////////////////////////////////////////////////// ![]() #define sce0 GPIO_ResetBits(GPIOB, GPIO_Pin_6) //片选 #define res0 GPIO_ResetBits(GPIOB, GPIO_Pin_7) //复位,0复位 #define dc0 GPIO_ResetBits(GPIOB, GPIO_Pin_8) //1写数据,0写指令 #define sdin0 GPIO_ResetBits(GPIOB, GPIO_Pin_9) //数据 #define sclk0 GPIO_ResetBits(GPIOB, GPIO_Pin_10) //时钟 #define sce1 GPIO_SetBits(GPIOB, GPIO_Pin_6) //片选 #define res1 GPIO_SetBits(GPIOB, GPIO_Pin_7) //复位,0复位 #define dc1 GPIO_SetBits(GPIOB, GPIO_Pin_8) //1写数据,0写指令 #define sdin1 GPIO_SetBits(GPIOB, GPIO_Pin_9) //数据 #define sclk1 GPIO_SetBits(GPIOB, GPIO_Pin_10) //时钟 // const unsigned char Font6x8[][6]; //用于main.c中调用 // extern const unsigned char Font12x12[]; // extern const unsigned char Font16x16[]; extern const unsigned char LogoBmp[]; void LCD_WriteByte(unsigned char dt, unsigned char command); void LCD_Init(void); void LCD_Set_XY(unsigned char X, unsigned char Y); void LCD_Clear(void); void LCD_WriteChar_6X8(unsigned char X,unsigned char Y,unsigned char c,unsigned char reverse); void LCD_WriteStr_6X8(unsigned char X,unsigned char Y,unsigned char *s,unsigned char reverse); void LCD_WriteChar_8x16(u8 x, u8 y, u8 c_dat,u8 reverse); void LCD_WriteStr_8x16(u8 x, u8 y, u8 *s_dat,u8 reverse); void LCD_WriteNumber(unsigned char x,unsigned char y, unsigned long number); void LCD_WriteChinese_12x12(unsigned char row, unsigned char page,unsigned char start_with,unsigned char N) ; void LCD_WriteChinese_16x16(unsigned char X, unsigned char Y,unsigned char total,\ unsigned char start_with,unsigned char reverse); void LCD_DrawBmp(unsigned char X,unsigned char Y,const unsigned char *map,\ unsigned char bmp_x,unsigned char bmp_y); MDK工程源码下载: ![]() |
这个有反显吗?直至倒过来拍张照?
“Test”字符就是反显的啦,字符和汉字都有反显的
不客气不客气,以后估计不会搞这个屏了因为停产很多年了,玩玩还是可以滴