打印

【STM32F0实验】+Nokia5110液晶显示

[复制链接]
5183|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 568581185 于 2012-9-9 09:27 编辑


昨晚研究了一晚上,在STM32F1xx的固件库文档的帮助下,成功实现了Nokia5110液晶的简单显示主函数代码
int main(void)
{
        Clock_Init();
  GPIO_LCD_Init();
        LCD_Init();
  while(1)
  {  
    LCD_Write_Num(0 ,0 ,1234,5);
  }
void Clock_Init(void)
{
        ErrorStatus HSEStartUpStatus;
        /* Enable HSE */
        RCC_HSEConfig(RCC_HSE_ON);
        /* Wait till HSE is ready and if Time out is reached exit */
        HSEStartUpStatus = RCC_WaitForHSEStartUp();
        if(HSEStartUpStatus == SUCCESS)
        {
        /* Set PLL clock output to 24MHz using HSE (8MHz) as entry clock */
        RCC_PLLConfig(RCC_CFGR_PLLSRC_PREDIV1, RCC_PLLMul_3);
        /* Enable the PLL */
        RCC_PLLCmd(ENABLE);
        /* Select the PLL as system clock source */
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
        /* Configure HCLK such as HCLK = SYSCLK */
        RCC_HCLKConfig(RCC_SYSCLK_Div1);        
        /* Configure PCLK1 such as PCLK1 = HCLK/2 */
        RCC_PCLKConfig(RCC_HCLK_Div2);

        /* Enable GPIOA clocks */
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
        }
        else
        {
        /* Add here some code to deal with this error */
        }        
                        
}
void GPIO_LCD_Init(void)
{
        /* Configure all the GPIOA in Input Floating mode */
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_OType        = GPIO_OType_PP;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
}
5110的C文件、头文件和字库文件
Nokia5110.zip (4.77 KB)
5110液晶引脚宏定义
#define uint uint16_t
#define uchar uint8_t

#define SCLK_SET          GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_SET)
#define SCLK_CLR          GPIO_WriteBit(GPIOA, GPIO_Pin_1,Bit_RESET);

#define SDIN_SET          GPIO_WriteBit(GPIOA, GPIO_Pin_2, Bit_SET)
#define SDIN_CLR          GPIO_WriteBit(GPIOA, GPIO_Pin_2,Bit_RESET);

#define LCD_DC_SET        GPIO_WriteBit(GPIOA, GPIO_Pin_3, Bit_SET)
#define LCD_DC_CLR        GPIO_WriteBit(GPIOA, GPIO_Pin_3,Bit_RESET);

#define LCD_CE_SET        GPIO_WriteBit(GPIOA, GPIO_Pin_4, Bit_SET)
#define LCD_CE_CLR        GPIO_WriteBit(GPIOA, GPIO_Pin_4,Bit_RESET);

#define LCD_RST_SET        GPIO_WriteBit(GPIOA, GPIO_Pin_5, Bit_SET)
#define LCD_RST_CLR        GPIO_WriteBit(GPIOA, GPIO_Pin_5,Bit_RESET);
沙发
568581185|  楼主 | 2012-8-16 09:24 | 显示全部楼层
痛苦的是下载太难下进去了,我下载了这么多次,只有那一次成功了
我使用的是外部8M晶振,从上面的时钟初始化也能看出来

使用特权

评论回复
板凳
568581185|  楼主 | 2012-9-9 09:33 | 显示全部楼层
更新一下显示图片
图片显示取模必须是:数据水平,字节垂直方式
取模方式不对,图形显示是乱码
LCD_draw_bmp_pixel(0,0,gImage_j,64 ,40);  //图像取模时,数据水平,字节垂直

ST图形**的数组:
uchar gImage_j[320] = {
0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x7E,0x3E,0x1E,0x1E,
0x1E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,
0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x60,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,
0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0,0xE0,
0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF0,0xE0,0xC0,
0x80,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0x3F,
0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
0x0F,0x0F,0x0E,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0x07,0x01,0x00,
0x00,0x00,0x00,0x00,0xC0,0xF0,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x07,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
图片效果在楼主位

使用特权

评论回复
地板
568581185|  楼主 | 2012-9-10 12:53 | 显示全部楼层
5# 梦中花雨 这个可以参考下论坛上的资料吧,我看有很多牛人都发了资料上来
多看看就应该会了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:个人淘宝小店:http://shop70915068.taobao.com 邮件:785606460@qq.com

20

主题

955

帖子

4

粉丝