學習了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); //開顯示
}
|