資源簡介
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
評論
共有 條評論