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

📄 glcd.h

📁 采用AVR单片机制作的低成本LCD示波器资料和源码
💻 H
字号:


/* As graphic LCD used the DEM128064A model (128x64 pixels).

   Created by Serasidis Vassilis and finished at 03.Aug.2007
   Home: http://www.serasidis.gr
   e-mail: info@serasidis.gr and avrsite@yahoo.gr

   This code is ditributed under GPL licence.
*/

#include <avr/io.h>
#include <avr/pgmspace.h>

#define	lcdrs	0 		// LCD's RS pin is connected to Pin0 of AVR
#define	lcdrw	1 		// LCD's r/w pin is connected to Pin1 of AVR
#define	lcde	2       // LCD's e pin is connected to Pin2 of AVR
#define	lcdcs1	5       // LCD's CS1 pin is connected to Pin5 of AVR
#define	lcdcs2	4       // LCD's CS2 pin is connected to Pin4 of AVR
#define	lcdrst	3       // LCD's RST pin is connected to Pin3 of AVR

#define	ctrl_port	 	PORTB
#define	ctrl_port_ddr	DDRB
#define	ctrl_port_pins	PINB

#define	data_port		PORTD
#define	data_port_ddr	DDRD
#define	data_port_pins	PIND


void glcdInit (void);
void createWelcomeScreen (void);
void createRaster (void);
void delayTime (unsigned long counter);
void glcdWait (void);
void eStrobe (void);
void enable_cs1 (void);
void enable_cs2 (void);
void showTheWave (void);
void changeLine (unsigned char data);
void createWave (void);
void fillDataLcdBuffer (unsigned char address, unsigned char data);

unsigned char column = 0;
unsigned char line = 0;
unsigned char lcdBuffer[1024];
unsigned int  lcdAddress = 0;
unsigned int  flashAddress = 0;
static unsigned char dataLcdBuffer[128];
unsigned int  backupLcdAddress = 0;

const char LcdRaster[] __attribute__ ((progmem)) = {
255,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,
1,1,1,3,1,1,1,1,1,1,1,1,1,3,1,1,
1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,
1,171,1,1,1,1,1,1,1,1,1,3,1,1,1,1,
1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,3,
1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,
1,1,1,1,255,0,0,0,0,0,224,80,72,80,224,0,
248,0,0,0,248,0,248,72,200,72,48,0,0,0,0,0,
255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,
0,0,0,8,0,0,0,0,0,0,0,0,0,8,0,0,
0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,
8,170,8,0,0,0,0,0,0,0,0,8,0,0,0,0,
0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,8,
0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,
0,0,0,8,255,0,0,192,32,32,35,0,192,32,35,32,
0,193,34,33,192,0,227,32,32,193,2,224,32,32,32,0,
255,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,
0,0,0,32,0,0,0,0,0,0,0,0,0,32,0,0,
0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,
32,170,32,0,0,0,0,0,0,0,0,32,0,0,0,0,
0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,32,
0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,
0,0,0,32,255,0,0,72,73,73,70,64,71,72,72,72,
64,71,72,72,71,64,79,65,65,64,64,79,73,73,9,0,
255,128,0,128,0,128,0,128,0,192,0,128,0,128,0,128,
0,128,0,192,0,128,0,128,0,128,0,128,0,192,0,128,
0,128,0,128,0,128,0,192,0,128,0,128,0,128,0,128,
128,234,128,128,0,128,0,128,0,128,0,192,0,128,0,128,
0,128,0,128,0,192,0,128,0,128,0,128,0,128,0,192,
0,128,0,128,0,128,0,128,0,192,0,128,0,128,0,128,
0,128,0,128,255,0,0,152,164,160,152,132,164,152,0,0,
48,72,64,48,8,72,48,0,0,0,0,0,0,0,0,0,
255,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,171,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,255,0,0,92,82,82,82,82,82,92,0,0,
161,161,161,161,161,161,189,0,0,224,32,64,128,0,0,0,
255,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,
0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,
2,170,2,0,0,0,0,0,0,0,0,2,0,0,0,0,
0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,
0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,
0,0,0,2,255,0,0,198,41,40,230,33,41,38,0,0,
140,82,16,140,66,82,140,0,0,25,164,164,164,165,165,25,
255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,
0,0,0,8,0,0,0,0,0,0,0,0,0,8,0,0,
0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,
8,170,8,0,0,0,0,0,0,0,0,8,0,0,0,0,
0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,8,
0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,
0,0,0,8,255,0,0,56,165,37,57,37,165,37,0,0,
49,74,74,121,72,74,73,0,0,99,148,20,36,68,132,243,
255,128,128,128,128,128,128,128,128,160,128,128,128,128,128,128,
128,128,128,160,128,128,128,128,128,128,128,128,128,160,128,128,
128,128,128,128,128,128,128,160,128,128,128,128,128,128,128,128,
160,170,160,128,128,128,128,128,128,128,128,160,128,128,128,128,
128,128,128,128,128,160,128,128,128,128,128,128,128,128,128,160,
128,128,128,128,128,128,128,128,128,160,128,128,128,128,128,128,
128,128,128,128,255,0,0,99,148,132,103,20,148,99,0,0,
17,17,17,17,17,10,4,0,0,60,66,90,82,90,66,60};


