基于stm32的LCD12864显示+16个矩阵键盘程序文件文档格式.docx
- 文档编号:13504352
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:20
- 大小:18.13KB
基于stm32的LCD12864显示+16个矩阵键盘程序文件文档格式.docx
《基于stm32的LCD12864显示+16个矩阵键盘程序文件文档格式.docx》由会员分享,可在线阅读,更多相关《基于stm32的LCD12864显示+16个矩阵键盘程序文件文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
unsignedchartable4[]={"
电子信息"
unsignedchartable5[]={"
姓名"
unsignedcharhy5;
unsignedchark=0;
voiddelay(unsignedintx)
{
while(x--);
}
//外设时钟使能
/*************************************************************************/
voidRCC_Configuration(void)//在208页这里是引脚时钟配置
{
/*使能外设时钟*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|
RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|
RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
/*******************************************************************************
全部用到1602的引脚将在在配置
*******************************************************************************/
voidGPIO_Configuration(void)//1602引脚配置
GPIO_InitTypeDefGPIO_InitStructure;
/*LD1&
LD2&
LD3&
LD4configration*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&
GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_Init(GPIOA,&
//矩阵键盘引脚输出配置
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&
GPIO_InitStructure);
//矩阵键盘引脚输入配置
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_11|GPIO_Pin_7|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
}
voidkey()//按键检测
{
unsignedcharii,jj;
unsignedintkey[10][10];
u16ling[]={GPIO_Pin_7,GPIO_Pin_6,GPIO_Pin_11,GPIO_Pin_13};
u16heng[]={GPIO_Pin_0,GPIO_Pin_1,GPIO_Pin_2,GPIO_Pin_9};
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_9);
for(ii=0;
ii<
4;
ii++)
GPIO_ResetBits(GPIOB,heng[ii]);
for(jj=0;
jj<
jj++)
{
delay(50000);
delay(50000);
//delay(50000);
if(GPIO_ReadInputDataBit(GPIOB,ling[jj])==0)
{
while(GPIO_ReadInputDataBit(GPIOB,ling[jj]==0));
key[ii][jj]=1;
}
else
key[ii][jj]=0;
//delay(50000);
}
GPIO_SetBits(GPIOB,heng[ii]);
if((key[0][0]==1)&
&
(GPIO_ReadInputDataBit(GPIOB,ling[0])==1)){hy5=1;
}//****
if((key[0][1]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[0])==1)){hy5=2;
}
if((key[0][2]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[0])==1)){hy5=3;
if((key[0][3]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[0])==1)){hy5=4;
if((key[1][0]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[1])==1)){hy5=5;
}//***
if((key[1][1]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[1])==1)){hy5=6;
if((key[1][2]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[1])==1)){hy5=7;
if((key[1][3]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[1])==1)){hy5=8;
if((key[2][0]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[2])==1)){hy5=9;
}//*****
if((key[2][1]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[2])==1)){hy5=10;
if((key[2][2]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[2])==1)){hy5=11;
if((key[2][3]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[2])==1)){hy5=12;
if((key[3][0]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[3])==1)){hy5=13;
if((key[3][1]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[3])==1)){hy5=14;
if((key[3][2]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[3])==1)){hy5=15;
if((key[3][3]==1)&
(GPIO_ReadInputDataBit(GPIOB,ling[3])==1)){hy5=16;
//hy2=9;
//returnhy2;
//
voidLCD_DataIo_In(void)//数据线输入1602输入引脚配置
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOE,&
voidLCD_DataIo_Out(void)//数据线输出1602引脚输出配置
voidhy()
GPIO_ResetBits(GPIOE,GPIO_Pin_7);
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_4);
GPIO_ResetBits(GPIOE,GPIO_Pin_3);
GPIO_ResetBits(GPIOE,GPIO_Pin_2);
GPIO_ResetBi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 stm32 LCD12864 显示 16 矩阵 键盘 程序 文件