سلام
من یک ماژل pir گرفتم وبه یک پورت میکرو دادم به portd.0 میکرو که هر وقت یک بشه portb.0 یک بشه ونهایتا به رله وصل میشه ولی مشکلم اینه که بعضی وقتها پورت خود به خود یک می شه برای جلوگیری از نویز خازن هم گذاشتم اما فایده نداشت بعضی وقت ها هم سنسور اصلا سنس نمی کنه چند تا ماژل هم تعویض کردم فایده نداشت این برنامه هست ممنون میشم راهنمایی کنید
#include<mega8.h>
#include<delay.h>
void main(){
long int i=0;
DDRB = 0XFF;
DDRC = 0XFF;
DDRD = 0X00;
delay_ms(4000);
PORTD.0=0;
while(1) //main loop
{
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
delay_ms(100);
if (PIND.0==1){
//KEY+ pressed
PORTB.1 =1;
for (i = 0; i <= 3000; i ++){
PORTC.0=1;
delay_ms(500);
PORTC.0=0;
delay_ms(200);
}
PORTB.1 =0;
}
}
while(PIND.0); //wait until any key pressed
من یک ماژل pir گرفتم وبه یک پورت میکرو دادم به portd.0 میکرو که هر وقت یک بشه portb.0 یک بشه ونهایتا به رله وصل میشه ولی مشکلم اینه که بعضی وقتها پورت خود به خود یک می شه برای جلوگیری از نویز خازن هم گذاشتم اما فایده نداشت بعضی وقت ها هم سنسور اصلا سنس نمی کنه چند تا ماژل هم تعویض کردم فایده نداشت این برنامه هست ممنون میشم راهنمایی کنید
#include<mega8.h>
#include<delay.h>
void main(){
long int i=0;
DDRB = 0XFF;
DDRC = 0XFF;
DDRD = 0X00;
delay_ms(4000);
PORTD.0=0;
while(1) //main loop
{
PORTC.0=1;
delay_ms(100);
PORTC.0=0;
delay_ms(100);
if (PIND.0==1){
//KEY+ pressed
PORTB.1 =1;
for (i = 0; i <= 3000; i ++){
PORTC.0=1;
delay_ms(500);
PORTC.0=0;
delay_ms(200);
}
PORTB.1 =0;
}
}
while(PIND.0); //wait until any key pressed
دیدگاه