【记录】 学习单片机后,一直卡到12864液晶驱动这块,苦于一直没有现成的液晶来练手,就卡住很久的时间没去思索,最近有一块128128的液晶,研究后终于把画点的部分理解透彻了。void Lcd_DrawPoint(INT8U x,INT8U y,INT8U t)
{
INT8U byte_pos,bit_pos,temp;
if(x>127||y>127)
return;
//page_c 0~31
byte_pos = x>>2;
bit_pos=x&0x03;
//bit_pos: 00 01 10 11
//bit_pos<<1: 000 010 100 110
//(bit_pos<<1) +1: 001 011 101 111 第1,3,5,7处开始变 每个点对应两个bit 对应的是0,1,2,3
//temp: 10/1000/10 0000/1000 0000
temp=1<<((bit_pos<<1) +1 ) ;
if(t)
LCD_SRAM[127-y][byte_pos] &= ~temp;
else
LCD_SRAM[127-y][byte_pos] |= temp;
}
|