?? pt6578.c
字號(hào):
#define LCD_ADDR 0x4B //驅(qū)動(dòng)芯片SPI地址
#define CHUNKS 5 //PT6578發(fā)送的塊數(shù)
#define CHUNK_BYTES 15 //每個(gè)塊15個(gè)字節(jié)
__flash__ BYTE chunkAddr[] = {0x00,0x80,0x40,0xc0,0x20};
void display_buff(BYTE *thisBuff)
{
BYTE i;
BYTE chunk;
BYTE sendData;
BYTE tmpData;
BYTE addr=LCD_ADDR;
for(chunk=0;chunk<CHUNKS;chunk++) //發(fā)送CHUNKS個(gè)片段
{
//發(fā)送地址
Clr_SS(); //拉低片選
spi_send_buff(&addr,1); //放地址到總線
Set_SS(); //抬高片選
//共需發(fā)送15bytes
for(i=0;i<CHUNK_BYTES;i++)
{
//sendData=*(thisBuff++);
sendData = 0;
tmpData = *(thisBuff++);
sendData |= (tmpData>>7);
sendData |= (tmpData<<1);//將最高位和低7位交換
spi_send_buff(&sendData,1); //放sendData到總線
spi_send_bit(0); //字庫冗余
}
spi_send_bit(0); //補(bǔ)齊
sendData = pgm_read_byte(chunkAddr+chunk); //CHUNK addr
spi_send_buff(&sendData,1); //發(fā)送本片段地址
Clr_SS(); //一個(gè)片段發(fā)送完畢,拉低SS
_delay_us(5);
}
//發(fā)送地址
Clr_SS(); //拉低片選
spi_send_buff(&addr,1); //放地址到總線
Set_SS(); //抬高片選
sendData = 0x30; //對(duì)比度 40
spi_send_buff(&sendData,1);
sendData = 0xA9;
spi_send_buff(&sendData,1);
//Clr_DO();
//_delay_us(5);
Clr_SS();
}
void disp_set_bit(BYTE *thisBuff,BYTE bitIndex,BYTE value)
{
if(value)
{
thisBuff[bitIndex] |= 0x80;
}else{
thisBuff[bitIndex] &= 0x7F;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -