- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nokia 3310 LCD显示
原创
Nokia 3310手机的点阵LCD模块不仅小巧、省电、驱动容易,而且价钱也便宜。因此,最近网上常见到不少朋友都在用单片机来驱动该模块,制做出很多作品。
在此,我要特别感谢神舟兄,是在他的热情帮助下,我才购得这款3310的液晶显示模块。如果有朋友需要的话也可以和他联系(神舟emal:conglp@ )。
实验目标
本实验我们就采用Atmega8或者Atmega48来驱动3310的LCD。
在LCD上显示和移动汉字;
在LCD的最上一行显示“欢迎光临电子爱好者俱乐部!”,并且让这串汉字在LCD上从左至右不停地移动。
在LCD上显示英文字符串;
在LCD的最底一行固定显示“”。
在LCD上显示位图。
在LCD的中间位置显示“AVR”和“实验室”两个位图。
本站商城提供该LCD模块邮购:/shop/index.asp
实验器材
Atmega8或者Atmega48芯片一只、3.3V稳压二极管一只、3310LCD点阵液晶显示屏。Atmega8和Atmega48的管脚顺序完全相同,硬件可以直接替用。
实验电路图及工作原理
由于3310LCD的工作电压范围是2.7-3.3V,因此实验中使用一个3.3V的稳压二极管D1将5V电源稳压为3.3V左右,为MCU和LCD供电。
MCU和LCD之间使用SPI接口传输数据。
LCD模块的引脚排列:从模块的背面看,管脚排列顺序从左至右分别为1至8脚。如下图所示:
注意:
LCD模块的引脚即使用导线直接焊接上,也要用东西将金属引脚压下去,否则还是不能接触到内部电路
实验源程序
主程序:文件名是3310LCDTest.c
#include iom48v.h
#include macros.h
#include lcd.h
#include bmp.h
/*******************************************/
void main(void)
{
OSCCAL=0x99;// 8M系统内部时钟校准
//设置MCU的I/O口
DDRB |= LCD_RST | LCD_DC | LCD_CE | SPI_MOSI | SPI_CLK| 0X02;
SPSR |= BIT(SPI2X);// 设置SPI时钟倍速
SPCR |= BIT(SPE)|BIT(MSTR);// 使能SPI接口,主机模式,4M时钟
LCD_init(); //初始化LCD模块
LCD_write_String(1,5,); //显示英文字符串”“
LCD_draw_map(0,2,AVR_bmp,40,24); //显示“AVR”位图
LCD_draw_map(44,3,china_bmp,36,15); //显示”实验室“位图
PORTB |= 0x02; //LED亮
while(1)
{
LCD_move_chi(0, 0, 25); //汉字移动显示
}
}
LCD3310驱动程序:文件名3310LCD.c
#include iom48v.h
#include macros.h
#include lcd.h
#include 6x8.h
#include chinese.h
/*---------------------------------------
LCD_init: 3310LCD初始化
编写日期:2004-8-10
最后修改日期:2004-8-10
----------------------------*/
void LCD_init(void)
{
PORTB = ~LCD_RST;// 产生一个让LCD复位的低电平脉冲
delay_1us();
PORTB |= LCD_RST;
PORTB = ~LCD_CE ;// 关闭LCD
delay_1us();
PORTB |= LCD_CE;// 使能LCD
delay_1us();
LCD_write_byte(0x21, 0);// 使用扩展命令设置LCD模式
LCD_write_byte(0xc8, 0);// 设置偏置电压
LCD_write_byte(0x06, 0);// 温度校正
LCD_write_byte(0x13, 0);// 1:48
LCD_write_byte(0x20, 0);// 使用基本命令
LCD_clear();// 清屏
LCD_write_byte(0x0c, 0);// 设定显示模式,正常显示
PORTB = ~LCD_CE ;// 关闭LCD
}
/*-----------------------------------------------------------------------
LCD_clear: LCD清屏函数
编写
您可能关注的文档
最近下载
- 川崎 Kawasaki 2022款 Z 400 中文用户手册 使用说明书2021年4月14日印刷.doc VIP
- 最新2025年秋开学第一课主题班会PPT课件(含抗战胜利80周年内容).ppt
- [北京]冷轧带钢工程薄板酸轧设备基础施工方案.doc VIP
- 脑卒中睡眠障碍.pptx VIP
- 全国教学能力比赛《声临其境·影视配音要旨》教案(一等奖).pdf
- (高清版)DB36∕T 713-2013 高速公路红砂岩路基施工技术规范 .pdf VIP
- 全国教学能力比赛《声临其境·影视配音要旨》教学实施报告(一等奖).pdf
- 2025年人教版小升初英语试题及参考答案.docx VIP
- 2024-2025学年小学数学三年级上册(2024)人教版(2024)教学设计合集.docx
- 马复:新版教材特色与创新 (1).pdf VIP
文档评论(0)