诺基亚3310液晶使用范例
诺基亚3310液晶使用范例
本实例的显示效果为:
屏幕的最上面一行,显示不停滚动的中文:“欢迎光临本网站!”
LCD_move_chinese_string(0, 0, 100); //显示速度为100,数值越大,速度越慢。
中间显示“我们的”及一个AVR官方图标。
LCD_write_chinese_string(0,3,12,3,0,0); //显示“我们的”,在x=0,y=2位置,显示write_chinese_string的12点阵汉字,显示3个,从第0个开始显示,行距为0.
LCD_draw_bmp_pixel(36,2,AVR_bmp,48,32); //显示AVR大图
最下面一行显示本站网址:www.hzfubeitong.com
LCD_write_english_string(0,5,"www.hzfubeitong.com"); //显示www.hzfubeitong.com
由于3310LCD的工作电压范围是2.7-3.3V,因此实验中使用一个3.3V的稳压二极管D1将5V电源稳压为3.3V左右,为MCU和LCD供电。
MCU和LCD之间使用SPI接口传输数据。
C源代码(ICCAVR Project格式,包括hex文件)下载:
线路图:(请注意,液晶不要直接使用5V的供电)
2004-10-10 新增内容:
今天我(armok)试着将将本实验移植到 Mega16上,成功了。移植的细节为:
由于 Mega16与 M8 的管脚不一致,于是我在lcd.h 上作出如下的修改:
#define LCD_DC 0x01 // LCD第4脚, Mega16:PB3 第4脚
#define LCD_CE 0x04 // LCD第5脚, Mega16:PB4 第5脚
#define SPI_MOSI 0x08 // LCD第3脚, Mega16:PB5(MOSI) 第6脚
#define LCD_RST 0x10 // LCD第8脚, Mega16:PB6(MISO) 第7脚
#define SPI_CLK 0x20 // LCD第2脚, Mega16:PB7(SCK) 第8脚
按上面的管脚对应焊好导线,并且两个主要的C文件中的 include 修改成 , 将 ICCAVR project 的属性也改成了 ATmega16。
线路图请参考上面的 #define 的说明。
Mega16的C源代码(ICCAVR Project格式,包括hex文件)下载:
0