proteus中51控制LM3229液晶显示屏

上传人:zou****hua 文档编号:181745690 上传时间:2023-01-16 格式:DOCX 页数:14 大小:98.15KB
返回 下载 相关 举报
proteus中51控制LM3229液晶显示屏_第1页
第1页 / 共14页
proteus中51控制LM3229液晶显示屏_第2页
第2页 / 共14页
proteus中51控制LM3229液晶显示屏_第3页
第3页 / 共14页
点击查看更多>>
资源描述
proteus中51控制LM3229液晶显示屏前段时间想弄个大点的液晶来耍,找了一下,我的proteus中最大的也就是LM3229,好像是240*128 的,就写以个程序来耍一下,上网找了一下资料,不好找,下了一个朋友的程序,看不懂,最后找到了它 的驱动芯片T6963,终于把它搞懂了,自己也写了一个程序,主要是借那个朋友的思路,做了一些改动, 添加了一些东西,现吧程序贡献上来,供大家点评,希望对要学习这块芯片的朋友有一点点的帮助LCD1-LM322SRP2 RESFAGK-:西华大学单片机爱好口ADO 凸3AD3AD5a nF;393837363?3429上面这副图是前段时间弄的,没弄好,地址没设好,上面有一些乱码 今天花了差不多一天的时间搞了一下,发现问题了,从新仿真的图如下LCD1-LM322S:THf? 対訓I罪二或皐卑惬貯强e寸OXir-ijj0Qi-J2QT-2igo1- OCi岂Tu:Er-|j_LLu_LJ_dLL_u_dPCO PCIFcFC4PC5还算可以,没有乱码, 程序也改了,贴上来,大家个提提意见 以前写的是51的,这个是AVR的,都差不多#include #include #define uchar unsigned char#define uint unsigned int#define OneLine 32液晶每行的宽度#define LCD_CD_H PORTD|=(1PDO)#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)#define LCD_CE_H PORTD|=(1PD3)#define LCD_CE_L PORTD&=(1PD3)#define LCD_RST_H PORTD|=(1PD4)#define LCD_RST_L PORTD&=(18;data1=addres;WriteDDC(data1,data2,0x24);WriteCommand(0xb0);WriteData(str);WriteCommand(0xb2);/* 名称:Write_Photo()*功能:液晶画图程序,row为图片开始行(0127),rol为图片开始列(029),* width为图片长(单位Bit),deep为图片宽(单位bit)*/void Write_Photo(uchar row,uchar rol,uchar width,uchar deep)uint address,Photolength,i;uchar j,data1,data2,cmd;Photolength=width*deep;address = row*32+rol;data1 = address;取地址低八位data2 = address8;取地址高八位cmd = 0x24;WriteDDC(data1,data2,cmd);for(i=0;i8;取地址高八位cmd = 0x24;WriteDDC(data1,data2,cmd);j=0;WriteCommand(OxbO);进入自动写模式WriteCommand(0xb2);/*名称:Write_Chinese()*功能:液晶写汉字程序,row为汉字开始行,rol为汉字开始列,Chinese为汉字字符串在*CGRAM中的初地址length为汉字字符串的长度,(一个16*16点阵的汉字长度为4)*/void SetCGRAM(void)uchar data1,data2,cmd;uint i;data1 = 0x03;data2 = 0x00;设置偏移地址寄存器cmd = 0x22;WriteDDC(data1,data2,cmd);data1 = 0x00;data2 = 0x1c;cmd = 0x24;设置地址指针WriteCommand(cmd);for (i = 0;i 8;取地址高八位cmd = 0x24;设置地址指针,字符显示首位置WriteDDC(data1,data2,cmd);cmd = 0xb0;进去自动写模式WriteCommand(cmd);for(i=0;i8;取地址高八位cmd = 0x24;设置地址指针,字符显示首位置再写汉字下半部分address = address+32;cmd = OxbO;进去自动写模式WriteDDC(data1,data2,cmd);WriteCommand(cmd);for(i=1;ilength;i+)WriteData(Chinese+i);i+;cmd = 0xb2;退出自动写模式WriteCommand(cmd);/* 名称:main()*功能:主函数,画图,写汉字,写汉字前应设置CGRAM*/void main(void)Port_init();LCD_lnit();SetCGRAM();Write_Photo(1,2,12,120);Write_Chinese(3,19,0x80,16);Write_Chinese(6,17,0x90,24);Write_Chinese(9,22,0xa8,4);while(1);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 机械电气


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!