液晶诺基亚LCD3310驱动电路及程序.docx
《液晶诺基亚LCD3310驱动电路及程序.docx》由会员分享,可在线阅读,更多相关《液晶诺基亚LCD3310驱动电路及程序.docx(13页珍藏版)》请在冰豆网上搜索。
液晶诺基亚LCD3310驱动电路及程序
诺基亚3310液晶是一种OEM产品
48X84pixelsmatrixLCD controller/driver
生产厂家Philips,型号为:
PCD8544
可显示84*48点,被评为性价比最好的AVR液晶
3310lcd驱动电路:
Vdd接3.3V(注意:
工作电压是3.3V)或者如图接(1、接100欧姆电阻接5V2、接二极管再接地)
Vout接4.7uF电容后接地,电容作用是调对比度
GND接地
其它的接普通IO口
编码显示原理:
LCD3310屏幕由84*48个点组成,划分为84列*6行个显示单元,每一个显示单元由1*8个点组成,编程控制显示时按坐标定位,X轴从左到右为0、1、。
。
。
83,Y轴从上到下为0、1.。
。
5,每一个显示单元用一个十六进制0x**控制,0x**转换成二进制后是8个01位,每一个显示单元从上到下为点1到点8,分别对应二进制数的最低到最高位,为1的显示黑点,为0的不显示
下面将要讲到的字符显示是用六个连续的显示单元控制显示的,
例如{0x14,0x08,0x3E,0x08,0x14,0x00}, //将会显示符号*
0
0
0
0
0
0
0
0
0
0
11
0
11
0
11
0
11
11
11
0
11
0
11
0
11
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
x14
x08
X3E
X08
X14
X00
所以我们可以自由的显示字母、汉字、图片,只要将对应的十六进制控制码写入LCD即可,
汉字和图片的控制码可借助于专用的字模生成软件生成。
PinSignalDescriptionPort
1:
VDD
PowerInput.LogicsupplyvoltagerangeVDDtoGND:
2.7to3.3V
2:
SCLK
Serialclock.Inputfortheclocksignal:
0.0to4.0Mbits/s.
3:
SDIN
Serialdata.Inputforthedataline.
4:
D/C
ModeSelect.Toselecteithercommand/addressordatainput.
5:
SCE
Chipenableinput.Theenablepinallowsdatatobeclockedin.ThesignalisactiveLOW.
6:
GND
Ground
7:
VOUT
Ouptutvoltage.Addexternal1-10uFelectrolyticcapacitorfromVOUTtoGND
8:
RES
Externalreset.Thissignalwillresetthedeviceandmustbeappliedtoproperly
initializethechip.ThesignalisactiveLOW.
程序:
(完整可运行)
下面的程序是针对飞思卡尔的十六位单片机MC9S12XS128开发的
用于其它MCU时只要将端口改一下,就可移植
#include/*commondefinesandmacros*/
#include"derivative.h"/*derivative-specificdefinitions*/
#definesclkPTM_PTM0//时钟
#definesdinPTM_PTM1//数据
#definedcPTM_PTM2//1写数据,0写指令
#definescePTP_PTP4//片选
#defineresPTP_PTP7//复位
byteconstmask_table[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
voidInitlcd(void);//LCD初始化
voidwrite_byte(bytedd,bytea);//写一个字节到LCD
voidqp(void);//清屏
voidsetadd(bytea,byted);//设置坐标
voidDelaymS(worddelay);//延时
byteconstdal1[][6]={
//字符显示对应的二维十六进制数组,本程序中没有用到
{0x00,0x00,0x00,0x00,0x00,0x00},//0位显示空白
{0x00,0x00,0x00,0x00,0x00,0x00},//1
{0x00,0x00,0x00,0x00,0x00,0x00},//2
{0x00,0x00,0x00,0x00,0x00,0x00},//3
{0x00,0x00,0x00,0x00,0x00,0x00},//4
{0x00,0x00,0x00,0x00,0x00,0x00},//5
{0x00,0x00,0x00,0x00,0x00,0x00},//6
{0x00,0x00,0x00,0x00,0x00,0x00},//7
{0x00,0x00,0x00,0x00,0x00,0x00},//8
{0x00,0x00,0x00,0x00,0x00,0x00},//9
{0x00,0x00,0x00,0x00,0x00,0x00},//10
{0x00,0x00,0x00,0x00,0x00,0x00},//11
{0x00,0x00,0x00,0x00,0x00,0x00},//12
{0x00,0x00,0x00,0x00,0x00,0x00},//13
{0x00,0x00,0x00,0x00,0x00,0x00},//14
{0x00,0x00,0x00,0x00,0x00,0x00},//15
{0x00,0x00,0x00,0x00,0x00,0x00},//16
{0x00,0x00,0x00,0x00,0x00,0x00},//17
{0x00,0x00,0x00,0x00,0x00,0x00},//18
{0x00,0x00,0x00,0x00,0x00,0x00},//19
{0x00,0x00,0x00,0x00,0x00,0x00},//20
{0x00,0x00,0x00,0x00,0x00,0x00},//21
{0x00,0x00,0x00,0x00,0x00,0x00},//22
{0x00,0x00,0x00,0x00,0x00,0x00},//23
{0x00,0x00,0x00,0x00,0x00,0x00},//24
{0x00,0x00,0x00,0x00,0x00,0x00},//25
{0x00,0x00,0x00,0x00,0x00,0x00},//26
{0x00,0x00,0x00,0x00,0x00,0x00},//27
{0x00,0x00,0x00,0x00,0x00,0x00},//28
{0x00,0x00,0x00,0x00,0x00,0x00},//29
{0x00,0x00,0x00,0x00,0x00,0x00},//30
{0x00,0x00,0x00,0x00,0x00,0x00},//31
{0x00,0x00,0x00,0x00,0x00,0x00},//sp32
{0x00,0x00,0x2f,0x00,0x00,0x00},//!
33
{0x00,0x07,0x00,0x07,0x00,0x00},//"34
{0x14,0x7f,0x14,0x7f,0x14,0x00},//#35
{0x24,0x2a,0x7f,0x2a,0x12,0x00},//$36
{0xc4,0xc8,0x10,0x26,0x46,0x00},//%37
{0x36,0x49,0x55,0x22,0x50,0x00},//&38
{0x00,0x05,0x03,0x00,0x00,0x00},//'39
{0x00,0x1c,0x22,0x41,0x00,0x00},//(40
{0x00,0x41,0x22,0x1c,0x00,0x00},//)41
{0x14,0x08,0x3E,0x08,0x14,0x00},//*42
{0x08,0x08,0x3E,0x08,0x08,0x00},//+43
{0x00,0x00,0x50,0x30,0x00,0x00},//,44
{0x10,0x10,0x10,0x10,0x10,0x00},//-45
{0x00,0x60,0x60,0x00,0x00,0x00},//.46
{0x20,0x10,0x08,0x04,0x02,0x00},///47
{0x3E,0x51,0x49,0x45,0x3E,0x00},//048
{0x00,0x42,0x7F,0x40,0x00,0x00},//149
{0x42,0x61,0x51,0x49,0x46,0x00},//250
{0x21,0x41,0x45,0x4B,0x31,0x00},//351
{0x18,0x14,0x12,0x7F,0x10,0x00},//452
{0x27,0x45,0x45,0x45,0x39,0x00},//553
{0x3C,0x4A,0x49,0x49,0x30,0x00},//654
{0x01,0x71,0x09,0x05,0x03,0x00},//755
{0x36,0x49,0x49,0x49,0x36,0x00},//856
{0x06,0x49,0x49,0x29,0x1E,0x00},//957
{0x00,0x36,0x36,0x00,0x00,0x00},//:
58
{0x00,0x56,0x36,0x00,0x00,0x00},//;59
{0x08,0x14,0x22,0x41,0x00,0x00},//<60
{0x14,0x14,0x14,0x14,0x14,0x00},//=61
{0x00,0x41,0x22,0x14,0x08,0x00},//>62
{0x02,0x01,0x51,0x09,0x06,0x00},//?
63
{0x32,0x49,0x59,0x51,0x3E,0x00},//@64
{0x7E,0x11,0x11,0x11,0x7E,0x00},//A65
{0x7F,0x49,0x49,0x49,0x36,0x00},//B66
{0x3E,0x41,0x41,0x41,0x22,0x00},//C67
{0x7F,0x41,0x41,0x22,0x1C,0x00},//D68
{0x7F,0x49,0x49,0x49,0x41,0x00},//E69
{0x7F,0x09,0x09,0x09,0x01,0x00},//F70
{0x3E,0x41,0x49,0x49,0x7A,0x00},//G71
{0x7F,0x08,0x08,0x08,0x7F,0x00},//H72
{0x00,0x41,0x7F,0x41,0x00,0x00},//I73
{0x20,0x40,0x41,0x3F,0x01,0x00},//J74
{0x7F,0x08,0x14,0x22,0x41,0x00},//K75
{0x7F,0x40,0x40,0x40,0x40,0x00},//L76
{0x7F,0x02,0x0C,0x02,0x7F,0x00},//M77
{0x7F,0x04,0x08,0x10,0x7F,0x00},//N78
{0x3E,0x41,0x41,0x41,0x3E,0x00},//O79
{0x7F,0x09,0x09,0x09,0x06,0x00},//P80
{0x3E,0x41,0x51,0x21,0x5E,0x00},//Q81
{0x7F,0x09,0x19,0x29,0x46,0x00},//R82
{0x46,0x49,0x49,0x49,0x31,0x00},//S83
{0x01,0x01,0x7F,0x01,0x01,0x00},//T84
{0x3F,0x40,0x40,0x40,0x3F,0x00},//U85
{0x1F,0x20,0x40,0x20,0x1F,0x00},//V86
{0x3F,0x40,0x38,0x40,0x3F,0x00},//W87
{0x63,0x14,0x08,0x14,0x63,0x00},//X88
{0x07,0x08,0x70,0x08,0x07,0x00},//Y89
{0x61,0x51,0x49,0x45,0x43,0x00},//Z90
{0x00,0x7F,0x41,0x41,0x00,0x00},//[91
{0x55,0x2A,0x55,0x2A,0x55,0x00},//5592
{0x00,0x41,0x41,0x7F,0x00,0x00},//]93
{0x04,0x02,0x01,0x02,0x04,0x00},//^94
{0x40,0x40,0x40,0x40,0x40,0x00},//_95
{0x00,0x01,0x02,0x04,0x00,0x00},//'96
{0x20,0x54,0x54,0x54,0x78,0x00},//a97
{0x7F,0x48,0x44,0x44,0x38,0x00},//b98
{0x38,0x44,0x44,0x44,0x20,0x00},//c99
{0x38,0x44,0x44,0x48,0x7F,0x00},//d100
{0x38,0x54,0x54,0x54,0x18,0x00},//e101
{0x08,0x7E,0x09,0x01,0x02,0x00},//f102
{0x0C,0x52,0x52,0x52,0x3E,0x00},//g103
{0x7F,0x08,0x04,0x04,0x78,0x00},//h104
{0x00,0x44,0x7D,0x40,0x00,0x00},//i105
{0x20,0x40,0x44,0x3D,0x00,0x00},//j106
{0x7F,0x10,0x28,0x44,0x00,0x00},//k107
{0x00,0x41,0x7F,0x40,0x00,0x00},//l108
{0x7C,0x04,0x18,0x04,0x78,0x00},//m109
{0x7C,0x08,0x04,0x04,0x78,0x00},//n110
{0x38,0x44,0x44,0x44,0x38,0x00},//o111
{0x7C,0x14,0x14,0x14,0x08,0x00},//p112
{0x08,0x14,0x14,0x18,0x7C,0x00},//q113
{0x7C,0x08,0x04,0x04,0x08,0x00},//r114
{0x48,0x54,0x54,0x54,0x20,0x00},//s115
{0x04,0x3F,0x44,0x40,0x20,0x00},//t116
{0x3C,0x40,0x40,0x20,0x7C,0x00},//u117
{0x1C,0x20,0x40,0x20,0x1C,0x00},//v118
{0x3C,0x40,0x30,0x40,0x3C,0x00},//w119
{0x44,0x28,0x10,0x28,0x44,0x00},//x120
{0x0C,0x50,0x50,0x50,0x3C,0x00},//y121
{0x44,0x64,0x54,0x4C,0x44,0x00},//z122
{0xD5,0x01,0x80,0x01,0x80,0xAB},//<50123
{0xFF,0x81,0x81,0x81,0x81,0xFF},//50<=<100124
{0xFF,0x81,0xBD,0xBD,0x81,0xFF},//100<=<150125
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//>=150126
{0x00,0x00,0x00,0x00,0x00,0x00}//sp127
};
/*******************显示一幅图****************/
uchardal11[]=
{
//------------------------------------------------------------------------------
/*--图像的数据*/
/*--图像宽度*高度=84x48--*/
0xE0,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xE7,0xFB,0xBB,0xBB,0x5B,0xE7,0xFF,0xFF,0xE7,
0xFB,0xBB,0xBB,0x5B,0xE7,0xFF,0xFF,0xF7,0xF7,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,
0xF7,0xFB,0xFB,0xF7,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFB,
0xFB,0x03,0xFB,0xFB,0xF3,0xFF,0xFF,0x3F,0x5F,0x5F,0x5F,0x5F,0x3F,0xFF,0xFF,0x3F,
0xDF,0xDF,0xDF,0x9F,0xFF,0xFF,0xFF,0xDF,0xDF,0x07,0xDF,0xDF,0xFF,0xFF,0xFF,0xFF,
0xFE,0xFE,0xFE,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xF7,0xF7,0xF7,0xF7,
0xF8,0xFF,0xFF,0xF9,0xF7,0xF7,0x37,0xF7,0xF8,0xFF,0xFF,0xF7,0xF7,0xF0,0xF7,0xF7,
0x7F,0x7F,0x7F,0x7C,0x7B,0x77,0x77,0x7B,0x7C,0x7F,0x7F,0x3F,0x7F,0xFF,0x7F,0x7F,
0x7F,0x7F,0x7F,0x7F,0x77,0xB0,0x77,0xFF,0xFF,0x3F,0xFF,0xF8,0xF7,0xF7,0xF7,0xF7,
0xFB,0xFF,0xFF,0xF3,0xF6,0xF6,0x36,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF7,0xF7,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0xBD,0xBD,0xBD,0xBD,0x00,0xBD,0xBD,0xBD,0xBD,0x80,
0xFD,0xFF,0xFF,0xFF,0x00,0xFF,0xFD,0xED,0xED,0x01,0xED,0xCD,0xAD,0xFD,0xFF,0x00,
0xFF,0xFF,0xFF,0x00,0xDB,0xDB,0x00,0x7F,0x5B,0xDB,0xDA,0x03,0xDA,0xDB,0xDB,0xDB,
0xFF,0xF7,0x76,0xB6,0xC6,0xF6,0x36,0xF7,0xFB,0x7B,0x80,0xFB,0xFB,0x01,0xFB,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xFB,0xFA,0xFA,0xFA,0xFA,0xFA,0xFA,
0xFA,0xFA,0xFA,0xF0,0xFF,0xDF,0x1D,0xFC,0xFE,0xFE,0xF0,0xFF,0xF7,0xFB,0xFC,0xFF,
0xFE,0xFD,0xF3,0xFB,0xFF,0xFE,0xFC,0xFE,0xFE,0xFE,0xF6,0xFA,0xFD,0xFE,0xFF,0xFB,
0xF7,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xDD,0xBE,0xBE,0xBE,0xDD,
0xFF,0xBE,0xBE,0x80,0xBD,0xBE,0xFE,0xFC,0xFF,0xFF,0xCD,0xB6,0xBA,0xBA,0x81,0xBF,
0xFF,0xFF,0x99,0xB6,0xB6,0xB6,0xCC,0xFF,0xFF,0xFF,0x80,0xBD,0xBE,0xBE,0xBE,0xC1,
0xFF,0xFE,0xFC,0xE2,0x1F,0xCF,0xF2,0xFC,0xFE,0xFF,0xE3,0xDD,0xBE,0xBE,0xDD,0xE3,
0xFF,0xFF,0xC1,0xBA,0xBA,0xBA,0xBA,0xD9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x0F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0