📄 lcd.c
字号:
/*******************************************************************
128*64图形液晶显示实验
网址:http://www.wejay.com.cn
功能:交替显示一幅图像和文字
文字内容为本站联系方式
********************************************************************/
#include "msp430x22x4.h"
#define uchar unsigned char
#define uint unsigned int
#define DELAY _NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP();_NOP();
#define DI_HIGH P4OUT|=BIT0;DELAY;
#define DI_LOW P4OUT&=~BIT0;DELAY;
#define RW_HIGH P4OUT|=BIT1;DELAY;
#define RW_LOW P4OUT&=~BIT1;DELAY;
#define E_HIGH P4OUT|=BIT2;DELAY;
#define E_LOW P4OUT&=~BIT2;DELAY;
#define CSL_HIGH P4OUT|=BIT3;DELAY;
#define CSL_LOW P4OUT&=~BIT3;DELAY;
#define CSR_HIGH P4OUT|=BIT4;DELAY;
#define CSR_LOW P4OUT&=~BIT4;DELAY;
#define RST_HIGH P4OUT|=BIT5;DELAY;
#define RST_LOW P4OUT&=~BIT5;DELAY;
#define BUSY_OUT P2DIR|=BIT7
#define BUSY_IN P2DIR&=~BIT7
#define BUSY_DATA P2IN&BIT7
const uchar PicData[1024]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xB0,0x78,0x7C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x70,0x38,0xB8,0xFC,0xFC,
0xF8,0x7C,0x1E,0x0F,0x1F,0x1E,0x1F,0x3F,0x3F,0x7F,0xFE,0xFE,0xFC,0xFC,0xF8,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF8,0xFF,0x1F,0x16,0x90,0x90,
0xFF,0xFF,0x4B,0x48,0x48,0x48,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,
0xA0,0xE0,0xFF,0xFF,0xD0,0x90,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xE0,0xE0,0xE0,0x20,0x21,0xFF,0xFF,0x90,0x90,0x10,0xF0,0xF0,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x84,0x84,0x84,0xA6,0xF6,0xFA,0x9E,0x8E,0xC6,
0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x01,0xC0,0xF0,0xFC,0xFF,0xFF,0x1F,0x07,
0x01,0x60,0x60,0xE0,0xC0,0xC0,0xC0,0xE0,0xE0,0xF0,0x78,0x7F,0x7F,0x3F,0x1F,0x0F,
0x00,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x00,0xFF,0xFF,0x04,0x04,0x04,0x04,
0xFF,0xFF,0x02,0x12,0x73,0x7F,0x3F,0x0E,0x00,0x00,0x00,0x80,0xE4,0xE4,0x06,0x63,
0xE3,0xC1,0x1F,0x3F,0xE0,0xC1,0x03,0x07,0x26,0xE6,0xC4,0x84,0x00,0x00,0x00,0x00,
0x00,0x0F,0x0F,0x09,0x09,0xFF,0xFF,0x88,0x08,0x0F,0x0F,0x03,0x80,0xF0,0xF0,0x00,
0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x80,0x80,0xFF,0xFF,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x3F,0x3F,0x3F,0x3F,0x38,0x30,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x80,0x80,
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x80,
0x80,0x00,0x00,0x00,0x80,0x80,0x80,0xA0,0x30,0x10,0x00,0x00,0x80,0x80,0x80,0x80,
0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x28,0x3E,0x17,0x29,0x36,0x19,0x0E,0x07,0x3D,0x3F,0x03,0x3C,
0x33,0x0C,0x0F,0x2B,0x3E,0x17,0x29,0x36,0x19,0x0E,0x07,0x01,0x30,0x30,0x30,0x00,
0x00,0x00,0x28,0x3E,0x17,0x29,0x36,0x19,0x0E,0x17,0x3D,0x2F,0x27,0x24,0x04,0x07,
0x03,0x00,0x80,0xE0,0x78,0x1E,0x07,0x01,0x10,0x38,0x2C,0x24,0x34,0x3C,0x0F,0x03,
0xB8,0xBE,0x67,0x61,0x18,0x1E,0x07,0x01,0x00,0x30,0x30,0x30,0x00,0x00,0x00,0x38,
0x3E,0x27,0x21,0x10,0x10,0x01,0x11,0x3C,0x2F,0x23,0x30,0x1C,0x0F,0x23,0x38,0x1E,
0x07,0x19,0x26,0x39,0x1E,0x07,0x01,0x30,0x30,0x30,0x00,0x00,0x00,0x38,0x3E,0x27,
0x21,0x10,0x10,0x01,0x31,0x3C,0x0F,0x03,0x30,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//一幅图像数据
//汉字数据
const uchar ZhCode[]={
0x00,0x80,0x60,0xF8,0x07,0x0A,0x28,0x28,0x28,0xFF,0x28,0x28,0x28,0x28,0x00,0x00,
0x01,0x00,0x00,0xFF,0x00,0x01,0x01,0x01,0x01,0xFF,0x01,0x21,0x41,0x3F,0x00,0x00,//伟/0
0x00,0x08,0x08,0x08,0x88,0x48,0x38,0xFF,0x18,0x28,0x48,0x88,0x88,0x08,0x00,0x00,
0x40,0x32,0x02,0x01,0x10,0x60,0x00,0x07,0x10,0x60,0x00,0x00,0x11,0x63,0x01,0x00,//杰/1
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,//电/2
0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,
0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,//子/3
0x10,0x12,0x92,0x72,0xFE,0x51,0x91,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,
0x04,0x02,0x01,0x00,0xFF,0x00,0x04,0x04,0x04,0x02,0x02,0x02,0xFF,0x01,0x01,0x00,//科/4
0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00,
0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00,//技/5
0x10,0x12,0x92,0x7E,0x12,0x12,0xFE,0x12,0x12,0x10,0xFC,0x00,0x00,0xFF,0x00,0x00,
0x40,0x42,0x49,0x48,0x48,0x48,0x49,0x7E,0x48,0x48,0x48,0x4A,0x4C,0x4B,0x40,0x00,//型/6
0x40,0x40,0x40,0x5F,0xD1,0x51,0x51,0x51,0x51,0x51,0x51,0x5F,0x40,0x40,0x40,0x00,
0x00,0x00,0x00,0x02,0x07,0x02,0x02,0x22,0x42,0x82,0x42,0x3E,0x00,0x00,0x00,0x00,//号/7
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,//电/8
0x40,0x41,0x4E,0xC4,0x00,0x20,0x24,0x24,0x24,0x24,0xFC,0x22,0x22,0x22,0x20,0x00,
0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x7E,0x22,0x22,0x23,0x22,0x22,0x7E,0x00,0x00,//话/9
};
//字符数据
const uchar CharCode[]={
0x00,0xE0,0xE0,0x00,0xC0,0x00,0xE0,0xE0,0x00,0x03,0x0F,0x0C,0x03,0x0C,0x0F,0x03,//w/0
0x00,0xE0,0xE0,0x00,0xC0,0x00,0xE0,0xE0,0x00,0x03,0x0F,0x0C,0x03,0x0C,0x0F,0x03,//w/1
0x00,0xE0,0xE0,0x00,0xC0,0x00,0xE0,0xE0,0x00,0x03,0x0F,0x0C,0x03,0x0C,0x0F,0x03,//w/2
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x00,0x00,//./3
0x00,0xE0,0xE0,0x00,0xC0,0x00,0xE0,0xE0,0x00,0x03,0x0F,0x0C,0x03,0x0C,0x0F,0x03,//w/4
0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x09,0x09,0x09,0x01,0x00,//e/5
0x00,0x00,0x20,0x20,0xEC,0xEC,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x3F,0x00,0x00,//j/6
0x00,0x00,0x20,0x20,0x20,0xE0,0xC0,0x00,0x00,0x06,0x0F,0x09,0x09,0x0F,0x0F,0x00,//a/7
0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x40,0x47,0x4F,0x68,0x38,0x1F,0x07,0x00,//y/8
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x00,0x00,//./9
0x00,0xC0,0xE0,0x20,0x20,0x60,0x40,0x00,0x00,0x07,0x0F,0x08,0x08,0x0C,0x04,0x00,//c/10
0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,//o/11
0x00,0xE0,0xE0,0x20,0xE0,0x20,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x07,0x00,0x0F,0x0F,//m/12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x00,0x00,//./13
0x00,0xC0,0xE0,0x20,0x20,0x60,0x40,0x00,0x00,0x07,0x0F,0x08,0x08,0x0C,0x04,0x00,//c/14
0x00,0xE0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,//n/15
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:/16
0x00,0xF8,0xF8,0x00,0xC0,0x00,0xF8,0xF8,0x00,0x01,0x0F,0x0E,0x01,0x0E,0x0F,0x01,//W/17
0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00,//J/18
0x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//4/19
0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00,//3/20
0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07,//0/21
0x00,0xF8,0xF8,0x88,0x88,0x88,0x08,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,//F/22
0x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,//1/23
0x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//4/24
0x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9/25
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:/26
0x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,//1/27
0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00,//3/28
0x00,0x70,0xF8,0xC8,0x88,0xF8,0x70,0x00,0x00,0x07,0x0F,0x08,0x09,0x0F,0x07,0x00,//8/29
0x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,//1/30
0x00,0x70,0xF8,0xC8,0x88,0xF8,0x70,0x00,0x00,0x07,0x0F,0x08,0x09,0x0F,0x07,0x00,//8/31
0x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9/32
0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07,//0/33
0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00,//3/34
0x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//4/35
0x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9/36
0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07,//0/37
};
//延时子程序
void DelayMs(uint ms){
while(ms--){
for(uint i=0;i<800;i++);
}
}
//检查LCD忙状态
void LcdBusy(){
DI_LOW;
RW_HIGH;
E_HIGH;
BUSY_IN;
while(BUSY_DATA);
BUSY_OUT;
_NOP();_NOP();_NOP();_NOP();_NOP();
E_LOW;
}
//给LCD写命令
void WriteCommand(uchar Command){
LcdBusy();
DI_LOW;
RW_LOW;
P2OUT=Command;
DELAY;
E_HIGH;
E_LOW;
}
//给LCD写数据
void WriteData(uchar Data){
LcdBusy();
DI_HIGH;
RW_LOW;
P2OUT=Data;
DELAY;
E_HIGH;
E_LOW;
}
//LCD清屏
void LcdClear(){
uchar Y,X;
CSR_HIGH;
CSL_HIGH;
WriteCommand(0x3E); //关显示
for(Y=0;Y<8;Y++){
WriteCommand(Y|0xB8); //设置页地址
WriteCommand(0x40); //设置Y地址
for(X=0;X<64;X++) WriteData(0x00);
}
CSR_HIGH;
CSL_HIGH;
WriteCommand(0x3F); //开显示
}
//LCD初始化
void LcdInit(){
RST_LOW;
DELAY;
RST_HIGH; //RST低电平复位
LcdClear(); //清屏
}
//显示一幅图像
void Pic(){
uchar i,j,Y=0;
for(j=0;j<8;j++){
//左半屏写64个数据
CSR_LOW;
CSL_HIGH;
WriteCommand(0x40);
WriteCommand(Y|0xB8);
for(i=0;i<64;i++) WriteData(PicData[i+j*128]);
//右半屏写64个数据
CSL_LOW;
CSR_HIGH;
WriteCommand(0x40);
_NOP();_NOP();_NOP();_NOP();_NOP();
WriteCommand(Y|0xB8);
_NOP();_NOP();_NOP();_NOP();_NOP();
for(i=0;i<64;i++) WriteData(PicData[i+j*128+64]);
Y++;
}
CSR_HIGH;
CSL_HIGH;
WriteCommand(0x3F); //开显示
}
//显示汉字
void Zh(uchar X,uchar Y,uchar Start,uchar Num){
uchar i;
uchar j;
for(j=0;j<Num;j++){
for(i=0;i<16;i++){
if(X>128){
Y+=2;
X=1;
}
if(X>64){
CSR_HIGH;
CSL_LOW;
}else{
CSL_HIGH;
CSR_LOW;
}
WriteCommand((Y-1)*2|0xB8);
WriteCommand((X-1)|0x40);
WriteData(ZhCode[(Start+j)*32+i]);
WriteCommand(((Y-1)*2+1)|0xB8);
WriteCommand((X-1)|0x40);
WriteData(ZhCode[(Start+j)*32+i+16]);
X++;
}
}
CSR_HIGH;
CSL_HIGH;
WriteCommand(0x3F); //开显示
}
//显示字符
void Char(uchar X,uchar Y,uchar Start,uchar Num){
uchar i;
uchar j;
for(j=0;j<Num;j++){
for(i=0;i<8;i++){
if(X>128){
Y+=2;
X=1;
}
if(X>64){
CSR_HIGH;
CSL_LOW;
}else{
CSL_HIGH;
CSR_LOW;
}
WriteCommand((Y-1)*2|0xB8);
WriteCommand((X-1)|0x40);
WriteData(CharCode[(Start+j)*16+i]);
WriteCommand(((Y-1)*2+1)|0xB8);
WriteCommand((X-1)|0x40);
WriteData(CharCode[(Start+j)*16+i+8]);
X++;
}
}
CSR_HIGH;
CSL_HIGH;
WriteCommand(0x3F); //开显示
}
//时钟初始化函数
void InitClock(void){
BCSCTL1=RSEL2+RSEL1+RSEL0;//XT2开启 LFXT1工作在低频模式 ACLK不分频 最高的标称频率
DCOCTL=DCO2+DCO1+DCO0;//DCO为最高频率
do{
IFG1&=~OFIFG;//清除振荡器失效标志
for(uint i=255;i>0;i--);
}while(IFG1&OFIFG);//判断XT2是否起振
BCSCTL2=SELM1+SELS;//MCLK SMCLK时钟源为TX2CLK不分频
}
//端口初始化函数
void InitPort(void){
P2SEL=0x00;//P2口所有引脚设置为一般的IO口
P4SEL=0x00;//P4口所有引脚设置为一般的IO口
P2DIR=0xFF;//P2口所有引脚设置为输出方向
P4DIR=0xFF;//P4口所有引脚设置为输出方向
}
//主/函数
main(){
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
InitClock();
InitPort();
LcdInit();//Lcd初始化
_DINT();//关闭中断
while(1){
Pic();//显示一副图象
DelayMs(5000);
LcdClear();
Zh(17,1,0,6);//显示"伟杰电子科技"
Char(1,3,0,16);//显示"www.wejay.com.cn"
Zh(10,2,6,2);//显示"型号"
Char(42,2,16,10);//显示":WJ430F149"
Zh(1,4,8,2);//显示"电话"
Char(33,4,26,12);//显示":13817403345"
DelayMs(5000);
LcdClear();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -