大师们,请帮帮忙,小弟初学入门菜鸟,请帮帮我
我用tiny24a做了一个延时继电器,但是状态始终不对。请帮我修改修改,万分感谢。
电路结构:PB2是按钮低有效,PA0是输出驱动继电器。
我想要做一个当PB2按下(一直按下)PA010分钟后一直输出0电平驱动继电器,当PB2释放(为高)PA0=1继电器复位,就这样是动作了,但是后来发现释放继电器后PA0必须把延时执行完后才会置1:,百思不解,又不会写。烦请帮修改。头都搞大了。。几天了觉都睡不好。。请大师见谅比较菜的问题。
#include"tiny24.h"
#include"delay.h"
# define uchar unsigned char
#define unsigned int
#define KEY PINB.2
#define RELAY PORTA.0
delay(int time10s)
{
int x, y, z ;
for (x=time10s ;x>0;x--)
{
for ( y = 125; y>0; y--)
for ( z=10000;z>0;z--);
}
}
void main(void)
{
DDRB=0X00;
PORTB=0XFF;
DDRA=0XFF;
PORTA=0XFF;
{
if(KEY==0)
{
if(KEY==0)
delay_ms(5);
{
delay(40); RELAY=0;
}
}
}
else
{
PORTA=0XFF;
}
while(1)
}
|