⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864_12.h

📁 好东西人人要,有人要才是好动西,好东西人人要,有人要才是好动西,
💻 H
字号:
#include <avr/pgmspace.h>
#define CRPORT PORTC
#define DATAPORT PORTB
#define CRDDR DDRC
#define DATADDR DDRB
#define CS 3
#define RES 4
#define A0 5
#define SCL 5
#define SDA 3
void put_char(unsigned char data,unsigned char d_c)
{
	if(d_c==1) CRPORT|=(1<<A0);
	else CRPORT&=~(1<<A0);
	CRPORT&=~(1<<CS);
	SPDR = data;			 			// 传送数据到SPI寄存器
    while ((SPSR & (1 << SPIF)) == 0);	// 等待数据传送完
    CRPORT|=(1<<CS);
}
void puta(unsigned char msb,unsigned char lsb)
{
	unsigned char i,j;
	for(i=0xb0;i<0xb8;i++)
	{
		put_char(i,0);
		put_char(0x10,0);
		put_char(0x00,0);
		for(j=0;j<128;j++)
		{	
			put_char(msb,1);
			put_char(lsb,1);
		}
	}
	put_char(0b10101111,0);
}
void put_word(const unsigned char *a,unsigned char x,unsigned char y)
{
	unsigned char i;
	y<<=1;
	x+=4;
	put_char(y+0xb0,0);
	put_char(x&0x0f,0);
	put_char((x>>4)+0x10,0);
	for(i=0;i<=15;i++) put_char(pgm_read_byte(a+i),1);
	put_char(y+1+0xb0,0);
	put_char(x&0x0f,0);
	put_char((x>>4)+0x10,0);
	for(i=16;i<=31;i++) put_char(pgm_read_byte(a+i),1);
}
void put_string(const unsigned char *s,unsigned char x,unsigned char y,unsigned char z)
{
	for(;(x<=112)&&z;x+=16)
	{
		put_word(s,x,y);
		s+=32;
		z--;
	}
	while(!s)
	{for(x=0;(x<=112)&&z;x+=16)
		{
			put_word(s,x,y);
			s+=32;
			z--;
		}
	y++;
	}
}
void print_bmp(const unsigned char *s)
{
	unsigned i,j;
	for(j=0xb0;j<0xb8;j++)
	{
		put_char(j,0);
		put_char(0x10,0);
		put_char(0x04,0);
		for(i=0;i<128;i++) put_char(pgm_read_byte(s+i),1);
		s+=128;
	}
}
void lcd_init(void)
{
	CRDDR|=(1<<RES)|(1<<A0)|(1<<CS);
	DATADDR|=(1<<SCL)|(1<<SDA);
	CRPORT&=~(1<<RES);
	CRPORT|=(1<<RES);
	DDRB |= (1 << 2);
	SPCR=(1<<SPE)|(1<<MSTR)|(1<<CPHA)|(1<<CPOL);
	SPSR = (1<<SPI2X);                 // 设置SPI时钟倍速
	put_char(0xa2,0);
	put_char(0b01000000,0);
	put_char(0b10100001,0);//地址反转
	put_char(0b11001000,0);
	put_char(0b11111000,0);
	put_char(0x26,0);
	put_char(0b10000001,0);
	put_char(16,0);
	put_char(0b00101100,0);
	put_char(0b00101110,0);
	put_char(0b00101111,0);
	puta(0xff,0xff);
	put_char(0b10101110,0);
	put_char(0b11111000,0);
	put_char(0b0,0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -