学习了xueyunmicheng 及 foxnick两位的帖子,我终于也点亮了12线液晶。利用了原外壳和MiniUSB 取电线路。
我这货的液晶是12线的,但是左边2线是空的。
如上图:将牛屎及FLASH去除,原3.3V LDO在牛屎里,所以另加一个3.3V稳压IC。
引出5根LCD控制线及3.3V和GND线各两根。
我用的MCU是STC-15W1K16S,SOP28。
先在VCC和GND脚焊上0.1uF电容。
再将引出的线和ISP线直接连接到MCU上。线是从原挂绳孔扩大后引出的。
直接用xueyunmicheng的程序显示很暗,黑乎乎的。
修改了LCD初始化部分的偏压设置后,显示正常。
//==================液晶初始化=============
void LCD_ST7567_INIT(void)
{
RST = 1; //硬复位端口置高
DelayM(1); //延时一下等待上电稳定
RST=0; //硬件复位
_nop_(); //延时一下
RST=1; //复位完成
LcdSt7567_WriteCmd(0xE2);//软件复位
_nop_();
LcdSt7567_WriteCmd(0xA2);//偏压设置 第11命令 ok
LcdSt7567_WriteCmd(0x00);//偏压设置 0: 1/9 bias, 1: 1/7 bias (ST7565P)
LcdSt7567_WriteCmd(0xA0);//显示方向 左右 第8命令 ok
LcdSt7567_WriteCmd(0xC8);//显示方向 上下 第15命令 ok
LcdSt7567_WriteCmd(0x27);//电阻率设置 第17命令 ok
LcdSt7567_WriteCmd(0x81);//对比度 ok 18命令
LcdSt7567_WriteCmd(0x05);// ok
LcdSt7567_WriteCmd(0xf8);//双字节命令 增压//19命令
LcdSt7567_WriteCmd(0x00);
_nop_();
LcdSt7567_WriteCmd(0x2F);//电源开
LcdSt7567_WriteCmd(0xA6); //白底黑字 a7为白字黑底
LcdSt7567_WriteCmd(0xA4); //正常显示
LcdSt7567_WriteCmd(0x40);//显示开始位置
LcdSt7567_WriteCmd(0xAF); //开显示
}
|