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

📄 avr+3310lcdtest.c

📁 两个C51测试3310的源程序其中一个移植朋友网站上的AVR例程。芯片用STC89LE58RD+
💻 C
📖 第 1 页 / 共 3 页
字号:
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 + -