📄 avr+3310lcdtest.c
字号:
void delay_nms(unsigned int n)//N ms延时函数
{
unsigned int i=0;
for (i=0;i<n;i++)
delay_1ms();
}
lcd.h头文件
//Mega48/8port B pinout for LCD.
#define LCD_DC0x01//PB0
#define LCD_CE0x04//PB2
#define SPI_MOSI0x08//PB3
#define LCD_RST0x10//PB4
#define SPI_CLK0x20//PB5
void LCD_init(void);
void LCD_clear(void);
void LCD_write_String(unsigned char X,unsigned char Y,char *s);
void LCD_write_chi(unsigned char X, unsigned char Y,
unsigned char ch_with,unsigned char num,
unsigned char line,unsigned char row);
void LCD_move_chi(unsigned char X, unsigned char Y, unsigned char T);
void LCD_write_char(unsigned char c);
void LCD_draw_map(unsigned char X,unsigned char Y,unsigned char *map,
unsigned char Pix_x,unsigned char Pix_y);
void LCD_write_byte(unsigned char data, unsigned char dc);
void delay_1us(void);
void delay_nus(unsigned int n);
void delay_1ms(void);
void delay_nms(unsigned int n);
点阵数据文件
chinese.h文件:
/*------------------------------------------------------------------------------
;源文件 / 文字 : 欢迎光临电子爱好者俱乐部!
;宽×高(像素): 12×13
;字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/24字节
;数据转换日期: 2004-8-12 14:22:30
------------------------------------------------------------------------------*/
const unsigned char china_char[][24]=
{
{
0x14,0x24,0xC4,0x3C,0x04,0x30,0x0E,0xE8,0x08,0x28,0x18,0x00,0x04,0x03,
0x00,0x09,0x0A,0x04,0x03,0x00,0x03,0x04,0x08,0x00
},//汉字“欢”
{
0x10,0xF2,0x04,0x00,0xFC,0x84,0x82,0xFC,0x04,0x04,0xFC,0x00,0x0C,0x03,
0x04,0x04,0x09,0x08,0x08,0x0B,0x08,0x09,0x09,0x00
},//汉字“迎”
{
0x20,0x24,0x28,0xF0,0x20,0x3E,0xE0,0x30,0x28,0x24,0x20,0x00,0x08,0x08,
0x04,0x03,0x00,0x00,0x07,0x08,0x08,0x08,0x0E,0x00
},//汉字“光”
{
0xF8,0x00,0xFE,0x00,0x20,0x98,0x8E,0x98,0xA8,0x88,0x88,0x00,0x03,0x00,
0x0F,0x00,0x00,0x0F,0x04,0x07,0x04,0x04,0x0F,0x00
},//汉字“临”
{
0x00,0xF8,0x28,0x28,0x28,0xFE,0x28,0x28,0x28,0xFC,0x08,0x00,0x00,0x03,
0x01,0x01,0x01,0x07,0x09,0x09,0x09,0x09,0x0C,0x00
},//汉字“电”
{
0x40,0x42,0x42,0x42,0x42,0xF2,0x52,0x4A,0x46,0x62,0x40,0x00,0x00,0x00,
0x00,0x08,0x08,0x0F,0x00,0x00,0x00,0x00,0x00,0x00
},//汉字“子”
{
0x30,0x54,0x54,0x5C,0xF4,0x5C,0x52,0x5A,0x56,0x52,0x30,0x00,0x08,0x08,
0x04,0x0A,0x0B,0x05,0x05,0x0B,0x09,0x08,0x08,0x00
},//汉字“爱”
{
0x88,0x78,0x0E,0x88,0x78,0x42,0x42,0xF2,0x4A,0x46,0x40,0x00,0x09,0x05,
0x02,0x03,0x04,0x00,0x08,0x0F,0x00,0x00,0x00,0x00
},//汉字“好”
{
0x20,0x24,0x24,0xA4,0xFE,0xA4,0xB4,0xAC,0xA4,0x32,0x20,0x00,0x02,0x02,
0x01,0x0F,0x0A,0x0A,0x0A,0x0A,0x0F,0x00,0x00,0x00
},//汉字“者”
{
0x20,0xF8,0x06,0x00,0xFE,0x52,0x52,0x52,0x52,0xFE,0x00,0x00,0x00,0x0F,
0x01,0x09,0x05,0x03,0x01,0x01,0x03,0x05,0x09,0x00
},//汉字“俱”
{
0x00,0x60,0x5C,0xC4,0x44,0x44,0xFA,0xC2,0x42,0x60,0x40,0x00,0x04,0x02,
0x01,0x00,0x08,0x08,0x0F,0x00,0x01,0x02,0x04,0x00
},//汉字“乐”
{
0x24,0xAC,0xB4,0xA6,0xB4,0xAC,0x24,0xFC,0x04,0x74,0x8C,0x00,0x00,0x0F,
0x04,0x04,0x04,0x0F,0x00,0x0F,0x02,0x04,0x03,0x00
},//汉字“部”
{
0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
},//汉字“!”
};
6x8.h文件:
// 6 x 8 font
// 1 pixel space at left and bottom
// index = ASCII - 32
const unsigned char font6x8[][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },// sp
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },// !
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },// "
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },// #
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },// $
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },// %
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },// &
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },// '
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },// (
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },// )
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },// *
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },// +
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },// ,
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },// -
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },// .
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },// /
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },// 0
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },// 1
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },// 2
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },// 3
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },// 4
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },// 5
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },// 6
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },// 7
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },// 8
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },// 9
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },// :
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },// ;
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },// <
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },// =
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },// >
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },// ?
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },// @
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },// A
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },// B
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },// C
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },// D
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },// E
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },// F
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },// G
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },// H
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },// I
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },// J
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },// K
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },// L
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },// M
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },// N
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// O
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },// P
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },// Q
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },// R
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },// S
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },// T
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },// U
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },// V
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },// W
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },// X
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },// Y
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },// Z
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },// [
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },// 55
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },// ]
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },// ^
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },// _
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },// '
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },// a
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },// b
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },// c
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },// d
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },// e
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },// f
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },// g
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },// h
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },// i
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },// j
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },// k
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },// l
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },// m
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },// n
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },// o
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },// p
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },// q
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },// r
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },// s
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },// t
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },// u
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },// v
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },// w
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },// x
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },// y
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },// z
{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }// horiz lines
};
bmp.h文件
/*------------------------------------------------------------------------------
;源文件 / 文字 : AVR
;宽×高(像素): 40×24
;字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/120字节
;数据转换日期: 2004-8-13
------------------------------------------------------------------------------*/
unsigned char AVR_bmp[]=
{
0x00,0x00,0x00,0x80,0xF0,0xF0,0x70,0xF0,0xF0,0x80,0x00,0x00,0x00,0x30,
0xF0,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF0,0x30,0x00,0xF0,
0xF0,0xF0,0x70,0x70,0x70,0x70,0x70,0xF0,0xE0,0xC0,0x00,0x00,0x00,0xC0,
0xF8,0xFF,0xFF,0xE3,0xE0,0xE3,0xFF,0xFF,0xFC,0xC0,0x00,0x00,0x01,0x0F,
0x7F,0xFE,0xF0,0x80,0xF0,0xFE,0x7F,0x0F,0x01,0x00,0x00,0xFF,0xFF,0xFF,
0x1C,0x1C,0x3C,0x7C,0xFC,0xEF,0xCF,0x07,0x00,0x00,0x06,0x07,0x07,0x01,
0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x07,0x06,0x00,0x00,0x00,0x00,0x03,
0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x00,0x00,
0x00,0x00,0x01,0x07,0x07,0x07,0x04,0x00
};
/*------------------------------------------------------------------------------
;源文件 / 文字 : 实验室
;宽×高(像素): 36×15
;字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/72字节
;数据转换日期: 2004-8-13
------------------------------------------------------------------------------*/
unsigned char china_bmp[]=
{
0x20,0x18,0x88,0x28,0x48,0x0C,0xE8,0x08,0x08,0x28,0x18,0x00,0x84,0xF4,
0x84,0xFC,0x40,0x20,0x50,0x4C,0x50,0x20,0x40,0x00,0x10,0x18,0x28,0xA8,
0x68,0x2C,0x28,0x68,0xA8,0x28,0x18,0x00,0x02,0x12,0x12,0x13,0x0A,0x06,
0x03,0x06,0x0A,0x12,0x02,0x00,0x04,0x14,0x12,0x0F,0x10,0x17,0x10,0x17,
0x18,0x17,0x10,0x00,0x10,0x10,0x15,0x15,0x15,0x1F,0x15,0x15,0x15,0x11,
0x10,0x00
}
#include <iom8v.h>
#include <macros.h>
#include "lcd.h"
#include "6x8.h"
#include "chinese.h"
/*-----------------------------------------------------------------------
LCD_init : 3310LCD初始化
编写日期 :2004-8-10
最后修改日期 :2004-8-10
-----------------------------------------------------------------------*/
void LCD_init(void)
{
PORTB &= ~LCD_RST; // 产生一个让LCD复位的低电平脉冲
delay_1us();
PORTB |= LCD_RST;
PORTB &= ~LCD_CE ; // 关闭LCD
delay_1us();
PORTB |= LCD_CE; // 使能LCD
delay_1us();
LCD_write_byte(0x21, 0); // 使用扩展命令设置LCD模式
LCD_write_byte(0xc8, 0); // 设置偏置电压
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -