📄 12864.c
字号:
#include<iom16.h>
#define SPLC501_A0 0
#define SPLC501_CS 1
#define SPLC501_RES 2
///////////////
unsigned char const xiao11[]={}
////////////////////
void SPI_Write(unsigned char data_com,unsigned char dc)///dc=0时发命令DC=1时发数据
{
if(dc)PORTD|=1 << SPLC501_A0;
else PORTD&=~(1 << SPLC501_A0);
PORTD&=~(1 << SPLC501_CS);
SPDR = data_com;
while(!(SPSR&(1 << SPIF)));
PORTD|=1 << SPLC501_CS;
}
/////////////
void LCD_init(void)//初始化函数
{
unsigned char nc;
DDRB =(1 << DD_MOSI)|(1 << DD_SCK);
SPCR =(1 << SPE)|(1 << MSTR)|(1 << SPR0);
PORTD&=~(1 << SPLC501_RES);
for(nc=10;nc>0;nc--);
PORTD|=1 << SPLC501_RES;
for(nc=10;nc>0;nc--);
SPI_Write(0xa2,0);
SPI_Write(0xa0,0);
SPI_Write(0xc8,0);
SPI_Write(0x26,0);
SPI_Write(0x81,0);
SPI_Write(0,0);
SPI_Write(0x2f,0);
}
///////////////
void Frame_dis(unsigned int * P)
{
unsigned char i,j,page=0xb0;
for(i=0;i<8;i++)
{SPI_Write(page++,0);
SPI_Write(0x10,0);
SPI_Write(0x00,0);
for(j=0;j<128;j++)
SPI_Write(*P++,1);
}
}
///////////////
void Display_Words(unsigned char *P,page_f,page_sum,column_f,column_sum)
{
unsigned char i,j,page=0xb0;
for(i=page_f;i<page_sum+page_f;i++)
{
SPI_Write(page+i,0);
SPI_Write(0x10|((0x0f&column_f)>>4),0);
SPI_Write(0x00|(0x0f&column_f),0);
for(j=0;j<column_sum;j++)
SPI_Write(*P++,1);
}
}
///////////////
int main(void)
{unsigned int r=0,nc;
LCD_Init();
Display_word(xiao11,0,2,0,16);
Display_word(xiao12,0,2,17,16);
while(1){
r+=1;
r&=0x3f;
for(nc=50000;nc>0;nc--);
SPI_Write(0x40+r,0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -