欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32矩陣鍵盤數碼顯示仿真實現
[打印本頁]
作者:
xmxkx
時間:
2022-6-4 16:31
標題:
STM32矩陣鍵盤數碼顯示仿真實現
功能描述:按下對應按鍵時,則數碼顯示對應按鍵值。
復制代碼
key.c
#include "key.h"
static u8 key_up=1;//2»Ö§3Öᬰ′
int key=0;
void delayms(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<123;j++);
}
}
void KEY_Init()
{
GPIO_InitTypeDef GPIO_InitStructer;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructer.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructer.GPIO_Mode=GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStructer);
GPIO_InitStructer.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructer.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructer.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructer);
}
u8 keyscan(void)
{
u16 temp,num;
GPIO_Write(GPIOB,0xf0);
while(1)
{
if(P5==1&& P6==1 && P7==1&& P8==1)
{
key=240;
key_up=1;
}
else if(key_up==1&&(P5==0||P6==0||P7==0||P8==0))
{
// GPIO_ResetBits(GPIOB, GPIO_Pin_0);
// GPIO_SetBits(GPIOB, GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3);
GPIO_Write(GPIOB,0xfe);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
if(temp!=0xf0)
{
delayms(2);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
switch(temp)
{
case 0xe0:num=0x00;break;
case 0xd0:num=0x01;break;
case 0xb0:num=0x02;break;
case 0x70:num=0x03;break;
default:break;
}
}
// GPIO_ResetBits(GPIOB, GPIO_Pin_1);
// GPIO_SetBits(GPIOB, GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3);
GPIO_Write(GPIOB,0xfd);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
if(temp!=0xf0)
{
delayms(2);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
switch(temp)
{
case 0xe0:num=0x04;break;
case 0xd0:num=0x05;break;
case 0xb0:num=0x06;break;
case 0x70:num=0x07;break;
default:break;
}
}
// GPIO_ResetBits(GPIOB, GPIO_Pin_2);
// GPIO_SetBits(GPIOB, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3);
GPIO_Write(GPIOB,0xfb);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
if(temp!=0xf0)
{
delayms(2);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
switch(temp)
{
case 0xe0:num=0x08;break;
case 0xd0:num=0x09;break;
case 0xb0:num=0x0a;break;
case 0x70:num=0x0b;break;
default:break;
}
}
// GPIO_ResetBits(GPIOB, GPIO_Pin_3);
// GPIO_SetBits(GPIOB, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2);
GPIO_Write(GPIOB,0xf7);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
if(temp!=0xf0)
{
delayms(2);
temp=GPIO_ReadInputData(GPIOB);
temp&=0xf0;
switch(temp)
{
case 0xe0:num=0x0c;break;
case 0xd0:num=0x0d;break;
case 0xb0:num=0x0e;break;
case 0x70:num=0x0f;break;
default:break;
}
}
return (num);
}
}
}
復制代碼
STM32靜態秒表.png
(125.35 KB, 下載次數: 78)
下載附件
2022-6-4 16:28 上傳
STM32矩陣數碼顯示
作者:
xmxkx
時間:
2022-6-5 05:44
proteus仿真包忘了發了,按鍵無反應,求幫助:
dsn目錄是仿真.7z
(260.64 KB, 下載次數: 109)
2022-7-1 02:14 上傳
點擊文件名下載附件
作者:
dsdfxy0
時間:
2022-6-30 23:45
包括keil程序
作者:
927463280
時間:
2022-12-5 19:08
怎么按了沒反應
作者:
wldellstar
時間:
2022-12-6 11:11
沒有注釋的程序,真的是太難看懂了。
作者:
haide1998
時間:
2022-12-7 09:51
好就好在仿真包,果斷試一把
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1