历史上的今天
返回首页

历史上的今天

今天是:2025年04月17日(星期四)

正在发生

2018年04月17日 | STM32F10X系列LCD屏的配置及子函数

2018-04-17 来源:eefocus

首先是LCD的RAM写子函数:


[objc] view plain copy

void LCD_WriteRAM(u16 RGB_Code)  

{  

  GPIO_SetBits(LCD_RS_PORT,LCD_RS_PIN);     

    

  GPIO_Write(LCD_PORT_PORT,RGB_Code>>8);  

  //Delay(5);         

  GPIO_ResetBits(LCD_WR_PORT,LCD_WR_PIN);   

  //Delay(10);  

  GPIO_SetBits(LCD_WR_PORT,LCD_WR_PIN);  

  

  GPIO_Write(LCD_PORT_PORT,RGB_Code);  

 // Delay(10);        

  GPIO_ResetBits(LCD_WR_PORT,LCD_WR_PIN);   

  //Delay(10);  

  GPIO_SetBits(LCD_WR_PORT,LCD_WR_PIN);  

}  


     LCD从RAM读取字符并进行显示的子函数:

[objc] view plain copy

void LCD_DrawChar(u8 Xpos, u16 Ypos, const u16 *c)  

{  

  u32 index = 0, i = 0;  

  u8 Xaddress = 0;  

     

  Xaddress = Xpos;  

    

  LCD_SetCursor(Xaddress, 319-Ypos);  

    

  for(index = 0; index < 24; index++)  

  {  

    LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */  

    for(i = 0; i < 16; i++)  

    {  

      if((c[index] & (1 << i)) == 0x00)  

      {  

        LCD_WriteRAM(BackColor);  

      }  

      else  

      {  

        LCD_WriteRAM(TextColor);  

      }  

    }     

    LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET);   

    Xaddress++;  

    LCD_SetCursor(Xaddress, 319-Ypos);  

  }  

}  



       ASCII码转换的基本

[objc] view plain copy

void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii)  

{  

  Ascii -= 32;  

  LCD_DrawChar(Line, Column, &ASCII_Table[Ascii * 24]);  

}  





       可以应用于主函数的数字显示函数:

[objc] view plain copy

void LCD_ShowNum(uint8_t x,uint16_t y,uint16_t data)  

{  

LCD_DisplayChar(x,y,data/10000+48);   

LCD_DisplayChar(x,(y+25),data%10000/1000+48);   // %10000  

LCD_DisplayChar(x,(y+50),data%1000/100+48);   

LCD_DisplayChar(x,(y+75),data%100/10+48);      

LCD_DisplayChar(x,(y+100),data%10+48);  

}     


      可以用于主函数的字符显示函数:

[objc] view plain copy

void LCD_DisplayStringLine(u8 Line, u8 *ptr)  

{  

  u32 i = 0;  

  u16 refcolumn =0;  

  /* Send the string character by character on lCD */  

  while ((*ptr != 0) & (i < 20))  

  {  

    /* Display one character on LCD */  

    LCD_DisplayChar(Line*FONT_HEIGHT, refcolumn, *ptr);  

    /* Decrement the column position by 16 */  

    refcolumn += FONT_WIDTH;  

    /* Point on the next character */  

    ptr++;  

    /* Increment the character counter */  

    i++;  

  }  

}  


推荐阅读

史海拾趣

德尔创(Dersonic)公司的发展小趣事

面对不断变化的市场环境和客户需求,德尔创始终坚持可持续发展的理念。公司注重环境保护和资源节约,积极推行绿色生产和循环经济。同时,德尔创还加强了内部管理和团队建设,通过优化流程和提高效率来降低成本和提升效益。对于未来,德尔创已经制定了明确的发展规划和目标,将继续加大在技术研发、市场拓展和品牌建设等方面的投入力度,努力成为全球电子元器件行业的领军企业之一。

Conditioning Semiconductor Devices Corp公司的发展小趣事

随着全球环保意识的提高,半导体行业也面临着环保和可持续发展的挑战。CSDC积极响应这一趋势,将环保理念融入公司的生产和运营中。通过采用环保材料和工艺,减少生产过程中的污染排放,CSDC不仅降低了对环境的影响,还提升了企业的社会形象。同时,公司还积极参与环保公益活动,推动半导体行业的绿色发展。

这些故事展示了半导体设备公司可能经历的一些关键发展阶段和面临的挑战。虽然这些故事是虚构的,但它们基于半导体行业的现实背景和趋势进行构建,具有一定的参考价值。

DACHANG公司的发展小趣事

在追求经济效益的同时,DACHANG公司始终不忘承担社会责任。公司积极参与公益事业,关注环境保护和社会发展。无论是在捐款助学、扶贫济困还是在环保减排方面,DACHANG公司都积极履行自己的社会责任,为社会做出了积极贡献。这种对社会责任的担当和履行,不仅提升了DACHANG公司的品牌形象,也赢得了社会各界的广泛赞誉。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

