资源简介

STM32F407单片机按键和12864 LCD多级菜单,可用来学习和参考!

资源截图

代码片段和文件信息

#include “12864LCD.h“

uint8_t dis1[10];
//---------------------------------------
uint8_t keycon;   //按键消抖用
bool keybit; //按键消抖用
uint8_t Index;    //索引
bool select_bit;  //select_bit=0:显示开机画面  select_bit=1:显示菜单
bool menu_bit;    //menu_bit=1:刷新菜单页面
bool start_bit;   //只显示一次开机画面

unsigned char TAB[]={
//第1界面 (开机按任意键后进入此界面)
“系  1:背光灯    “ //对应索引Index=0
“统  2:存储器管理“ //对应索引Index=1
“菜  3:MP3 播放  “ //对应索引Index=2
“单  4:文件夹选项“ //对应索引Index=3
//第2界面 (Index=0时按确定进入此界面)
“  1:液晶屏背光灯“ //对应索引Index=4
“  2:亮    度 0-9“ //对应索引Index=5
“  3:延时时间 0-9“ //对应索引Index=6
“  4:其它参数设置“ //对应索引Index=7
//第3界面 (Index=1时按确定进入此界面)
“  1:外部存储器  “ //对应索引Index=8
“  2:已用大小    “ //对应索引Index=9
“  3:剩余大小    “ //对应索引Index=10
“  4:其他信息    “ //对应索引Index=11
//第4界面 (Index=2时按确定进入此界面)
“  1:多媒体播放器“ //对应索引Index=12
“  2:选择歌曲    “ //对应索引Index=13
“  3:声音大小    “ //对应索引Index=14
“  4:歌手信息    “ //对应索引Index=15
//第5界面 (Index=3时按确定进入此界面)
“  1:系统文件    “ //对应索引Index=16
“  2:使用说明书  “ //对应索引Index=17
“  3:单片机基础  “ //对应索引Index=18
“  4:翻页  返回  “ //对应索引Index=19
//第6界面 (Index=17时按确定进入此界面)
“  使用说明书    “ //对应索引Index=20
“本页省略1000字  “ //对应索引Index=21
“  。。。。。    “ //对应索引Index=22
“  。。。。。    “ //对应索引Index=23
};
unsigned char TAB1[]={
“系统初始化.     “
“系统初始化..    “
“系统初始化....  “
“按任意键开始!   “
};


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); //此处,只有直接操作寄存器才能
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-11 23:57  STM32F407按键和LCD多级菜单显示\
     目录           0  2019-06-11 23:41  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  2019-06-11 23:41  STM32F407按键和LCD多级菜单显示\DEVICE\
     文件       13186  2019-06-11 23:38  STM32F407按键和LCD多级菜单显示\DEVICE\12864LCD.c
     文件        2411  2019-06-11 23:34  STM32F407按键和LCD多级菜单显示\DEVICE\12864LCD.h
     文件        1036  2019-06-11 22:48  STM32F407按键和LCD多级菜单显示\DEVICE\key.c
     文件         578  2019-06-11 22:46  STM32F407按键和LCD多级菜单显示\DEVICE\key.h
     文件         339  2019-06-11 22:58  STM32F407按键和LCD多级菜单显示\EventRecorderStub.scvd
     目录           0  2019-06-11 23:41  STM32F407按键和LCD多级菜单显示\FWLIB\
     目录           0  2019-06-11 23:41  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  2019-06-11 23:35  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
............此处省略88个文件信息

评论

共有 条评论