资源简介

STM32驱动12864点阵LCD,多级菜单实例,完整源码。采用STM32F103,包括12864点阵LCD驱动、KEY按键代码、多级MENU菜单设计,对LCD人机界面设计有很好的参考意义。

资源截图

代码片段和文件信息

#include “key4x4.h“
#include “systick.h“
#include “public.h“
//test key num
u8 key_data[4][4]={{1234}{5678}{9101112}{13141516}};

/*********************************************************
* Function Name  : KEY4x4_Init
* Description    : 键盘IO初始化
* Input          : None
* Output         : None
* Return         : None
*********************************************************/
void KEY4x4_Init(void)

//推挽输出
  GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIODENABLE);//使能PORTE时钟
GPIO_InitStructure.GPIO_Pin = Keyboard_Line ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置成推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(Keyboard_Control_Port &GPIO_InitStructure);//初始化GPIOE78910
GPIO_SetBits(Keyboard_Control_PortKeyboard_Line);

//下拉输入
GPIO_InitStructure.GPIO_Pin  = Keyboard_Row;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入,默认下拉   
GPIO_Init(Keyboard_Control_Port &GPIO_InitStructure);//初始化GPIOE

}
/*********************************************************
* Function Name  : Init_Keyboard_Interrupt
* Description    : 键盘中断初始化
* Input          : None
* Output         : None
* Return         : None
*********************************************************/
void Init_Keyboard_Interrupt(void)
{
 NVIC_InitTypeDef NVIC_InitStructure;
   EXTI_InitTypeDef EXTI_InitStructure;
 KEY4x4_Init();
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIOENABLE); //使能复用功能时钟(使用中断和引脚映射时要使能复用功能时钟)
 
 EXTI_ClearITPendingBit(Keyboard_EXTI_Row1);
 GPIO_EXTILineConfig(Keyboard_EXTI_PortSourceKeyboard_EXTI_PinSource1);
 EXTI_ClearITPendingBit(Keyboard_EXTI_Row2);
 GPIO_EXTILineConfig(Keyboard_EXTI_PortSourceKeyboard_EXTI_PinSource2);
 EXTI_ClearITPendingBit(Keyboard_EXTI_Row3);
 GPIO_EXTILineConfig(Keyboard_EXTI_PortSourceKeyboard_EXTI_PinSource3);
 EXTI_ClearITPendingBit(Keyboard_EXTI_Row4);
 GPIO_EXTILineConfig(Keyboard_EXTI_PortSourceKeyboard_EXTI_PinSource4);
 
 EXTI_InitStructure.EXTI_Line= Keyboard_EXTI_Line;
 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
 EXTI_Init(&EXTI_InitStructure);  

   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
 
 NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;      //外部中断线15-10中断
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 
 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03; //子优先级3
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
 NVIC_Init(&NVIC_InitStructure); 
}

/*********************************************************
* Function Name  : EXTI15_10_IRQHandler
* Description    : 
* Input          : None
* Output         : None
* Return         : None
*********************************************************/
void EXTI15_10_IRQHandler(void)
//GPIO端口选中方式

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5954  2018-06-06 10:39  LCD12864_STM32\app\key\key4x4.c

     文件       1775  2018-06-06 10:39  LCD12864_STM32\app\key\key4x4.h

     文件      14947  2018-06-06 10:39  LCD12864_STM32\app\lcd12864\12864.c

     文件       1384  2018-06-06 10:39  LCD12864_STM32\app\lcd12864\12864.h

     文件       4461  2018-06-06 10:39  LCD12864_STM32\app\Menu1\menu1.c

     文件        162  2018-06-06 10:39  LCD12864_STM32\app\Menu1\menu1.h

     文件        297  2018-06-06 10:39  LCD12864_STM32\app\public\public.c

     文件        601  2018-06-06 10:39  LCD12864_STM32\app\public\public.h

     文件       1887  2018-06-06 10:39  LCD12864_STM32\app\SysTick\systick.c

     文件        143  2018-06-06 10:39  LCD12864_STM32\app\SysTick\systick.h

     文件      17273  2018-06-06 10:39  LCD12864_STM32\CMSIS\core_cm3.c

     文件      85714  2018-06-06 10:39  LCD12864_STM32\CMSIS\core_cm3.h

     文件     633941  2018-06-06 10:39  LCD12864_STM32\CMSIS\stm32f10x.h

     文件      36557  2018-06-06 10:39  LCD12864_STM32\CMSIS\system_stm32f10x.c

     文件       2085  2018-06-06 10:39  LCD12864_STM32\CMSIS\system_stm32f10x.h

     文件        497  2018-06-06 10:39  LCD12864_STM32\Jlink Regs CM3.txt

     文件        285  2018-06-06 10:39  LCD12864_STM32\JlinkSettings.ini

     文件        399  2018-06-06 10:39  LCD12864_STM32\keilkilll.bat

     文件      47209  2018-06-06 10:39  LCD12864_STM32\List\project.map

     文件      49883  2018-06-06 10:39  LCD12864_STM32\List\startup_stm32f10x_hd.lst

     文件     266090  2018-06-06 10:39  LCD12864_STM32\Obj\12864.crf

     文件        849  2018-06-06 10:39  LCD12864_STM32\Obj\12864.d

     文件     292040  2018-06-06 10:39  LCD12864_STM32\Obj\12864.o

     文件       3940  2018-06-06 10:39  LCD12864_STM32\Obj\core_cm3.crf

     文件        100  2018-06-06 10:39  LCD12864_STM32\Obj\core_cm3.d

     文件      11076  2018-06-06 10:39  LCD12864_STM32\Obj\core_cm3.o

     文件     264875  2018-06-06 10:39  LCD12864_STM32\Obj\key4x4.crf

     文件        898  2018-06-06 10:39  LCD12864_STM32\Obj\key4x4.d

     文件     286580  2018-06-06 10:39  LCD12864_STM32\Obj\key4x4.o

     文件     263510  2018-06-06 10:39  LCD12864_STM32\Obj\main.crf

............此处省略123个文件信息

评论

共有 条评论