嵌入式系统应用I 嵌入式系统应用I LCD-FSMC原理简介-M3.ppt

嵌入式系统应用I 嵌入式系统应用I LCD-FSMC原理简介-M3.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3、源码讲解-LCD结构体(Mini板没有) 淘宝店铺: 技术论坛: //LCD地址结构体 typedef struct { vu16 LCD_REG; vu16 LCD_RAM; } LCD_TypeDef; //使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线 //注意设置时STM32内部会右移一位对其! #define LCD_BASE ((u32)(0x6C000000 | 0x000007FE)) #define LCD ((LCD_TypeDef *) LCD_BASE) LCD_BASE,须根据外部电路的连接来确定,如Bank1.sector4就是从地址0X6C000000开 始,而0X000007FE,则是A10的偏移量。以A10为例,7FE换成二进制为:111 1111 1110 ,而16位数据时,地址右移一位对齐,对应到地址引脚,就是:A10:A0=011 1111 1111, 此时A10是0,但是如果16位地址再加1(对应到8位地址是加2,即7FE+0X02),那么: A10:A0=100 0000 0000,此时A10就是1了,即实现了对RS的0和1的控制。 我们将这个地址强制转换为LCD_TypeDef结构体地址,那么可以得到LCD-LCD_REG的 地址就是0X6C00,07FE,对应A10的状态为0(即RS=0),而LCD- LCD_RAM的地址就是 0X6C00,0800(结构体地址自增),对应A10的状态为1(即RS=1),从而实现对RS的控 制。 探索者F4,RS接A6, 则| 0x0000007E 3、源码讲解-lcddev结构体 淘宝店铺: 技术论坛: //LCD重要参数集 typedef struct { u16 width; //LCD 宽度 u16 height; //LCD 高度 u16 id; //LCD ID u8 dir; //横屏还是竖屏控制:0,竖屏;1,横屏。 u16 wramcmd; //开始写gram指令 u16 setxcmd; //设置x坐标指令 u16 setycmd; //设置y坐标指令 }_lcd_dev; //LCD参数 extern _lcd_dev lcddev; //管理LCD重要参数 lcddev结构体参数的赋值,基本上都是在LCD_Display_Dir函数完成 3、源码讲解-底层接口函数 淘宝店铺: 技术论坛: 7个底层接口函数: 1,写寄存器值函数 :void LCD_WR_REG(u16 regval) 2,写数据函数:void LCD_WR_DATA(u16 data) 3,读数据函数:u16 LCD_RD_DATA(void) 4,写寄存器内容函数: void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue) 5,读寄存器内容函数: u16 LCD_ReadReg(u16 LCD_Reg) 6,开始写GRAM函数: void LCD_WriteRAM_Prepare(void) 7,写GRAM函数: void LCD_WriteRAM(u16 RGB_Code) 3、源码讲解-LCD初始化函数 淘宝店铺: 技术论坛: LCD初始化函数伪代码: //LCD初始化 void LCD_Init(void) { 初始化GPIO; 初始化FSMC; //Mini板不需要 读取LCD ID; printf(“LCD ID:%x\r\n”,lcddev.id);//打印LCD ID,用到了串口1 //所以必须初始化串口1,否则黑屏 根据不同的ID执行LCD初始化代码; LCD_Display_Dir(0); //默认为竖屏 LCD_LED=1; //点亮背光 LCD_Clear(WHITE); //清屏 } 3、源码讲解-LCD坐标设置函数 淘宝店铺: 技术论坛: //设置光标位置 //Xpos:横坐标 //Ypos:纵坐标 void LCD_Se

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档