標(biāo)題:
STC15單片機(jī)按鍵松開(kāi)會(huì)亂碼,想問(wèn)一下這種情況怎么解決
[打印本頁(yè)]
作者:
吳語(yǔ)吖
時(shí)間:
2019-3-3 20:40
標(biāo)題:
STC15單片機(jī)按鍵松開(kāi)會(huì)亂碼,想問(wèn)一下這種情況怎么解決
#include <STC15F2K60S2.H>
#include <intrins.h>
#include "GPIO.h"//里面是延時(shí)函數(shù)和初始化
uc bs[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/**********************
按鍵掃描
**********************/
ui keys_scanning ()
{
ui key_x,key_y,key;
P1=0xf0;
delay(1);
if(P1 != 0xf0)
{
delay(1);
P1=0xf0;
delay(1);
if(P1!=0xf0)
{
switch(P1)
{
case 0xe0:key_x=0;break;
case 0xd0:key_x=1;break;
case 0xb0:key_x=2;break;
case 0x70:key_x=3;break;
}
P1=0x0f;
delay(1);
switch(P1)
{
case 0x07:key_y=0;break;
case 0x0b:key_y=1;break;
case 0x0d:key_y=2;break;
case 0x0e:key_y=3;break;
}
}
else
{
key=0;
}
}
key = key_x*4+key_y;
return(key);
}
/**********************
數(shù)碼管顯示
**********************/
void display(unsigned int shuzi)
{
P0=0x00;
P3=bs[shuzi/1000%10];
P0=0x10;
delay(1);
P0=0x00;
P3=bs[shuzi/100%10];
P0=0x20;
delay(1);
P0=0x00;
P3=bs[shuzi/10%10];
P0=0x40;
delay(1);
P0=0x00;
P3=bs[shuzi%10];
P0=0x80;
delay(1);
}
/**********************
主函數(shù)
**********************/
void main()
{
IO_Itin();
while(1)
{
display(keys_scanning());
delay(5);
}
}
復(fù)制代碼
作者:
yzwzfyz
時(shí)間:
2019-3-4 08:01
如何你能不用delay來(lái)做,差不多就好了。
作者:
wulin
時(shí)間:
2019-3-4 09:03
按鍵掃描改這樣試試
/**********************
按鍵掃描
**********************/
ui keys_scanning ()
{
ui key_x,key_y,key;
P1=0xf0;
_nop_();
if(P1!=0xf0)
{
delay(10);
if(P1!=0xf0)
{
switch(P1)
{
case 0xe0:key_x=0;break;
case 0xd0:key_x=1;break;
case 0xb0:key_x=2;break;
case 0x70:key_x=3;break;
}
P1=0x0f;
_nop_();
switch(P1)
{
case 0x07:key_y=0;break;
case 0x0b:key_y=1;break;
case 0x0d:key_y=2;break;
case 0x0e:key_y=3;break;
}
key = key_x*4+key_y+1;//1~16
return(key);
}
}
else return 0x00;
}
復(fù)制代碼
作者:
吳語(yǔ)吖
時(shí)間:
2019-3-5 22:37
wulin 發(fā)表于 2019-3-4 09:03
按鍵掃描改這樣試試
多謝大佬,已解決
作者:
樂(lè)點(diǎn)點(diǎn)
時(shí)間:
2019-3-5 23:35
用數(shù)碼管的話要消影
作者:
xixi2006
時(shí)間:
2019-3-5 23:41
看看是怎樣解決的。
作者:
正規(guī)007
時(shí)間:
2019-3-6 10:59
wulin 發(fā)表于 2019-3-4 09:03
按鍵掃描改這樣試試
很好,就是要這樣做
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1