【記錄】 學習單片機后,一直卡到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;
}
|