2024年5月23日发(作者:植如蓉)
诺基亚3310液晶是一种OEM产品
48X84 pixels matrix LCD controller/driver
生产厂家 Philips, 型号为:PCD8544
可显示84*48点,被评为性价比最好的AVR液晶
3310lcd驱动电路:
Vdd接3.3V(注意:工作电压是3.3V)或者如图接(1、接100欧姆电阻接5V 2、接二
极管再接地)
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
- 1 -
所以我们可以自由的显示字母、汉字、图片,只要将对应的十六进制控制码写入LCD即可,
汉字和图片的控制码可借助于专用的字模生成软件生成。
Pin Signal Description Port
1:VDD
Power Input. Logic supply voltage range VDD to GND : 2.7 to 3.3 V
2:SCLK
Serial clock. Input for the clock signal: 0.0 to 4.0 Mbits/s.
3:SDIN
Serial data. Input for the data line.
4:D/C
Mode Select. To select either command/address or data input.
5:SCE
Chip enable input. The enable pin allows data to be clocked in. The signal
is active LOW.
6:GND
Ground
7:VOUT
Ouptut voltage. Add external 1-10 uF electrolytic capacitor from VOUT to
GND
8:RES
External reset. This signal will reset the device and must be applied to
properly
initialize the chip. The signal is active LOW.
程序:(完整可运行)
下面的程序是针对飞思卡尔的十六位单片机MC9S12XS128开发的
用于其它MCU时只要将端口改一下,就可移植
#include
#include "derivative.h" /* derivative-specific definitions */
#define sclk PTM_PTM0 //时钟
#define sdin PTM_PTM1 //数据
#define dc PTM_PTM2 //1写数据,0写指令
#define sce PTP_PTP4 //片选
#define res PTP_PTP7 //复位
byte const mask_table[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
void Initlcd(void);//LCD初始化
- 2 -
2024年5月23日发(作者:植如蓉)
诺基亚3310液晶是一种OEM产品
48X84 pixels matrix LCD controller/driver
生产厂家 Philips, 型号为:PCD8544
可显示84*48点,被评为性价比最好的AVR液晶
3310lcd驱动电路:
Vdd接3.3V(注意:工作电压是3.3V)或者如图接(1、接100欧姆电阻接5V 2、接二
极管再接地)
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
- 1 -
所以我们可以自由的显示字母、汉字、图片,只要将对应的十六进制控制码写入LCD即可,
汉字和图片的控制码可借助于专用的字模生成软件生成。
Pin Signal Description Port
1:VDD
Power Input. Logic supply voltage range VDD to GND : 2.7 to 3.3 V
2:SCLK
Serial clock. Input for the clock signal: 0.0 to 4.0 Mbits/s.
3:SDIN
Serial data. Input for the data line.
4:D/C
Mode Select. To select either command/address or data input.
5:SCE
Chip enable input. The enable pin allows data to be clocked in. The signal
is active LOW.
6:GND
Ground
7:VOUT
Ouptut voltage. Add external 1-10 uF electrolytic capacitor from VOUT to
GND
8:RES
External reset. This signal will reset the device and must be applied to
properly
initialize the chip. The signal is active LOW.
程序:(完整可运行)
下面的程序是针对飞思卡尔的十六位单片机MC9S12XS128开发的
用于其它MCU时只要将端口改一下,就可移植
#include
#include "derivative.h" /* derivative-specific definitions */
#define sclk PTM_PTM0 //时钟
#define sdin PTM_PTM1 //数据
#define dc PTM_PTM2 //1写数据,0写指令
#define sce PTP_PTP4 //片选
#define res PTP_PTP7 //复位
byte const mask_table[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
void Initlcd(void);//LCD初始化
- 2 -