蓝桥杯嵌入式LCD初步使用

ILI9325 LCD的使用

1. 基础信息

  • LCD驱动芯片: ILI9325
  • 蓝桥杯官方提供的LCD例程中有初始化函数和屏幕的显示函数.
  • stm32与ILI9325通信使用的是并行i8080通信.
    <font color="red">板子上只有HSE(8MHz),没有LSE!!!</font>
  • 液晶显示屏工作原理
  • 配置代码参考

2. 芯片讲解

  • ILI9325芯片是一个262k颜色的液晶驱动芯片,分辨率位240RGBx320,即一个点由RGB三个点构成.有172,800bytes用来存储240RGBx320的图像数据.有4种接口用来显示图片.
  • <font color="blue">行驱动:gate-driver(G1-G320)打开关闭一行,列驱动:source-driver(S1-S720)1个点有3列,选择点的颜色.</font>
  • <font color="red">蓝桥杯官方的板子没有引出ILI9325的IM[3:0] SDI SDO ENABLE DOTCLK VSYNC HSYNC FMARK信号,板子直接固定使用的是16-bit,system interface,i80通信协议.</font>

3. 蓝桥杯官方板

  1. 管脚描述
    • CS(PB9): 低电平有效
    • RS(PB8): 寄存器选择信号,0:写寄存器地址.1:写data.
    • WR/SCL(PB5): 0:使能写操作.SPI模式下:时钟同步信号SCL.
    • RD(PB10): 0使能读操作.
    • RESET: 直接接了stm32的复位信号.
  2. 通信
    • system interface,16-bit并行同信.
  3. 读写操作
    • 写操作
      写操作时序图
    void My_LCD_WriteReg(u16 Reg_addr,u16 Reg_data)
    {
        u32 PCOUT = GPIOC->ODR; LE = 0;//避免LCD对LED的影响.
        CS = 0; RS = 0; WR = 1; //Ready to write address 
        GPIOC->ODR = Reg_addr;  //Wrte reg address
        WR = 0; WR = 1;         //没有延时,说明在一个指令周期内,可以写完16-bit数据
        RS = 1;                 //Ready to write data
        GPIOC->ODR = Reg_data;
        WR = 0; WR = 1;
        RS = 1;                 //for next   
        
        CS = 1;                 //finish write
        GPIOC->ODR = PCOUT;     //复原LED管脚状态.
    } 
    
    • 读操作
      读操作时序图
    u16 My_LCD_ReadReg(u16 Reg_addr)
    {
       u16 Read_value = 0;
       u32 PCOUT = GPIOC->ODR; LE = 0;//避免LCD对LED的影响.
       CS = 0; RS = 0; WR = 1; //Ready to write address 
       GPIOC->ODR = Reg_addr;  //Wrte reg address
       WR = 0; WR = 1;         //没有延时,说明在一个指令周期内,可以写完16-bit数据
       GPIOC->CRL = 0x44444444;//set pin floating input
       GPIOC->CRH = 0x44444444;
       RD = 0;                 //Ready to read data
       Read_value = GPIOC->IDR;
       RD = 1;  
       GPIOC->CRL = 0x33333333;//set pin pp output
       GPIOC->CRH = 0x33333333;
    
       CS = 1;                 //finish write
       GPIOC->ODR = PCOUT;     //复原LED管脚状态.
        
       return Read_value;
    } 
    

4. 官方液晶例程配置

  • 坐标原点:竖着放左上方.
  • R01h: 配置液晶点阵的驱动方向.SM=1(与GS结合设置扫描方向).SS=0(S1->S720).
  • R60h,R61h,R6Ah: \color{blue}{(R60h)SCN[5:0]=0,NL[5:0]=0,GS=1.(R61h)NDL=0,VLE=0,REV=1,(R6Ah)VL[8:0]=0.}行扫描控制,图片竖直滚动设置,灰度区电压控制.
    • SCN[5:0]: 选择gate-driver从哪一行开始扫描. 官方设置SCN=0,SM=0,GS=1:gate-driver从G320开始扫描,扫描方向G320->G1.
    • NL[5:0]:以8行为间隔设置驱动LCD的函数.NL[5:0]=0,LCD驱动行数8 lines.
    • NDL: 设置非显示区域电压的输出级别.
    • VLE: 1:使能图片垂直滚动
    • REV: 1:使能图像灰度翻转,即改变0x00000-0x3FFFF的source output的优先级.
    • VL[8:0]: 设置有多少行的图片垂直滚动.
  • R50h-R53h: 设置窗口图片显示的其实和结束地址.<font olor="blue">HSA[7:0]=0,HEA[7:0]=0,VSA[8:0]=0,VEA[8:0]=0</font>
    窗口显示配置
  • R03h: <font color="blue">BGR=1,I/D[1:0]=11,ORG=0,AM=0,TRI=0,DFM=0./font>设置数据进入GRAM模式.
    • AM+I/D[1:0]一起控制GRAM的更新方向,用于连续写入. AM:0 逐列扫描,1 逐行扫描.I/D:控制地址计数器递增还是递减.

    • ORG: 当ORG=1时根据I/D的值改变屏幕00000h的位置.

      ORG=0

      ORG=1

      ID=00 ID=01 ID=10 ID=11
      逐行 R->L,D->U L->R,D->U R->L,U->D L->R,U->D
      逐列 R->L,D->U L->R,D->U R->L,U->D L->R,U->D
    • BGR: BGR=1时以BGR的顺序写入GRAM.

    • TRI,DFM: 设置数据传送进RAM的模式.

  • R04h: <font color="blue">RCV[1:0]=0,RCH[1:0]=0,RSZ[1:0]=0</font>设置图片的缩放.例程设置无缩放.
  • R08h: <font color="blue">FP[3:0]=2,BP[3:0]=7</font>设置前肩,后肩的行数.
  • R09h: <font color="blue">ISC[3:0]=0,PTG[1:0]=0,PTS[2:0]=0 </font>设置非显示区域的扫描周期(减少LCD的损害)官方设置:灰度区步进行扫描.
  • R0Ah: <font color="blue">FMARKOE=0</font>帧同步信号的使能和周期控制.官方设置:不输出帧同步信号.
    R0Ch:<font color="blue">RIM[1:0]=01,DM[1:0]=00,RM=0,ENC[2:0]=0</font>设置接口模式.
  • R0Dh:<font color="blue">FMP[8:0]=0</font>设置FMARK输出位置.
  • {R21h,R20h}:设置光标的初始位置.

5. 标准库函数一些特殊类型定义

特殊类型定义
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354