随着技术的不断进步和市场的日益成熟,E-T-A公司的产品线也逐渐扩展。公司不仅继续深耕断路器领域,还推出了包括保护控制器、流量和液位传感器等一系列新产品。同时,公司也开始积极拓展全球市场,通过设立分支机构和办事处,为全球客户提供更便捷的服务和支持。

Cambridge Electronic Industries Ltd公司的发展小趣事

面对日益严峻的环境问题和社会责任,CEI积极响应可持续发展的号召。公司加大了对环保技术的研发投入,推出了多款节能、环保的电子产品。同时,CEI还关注员工福利和社会公益事业,积极参与社会捐赠和公益活动。展望未来,CEI将继续坚持技术创新和可持续发展战略,为电子行业的繁荣和发展做出更大的贡献。

通过以上五个故事,我们可以看到Cambridge Electronic Industries Ltd公司在电子行业里发展起来的艰辛与辉煌。他们凭借技术创新、市场拓展、品质管理和可持续发展等方面的努力,逐渐成为了电子行业的佼佼者。

智浦欣(Chipstar)公司的发展小趣事

随着公司规模的不断扩大和业务的快速发展,智浦欣公司意识到,必须加强内部管理和人才培养才能确保公司的持续健康发展。于是,公司引进了一套先进的管理体系和人才培养计划。在管理体系方面,公司建立了完善的组织架构和业务流程,提高了工作效率和协同能力;在人才培养方面,公司注重员工的个人发展和职业规划,提供了多样化的培训和学习机会,激发了员工的工作热情和创新能力。

问答坊 | AI 解惑

EDA工具简介

Synopsys工具简介〓 LEDA   LEDA?是可编程的语法和设计规范检查工具,它能够对全芯片的VHDL和Verilog描述、或者两者混合描述进行检查,加速SoC的设计流程。 LEDA预先将IEEE可综合规范、可仿真规范、可测性规范和设计服用规范集成,提高设计者分析 ...…

查看全部问答>

AD/DA??????????

各位能否推荐一8位模数芯片,AD/DA集成到一个片子上的,最好是I2C接口,或spi接口的,我知道一款,但不好买,各位仁兄还知道有没有其他的吗?小弟在此先谢了啊…

查看全部问答>

我用内嵌TCP/IP协议的GPRS模块进行数据传输,其它命令都是正确的回复,但是最后一个上网的命令不正确

大家好,希望能帮帮我。我用西门子公司的MC55进行GPRS中的TCP/IP数据传输,用51单片机控制,现在TCP/IP设置的命令都回复的OK,但是最后一条连网命令不正确,经查证发现连网的命令是发送正确的,就是连不上网,是怎么回事啊?…

查看全部问答>

DS18B20 初始化失败 纠结中

为了单独测试这个DS18B20的初始化,弄了个最小化的电路如下: DS18B20接P1.7,LED接P1.0 如果初始化成功,则LED应该点亮. 程序: #include sbit DQ = P1^7; sbit LED = P1^0; void delay2us(unsigned char t) {      whil ...…

查看全部问答>

说说大家WCE的产品

交流下大家的Windows CE产品,看看目前市场上用到的Windows CE产品有哪些? 注:标明Windows CE版本号、产品名及简要介绍、工资。 先说我自己的: Windows CE 5.0、Windows CE 6.0 终端——类似电脑,主要用户行业的窗口柜台(如银行、邮政 ...…

查看全部问答>

WINCE触摸屏右键无法出现

我的屏幕的分辨率为800*480.那么对应的屏幕坐标为(3200,1920)?。。我现在出现的问题是,平常的操作基本正常,但是无法出现右键,AYGSHELL组件也已经选了。是不是抖动问题?但是我在DdsiTouchPanelGetPoint中保存第一次按下时的坐标,在弹起之前 ...…

查看全部问答>

STM32AD采样信号超过3.3V会怎么样

                                 如题,这样会不会造成AD损坏?…

查看全部问答>

2011大赛B题基于自由摆的平板控制系统 单摆 参考论文

本帖最后由 paulhyde 于 2014-9-15 03:37 编辑 今年大赛做B题基于自由摆的平板控制系统的参赛者有时间可以而看看,这个论文感觉就是我们试题B的出处!由于文件太大。。采用分卷压缩的!将3个附件同时下载下来即可解压!    …

查看全部问答>

求一个AD口暴多的mcu,推荐一下

求一个AD口暴多的mcu,推荐一下…

查看全部问答>

如何按键进休眠模式?请教

想用休眠模式让电机停,执行到寄存器pcon不停? #include #define uchar unsigned char #define uint unsigned int sbit a = P2^6;//电机 sbit k = P3^7;//按键进入休眠 void ex_int0() interrupt 0//外部中断0唤醒函数 { PCON=0; } void ...…

查看全部问答>