proteus中51控制LM3229液晶显示屏.doc

上传人:枫** 文档编号:545642026 上传时间:2023-12-30 格式:DOC 页数:13 大小:201.01KB
返回 下载 相关 举报
proteus中51控制LM3229液晶显示屏.doc_第1页
第1页 / 共13页
proteus中51控制LM3229液晶显示屏.doc_第2页
第2页 / 共13页
proteus中51控制LM3229液晶显示屏.doc_第3页
第3页 / 共13页
proteus中51控制LM3229液晶显示屏.doc_第4页
第4页 / 共13页
proteus中51控制LM3229液晶显示屏.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《proteus中51控制LM3229液晶显示屏.doc》由会员分享,可在线阅读,更多相关《proteus中51控制LM3229液晶显示屏.doc(13页珍藏版)》请在金锄头文库上搜索。

1、proteus中51控制LM3229液晶显示屏 前段时间想弄个大点的液晶来耍,找了一下,我的proteus中最大的也就是LM3229,好像是240*128的,就写以个程序来耍一下,上网找了一下资料,不好找,下了一个朋友的程序,看不懂,最后找到了它的驱动芯片T6963,终于把它搞懂了,自己也写了一个程序,主要是借那个朋友的思路,做了一些改动,添加了一些东西,现吧程序贡献上来,供大家点评,希望对要学习这块芯片的朋友有一点点的帮助上面这副图是前段时间弄的,没弄好,地址没设好,上面有一些乱码今天花了差不多一天的时间搞了一下,发现问题了,从新仿真的图如下还算可以,没有乱码,程序也改了,贴上来,大家个提提

2、意见以前写的是51的,这个是AVR的,都差不多#include #include #define uchar unsigned char#define uint unsigned int #define OneLine 32 /液晶每行的宽度#define LCD_CD_H PORTD|=(1PD0)#define LCD_CD_L PORTD&=(1PD0)#define LCD_RD_H PORTD|=(1PD1)#define LCD_RD_L PORTD&=(1PD1)#define LCD_WR_H PORTD|=(1PD2)#define LCD_WR_L PORTD&=(1PD2

3、)#define LCD_CE_H PORTD|=(1PD3)#define LCD_CE_L PORTD&=(1PD3)#define LCD_RST_H PORTD|=(1PD4)#define LCD_RST_L PORTD&=(1PD4)#define LCD_DATA PORTCvoid Port_init(void)DDRC=0xff;PORTC=0xff;DDRD=0xff;PORTD=0xff;/*名称: WriteData()*功能: 液晶写数据程序,dat为要写入的数据*/void WriteData(uchar dat) /写数据 LCD_CD_L; LCD_WR_L;

4、LCD_DATA = dat; LCD_WR_H; /*名称: WriteComman()*功能: 液晶写命令程序,cmd为要写入的命令*/void WriteCommand(uchar cmd) /写命令 LCD_CD_H; LCD_WR_L; LCD_DATA = cmd; LCD_WR_H; /*名称: WriteDC()*功能: 液晶写1数据1命令程序,dat为要写入的数据,cmd为要写入的命令*/void WriteDC(uchar dat,uchar cmd) /写一个数据和一个指令 WriteData(dat); WriteCommand(cmd); /*名称: WriteDDC

5、()*功能: 液晶写2数据1命令程序,data为要写入的数据,cmd为要写入的命令*/void WriteDDC(uchar data1, uchar data2, uchar cmd) /写两个数据和一个指令 WriteData(data1); WriteData(data2); WriteCommand(cmd); /*名称: LCD_Init()*功能: 液晶初始化程序* 初始地址设置好后,在不同的地址段相同WriteData()输出不同*/void LCD_Init(void) /液晶初始化 uchar data1,data2,cmd; LCD_WR_H; LCD_RD_H; /*设置

6、文本显示*/ data1 = 0x00; data2 = 0x10; /图形显示占用32*128=0xfff,故文本从0x1000开始 cmd = 0x40; /设置文本显示区首地址 WriteDDC(data1,data2,cmd); data1 = 0x20; /可以整屏显示 data2 = 0x00; cmd = 0x41; /设置文本显示区宽度 WriteDDC(data1,data2,cmd); data1 = 0x00; data2 = 0x00; cmd = 0x42; /设置图形显示区首地址 WriteDDC(data1,data2,cmd); data1 = 0x20; da

7、ta2 = 0x00; cmd = 0x43; /设置图形显示区宽度 WriteDDC(data1,data2,cmd); cmd =0xa2; /设置光标形状 WriteCommand(cmd); cmd = 0x80; /显示方式设置 /启用外部字符发生器,显示方式是文本与图形与 WriteCommand(cmd); cmd = 0x9e; /启用光标闪烁,光标不显示,文本显示与图形显示 WriteCommand(cmd); uchar const Photo_code = /*- 图片文件来自:【C:Documents and SettingsAdministrator桌面0U95aA3

8、-4.jpg】 -*/*- 图片宽度:96 图片高度:93 -*/*- 本数据文件建立日期:202009-11-12; 建立时间:20:13:38 -*/*- 本数据文件由PICtoCODE【图片数据生成器】V1.0自动生成! -*/0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x0

9、0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x0D, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x13, 0x0D, 0x0C, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x33, 0x0F, 0x08, 0x6C, 0x0

10、0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x11, 0x0B, 0x08, 0x4C, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x19, 0x09, 0x18, 0x08, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x18, 0x30, 0x78, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x0E, 0x00, 0x00, 0x20, 0xC8, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x03, 0x01, 0xC0, 0x00, 0x60, 0x0A, 0x00, 0x70, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x01, 0x60, 0x03, 0x00, 0x00, 0x80, 0x21, 0xB0, 0x40,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号