TG12232E 是一款带字库的122×32 点液晶屏,可以串接(3 线或2 线),可并接。并接又有两种接法,4 位并接和8 位并接。可以说这是一款很好用的液晶屏。它的控制芯片是ST7920。目前市面上的带字库的液晶屏基本上也是用这个芯片,所以本程序是可以移植到其他液晶屏的。 这个屏我们有几种玩法: 1、采用3 线串行方式 2、采用并行 8 位式 3、采用并行 8 位式(C++) TG12232E 的数据手册和芯片资料 采用3 线串行方式的程序 //-------------------------------------------- //name: TG12232E 驱动程序 //mcu: ATmega8 //software: winavr //time: 2005.5.10 //-------------------------------------------- // CS ----- PB2 LCD 片选(串行) 0:禁止 1:允许 // SID ---- PB3 LCD 输入串行数据(串行) // CLK ---- PB5 LCD 输入串行脉冲(串行) #include
#include #include #define FREQ 8 //Meaga8L,8MHz #define SS PB2//LCD 片选(串行) 0:禁止 1:允许 #define MOSI PB3//LCD 输入串行数据(串行) #define SCK PB5//LCD 输入串行脉冲(串行) void port_init(void) { DDRB = 0;//设置B 口全为输入 DDRC = 0;//设置C 口全为输入 DDRD = 0;//设置D 口全为输入 PORTB = 0xff;//设置B 口全部上拉 PORTC = 0xff;//设置C 口全部上拉 PORTD = 0xff;//设置D 口全部上拉 } void spi_init(void) { // 设置MOSI 和 SCK 及 SS 为输出,其他为输入 DDRB = (1 << MOSI) | (1 << SCK) | (1 << SS); PORTB = (1 << MOSI) | (1 << SCK) | (1 << SS); SPCR = (1<