OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4568|回复: 2

关于用LPC1114驱动战舰板配套的液晶屏的问题

[复制链接]

12

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-11-21
在线时间
0 小时
发表于 2014-9-13 10:37:28 | 显示全部楼层 |阅读模式
5金钱
  代码如下:
[mw_shl_code=c,true]/*******************************************************/ /* ????????????????LCD */ /*******************************************************/ void LCD_Init(void) { LPC_GPIO2->DIR|=0xFF0; // ?è??P2????8????????????????×÷LCD8?????????? LPC_GPIO2->DATA |= 0XFF0; // P2????8?????????? LPC_GPIO3->DIR|=0x00F; // P3??P3.0??P3.3??????????×÷LCD???????? LPC_GPIO3->DATA |= 0x00F; // P3??P3.0??P3.3???? delay(60); LCD_WriteReg(0x00,0x0000); LCD_WriteReg(0x01,0x0100); //Driver Output Contral. LCD_WriteReg(0x02,0x0700); //LCD Driver Waveform Contral. LCD_WriteReg(0x03,0x1030);//Entry Mode Set. //LCD_WriteReg(0x03,0x1018); //Entry Mode Set. LCD_WriteReg(0x04,0x0000); //Scalling Contral. LCD_WriteReg(0x08,0x0202); //Display Contral 2.(0x0207) LCD_WriteReg(0x09,0x0000); //Display Contral 3.(0x0000) LCD_WriteReg(0x0a,0x0000); //Frame Cycle Contal.(0x0000) LCD_WriteReg(0x0c,(1<<0)); //Extern Display Interface Contral 1.(0x0000) LCD_WriteReg(0x0d,0x0000); //Frame Maker Position. LCD_WriteReg(0x0f,0x0000); //Extern Display Interface Contral 2. delay(50); LCD_WriteReg(0x07,0x0101); //Display Contral. delay(50); LCD_WriteReg(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4)); //Power Control 1.(0x16b0) LCD_WriteReg(0x11,0x0007); //Power Control 2.(0x0001) LCD_WriteReg(0x12,(1<<8)|(1<<4)|(0<<0)); //Power Control 3.(0x0138) LCD_WriteReg(0x13,0x0b00); //Power Control 4. LCD_WriteReg(0x29,0x0000); //Power Control 7. LCD_WriteReg(0x2b,(1<<14)|(1<<4)); LCD_WriteReg(0x50,0); //Set X Star //??GRAM????Set X End. LCD_WriteReg(0x51,239); //Set Y Star LCD_WriteReg(0x52,0); //Set Y End.t. LCD_WriteReg(0x53,319); // LCD_WriteReg(0x60,0x2700); //Driver Output Control. LCD_WriteReg(0x61,0x0001); //Driver Output Control. LCD_WriteReg(0x6a,0x0000); //Vertical Srcoll Control. LCD_WriteReg(0x80,0x0000); //Display Position? Partial Display 1. LCD_WriteReg(0x81,0x0000); //RAM Address Start? Partial Display 1. LCD_WriteReg(0x82,0x0000); //RAM Address End-Partial Display 1. LCD_WriteReg(0x83,0x0000); //Displsy Position? Partial Display 2. LCD_WriteReg(0x84,0x0000); //RAM Address Start? Partial Display 2. LCD_WriteReg(0x85,0x0000); //RAM Address End? Partial Display 2. LCD_WriteReg(0x90,(0<<7)|(16<<0)); //Frame Cycle Contral.(0x0013) LCD_WriteReg(0x92,0x0000); //Panel Interface Contral 2.(0x0000) LCD_WriteReg(0x93,0x0001); //Panel Interface Contral 3. LCD_WriteReg(0x95,0x0110); //Frame Cycle Contral.(0x0110) LCD_WriteReg(0x97,(0<<8)); // LCD_WriteReg(0x98,0x0000); //Frame Cycle Contral. LCD_WriteReg(0x07,0x0173); //(0x0173) // LCD_WriteReg(0x00,regval); } void LCD_WriteReg(uint16_t REG, uint16_t VALUE) { LCD_WR_REG(REG); LCD_WR_DATA(VALUE); } void LCD_WR_DATA(uint16_t val) { LPC_GPIO3->DATA |= (1<<0); //RS=1; LPC_GPIO3->DATA &=~(1<<1); //CS=0; OUT_DATA(val>>8); LPC_GPIO3->DATA &=~(1<<2); //WR=0; LPC_GPIO3->DATA |= (1<<2); //WR=1; OUT_DATA(val); LPC_GPIO3->DATA &=~(1<<2); //WR=0; LPC_GPIO3->DATA |= (1<<2); //WR=1; LPC_GPIO3->DATA |= (1<<1); //CS=1; } /*????????????????????????????????????????????????????????????????????????????????????????????????????*/ /****************************************************/ /* ???????????·?¨?ù?????????÷???? */ /* ??????????reg?????????????÷ */ /* ???÷?? ?????÷????16??????8??????·????è????????*/ /****************************************************/ void LCD_WR_REG(uint16_t reg) { LPC_GPIO3->DATA &=~(1<<0); //RS=0; LPC_GPIO3->DATA &=~(1<<1); //CS=0; OUT_DATA(reg>>8); LPC_GPIO3->DATA &=~(1<<2); //WR=0; LPC_GPIO3->DATA |= (1<<2); //WR=1; OUT_DATA(reg); LPC_GPIO3->DATA &=~(1<<2); //WR=0; LPC_GPIO3->DATA |= (1<<2); //WR=1; LPC_GPIO3->DATA |= (1<<0); //RS=1; } /**********************************************/ /* ??????????????TFT */ /* ??????????color ?????? */ /**********************************************/ void LCD_Clear(uint16_t color) { uint32_t temp; LCD_WR_REG_DATA(0x0020,0);//?è??X×?±ê???? LCD_WR_REG_DATA(0x0021,0);//?è??Y×?±ê???? LCD_WR_REG(0x0022); for(temp=0;temp<76800;temp++) { LCD_WR_DATA(color); } } int main() { LCD_Init(); // ?????????§?????÷ LCD_Clear(BLACK); // ????????°×?? while(1) { } } [/mw_shl_code]

想在主函数中将液晶刷成黑色,可是就是没反应,求教啊

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-14 00:33:39 | 显示全部楼层
检查初始化代码吧,初始化成功了没有先。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2013-8-18
在线时间
41 小时
发表于 2014-9-14 11:27:53 | 显示全部楼层
LPC1114你是不是用的8位数据口?
给我一块二向箔,清理用~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-15 17:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表