资源简介
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\Jli
文件 285 2018-06-06 10:39 LCD12864_STM32\Jli
文件 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个文件信息
- 上一篇:蓝牙技术编程基础原版书籍
- 下一篇:传智播客linux-sys.zh.pdf
相关资源
- 基于LABVIEW的STM32F0多路数据采集系统源
- STM32红外遥控解码程序解码后的按键值
- STM32升降桌控制霍尔电机,PID调速
- STM32F103R LCD显示汉字.rar
- stm32f103zet6矩阵键盘(4x4)实现数字密
- stm32f072 can 通讯代码
- STM32Mini开发板HCSR-04C超声波程序
- STM32F103硬件i2c读取bmp085串口输出
- STM32F103ZET6_USB_自定义BULK
- STM32F103 CAN端口主从收发驱动例程
- STM32搭载RTOS实现任务+消息队列+串口通
- STM32F103ZET6+IAP+超级终端
- STM32硬件中断收发I2C数据
- 武术擂台机器人程序源码
- MPU6050+串口输出
- 语音存储与回放的c程序
- STM32摄像头OV7725 资料全含代码
- stm32f103c8t6原理图及PCB
- 正点原子——MINI开发板.zip
- 基于STM32的超声波测距程序
- stm32-手势识别
- 开关电源中通过STM32F103 将电压电流显
- 基于STM32F103(C51)芯片的液晶显示屏
- 基于stm32的HC05蓝牙模块的点灯操作
- stm32读取磁卡ID程序源码
- 基于STM32RS485总线的数据采集系统设计
- STM32外部脉冲计数程序
- BH1750FVI传感器stm32程序
- stm32f103c8t6工程模板
- 基于stm32的串口通信程序
评论
共有 条评论