const char welcomeScreen[] __attribute__ ((progmem)) = {
255,1,1,1,1,225,33,33,33,33,33,33,33,33,33,33
,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33
,33,33,33,33,33,33,225,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,1,193,225,49,25,25,49,225,193,1,1
,249,249,1,1,1,1,249,249,1,1,249,249,25,25,25,57
,241,225,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255
,255,0,0,0,0,255,0,0,0,17,0,0,0,17,0,0
,0,17,0,0,0,0,85,0,0,0,17,0,0,0,17,0
,0,0,17,0,0,0,255,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,127,127,12,12,12,12,127,127,0,0
,15,31,48,96,96,48,31,15,0,0,127,127,6,6,6,15
,123,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
,255,0,0,0,0,255,0,8,0,73,0,8,0,73,0,8
,0,73,0,8,0,8,93,8,0,8,65,8,0,8,65,8
,0,8,65,8,0,8,255,0,0,0,0,0,0,0,0,0
,252,254,2,254,252,0,156,190,34,238,204,0,252,254,2,14
,12,0,0,2,254,254,2,0,254,254,0,0,0,0,254,254
,0,0,0,0,252,254,2,254,252,0,156,190,34,238,204,0
,252,254,2,14,12,0,252,254,2,254,252,0,254,254,34,62
,28,0,254,254,34,34,34,0,0,0,0,0,0,0,0,255
,255,0,0,0,0,255,0,0,0,68,0,0,0,68,0,0
,0,68,0,0,0,0,85,0,0,0,68,0,0,0,68,0
,0,0,68,0,0,0,255,0,0,0,0,0,0,0,0,0
,1,3,2,3,193,32,1,3,2,3,129,128,129,3,2,3
,33,192,0,2,3,3,2,0,3,3,2,66,34,32,35,195
,2,194,34,32,161,195,2,195,33,32,161,195,2,35,33,32
,161,99,2,3,1,0,1,3,2,227,33,32,35,195,0,128
,0,0,131,3,2,2,2,0,0,0,0,0,0,0,0,255
,255,0,0,0,0,3,2,2,2,2,130,130,130,2,2,130
,130,130,130,130,2,130,131,130,130,2,2,2,130,130,130,2
,2,2,130,130,130,2,3,0,128,128,128,0,0,128,128,128
,128,0,0,0,135,136,128,0,0,7,136,136,136,5,0,0
,8,7,0,0,0,128,0,0,0,128,0,12,138,137,137,8
,0,7,138,137,136,7,0,7,138,137,136,7,0,0,142,129
,128,0,0,128,0,0,0,0,0,15,137,137,137,6,0,19
,148,140,135,0,0,0,0,0,0,0,0,0,0,0,0,255
,255,0,0,0,0,0,0,0,0,19,36,36,36,25,0,63
,36,36,36,32,0,63,4,4,12,51,0,63,8,8,8,63
,0,19,36,36,36,25,0,0,32,63,32,0,0,63,32,32
,32,31,0,0,32,63,32,0,0,19,36,36,36,25,0,0
,0,0,0,0,0,15,16,32,16,15,0,63,8,8,8,63
,0,19,36,36,36,25,0,19,36,36,36,25,0,0,32,63
,32,0,0,63,32,32,32,32,0,0,32,63,32,0,0,19
,36,36,36,25,0,0,0,0,0,0,0,0,0,0,0,255
,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,252,36,36,36,4,0,0
,0,244,0,0,0,16,224,16,16,32,0,240,16,96,16,224
,0,240,128,192,128,240,0,128,80,80,80,224,0,16,224,16
,16,32,0,224,80,80,80,32,0,0,176,176,0,0,0,0
,0,0,0,0,0,0,8,252,0,0,0,0,128,128,0,0
,0,248,68,36,20,248,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128
,128,128,128,128,128,128,128,128,128,129,128,128,128,128,128,128
,128,129,129,128,128,129,129,129,128,128,128,129,128,128,128,129
,128,128,129,128,129,128,128,128,129,129,129,129,128,129,129,129
,128,128,128,128,129,129,129,128,128,128,129,129,128,128,128,128
,128,128,128,128,128,128,129,129,129,128,128,128,129,129,128,128
,128,128,129,129,129,128,128,128,128,128,128,128,128,128,128,128
,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,255};

⌨️ 快捷键说明

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