• 大小: 12.34MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-04
  • 语言: 其他
  • 标签: 完整代码  

资源简介

详细的STM32F4的LCD12864完整驱动,感兴趣的朋友可下载做研发参考。

资源截图

代码片段和文件信息

#include “12864LCD.h“


unsigned char dis1[10];


void LCD12864_PORT_Init(void)
{
   GPIO_InitTypeDef  GPIO_PortInit;

 /************配置控制IO端口**********/
   RCC_AHB1PeriphClockCmd(LCD_CONTROL_PORT_CLOCK ENABLE);//使能GPIOD时钟
   GPIO_PortInit.GPIO_Pin = LCD_CONTROL_PIN;//控制IO端口

   GPIO_PortInit.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
   GPIO_PortInit.GPIO_OType = GPIO_OType_PP;//推挽输出
   GPIO_PortInit.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
   GPIO_PortInit.GPIO_PuPd = GPIO_PuPd_UP;//上拉

 GPIO_Init(LCD_CONTROL_PORT &GPIO_PortInit);//初始化控制端口GPIO

 /************配置数据端口*************/
 RCC_AHB1PeriphClockCmd(LCD_DATA_PORT_CLOCK ENABLE);//使能GPIOE时钟
 GPIO_PortInit.GPIO_Pin = LCD_DATA_PIN;//
   
   GPIO_PortInit.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
   GPIO_PortInit.GPIO_OType = GPIO_OType_PP;//推挽输出
   GPIO_PortInit.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
   GPIO_PortInit.GPIO_PuPd = GPIO_PuPd_UP;//上拉

 GPIO_Init(LCD_DATA_PORT &GPIO_PortInit);//始化数据端口GPIO
}

//稍作延时
void _NOP_(void)
{
 u8 i = 200;
   while(i > 0){
    i--;
 }
}


/*******************************************************************/
/*                                                                 */
/*写指令数据到LCD                                                   */
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。                               */
/*                                                                 */
/*******************************************************************/
void LCD12864_WriteCmd(u8 cmd)    //写命令函数
{
   //WaitBusy(); 
     Clear_LCD_RS;  //RS = 0.
     Clear_LCD_RW;  //RW = 0. 
     Set_LCD_EN;    //EN = 1.
   _NOP_();
   _NOP_();
     LCD_DATA_PORT->ODR=((LCD_DATA_PORT->ODR & 0xff00)|cmd); //此处,只有直接操作寄存器才能
                                                      //达到,只改变输出数据寄存器ODR的低8位,其它位
                                                      //不变的目的。因为,只有低8位是数据引脚,
                                                      //其它位可能是控制引脚,不能改变。
    _NOP_();
  _NOP_();
    Clear_LCD_EN;   //EN = 0;
    _NOP_();
  _NOP_();
}

/*******************************************************************/
/*                                                                 */
/*写显示数据到LCD                                                   */
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。                                */
/*                                                                 */
/*******************************************************************/
void LCD12864_WriteData(u8 data)  //写数据函数
{
  //WaitBusy(); 
    Set_LCD_RS;    //RS = 1. 
    Clear_LCD_RW;  //RW = 0. 
    Set_LCD_EN;    //EN = 1.
  _NOP_();
  _NOP_();
    LCD_DATA_PORT->ODR=((LCD_DATA_PORT->ODR & 0xff00)|data);  //同上。
    _NOP_();
  _NOP_();
    Clear_LCD_EN;  //EN = 0;
    _NOP_(); 
  _NOP_();
}


/*******************************************************************/
/*                                                                 */
/*   LCD128

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-10-02 02:01  STM32F407_LCD\
     目录           0  2016-09-30 00:23  STM32F407_LCD\CORE\
     文件      114403  2015-09-30 01:38  STM32F407_LCD\CORE\core_cm4.h
     文件       18323  2015-09-30 01:38  STM32F407_LCD\CORE\core_cmFunc.h
     文件       27908  2015-09-30 01:38  STM32F407_LCD\CORE\core_cmInstr.h
     文件       22947  2015-09-30 01:38  STM32F407_LCD\CORE\core_cmSimd.h
     文件       29604  2016-04-01 19:25  STM32F407_LCD\CORE\startup_stm32f40_41xxx.s
     目录           0  2016-10-02 02:01  STM32F407_LCD\DEVICE\
     文件        5581  2016-10-02 01:57  STM32F407_LCD\DEVICE\12864LCD.c
     文件        2265  2016-10-02 02:01  STM32F407_LCD\DEVICE\12864LCD.h
     目录           0  2016-09-30 00:23  STM32F407_LCD\FWLIB\
     目录           0  2016-09-30 00:23  STM32F407_LCD\FWLIB\inc\
     文件         838  2016-09-28 23:21  STM32F407_LCD\FWLIB\inc\delay.h
     文件        6923  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\misc.h
     文件       32958  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_adc.h
     文件       27317  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_can.h
     文件       12443  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_cec.h
     文件        2415  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_crc.h
     文件       14480  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_cryp.h
     文件       14945  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dac.h
     文件        4295  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dbgmcu.h
     文件       12976  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dcmi.h
     文件       42358  2016-04-26 17:53  STM32F407_LCD\FWLIB\inc\stm32f4xx_dfsdm.h
     文件       28881  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dma.h
     文件       19700  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dma2d.h
     文件       41447  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_dsi.h
     文件        8114  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_exti.h
     文件       24838  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_flash.h
     文件        3274  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_flash_ramfunc.h
     文件       44923  2016-04-01 19:26  STM32F407_LCD\FWLIB\inc\stm32f4xx_fmc.h
     文件       19185  2016-04-26 18:52  STM32F407_LCD\FWLIB\inc\stm32f4xx_fmpi2c.h
............此处省略238个文件信息

评论

共有 条评论