|
大佬們好!我用ATTINY24A做一個(gè)按鍵控制IO輸出的功能。
原理圖如下:
目前的問(wèn)題是:
1、我的按鍵消抖好像沒作用(調(diào)不同的DELAY時(shí)間,有變化,但不解決問(wèn)題)
2、在我PA0按鍵按下不松手時(shí)(也就是按鍵輸入一直為0)。這個(gè)時(shí)候,PB1口輸出為0.4V,只有我松開按鍵以后,PB1口才會(huì)變?yōu)?V或3.3V。
原代碼如下:
#include <avr/io.h>
void delay (unsigned int ms);
int main(void)
{
unsigned char temp=0;
while(1)
{
temp = (PINA & (_BV(DDA0))); //KEY
if (!temp)
{
delay(200);
if(!temp)
{
DDRB = 0x0F;
PORTB = 0x00;
}
}
temp = (PINA & (_BV(DDA0))); //KEY
if (!temp)
{
delay(200);
if(!temp)
{
DDRB = 0x0F;
PORTB = 0x02;
}
}
}
return 0;
}
void delay (unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1000;j++);
}
}
請(qǐng)各位大佬幫忙看看是什么問(wèn)題,謝謝!
|
|