سلام دوستان
من یه برنامه خیلی ساده نوشتم که 5 ثانیه یکی از خروجی های Atmega8 رو فعال کنه.
شبیه سازیش توی پروتئوس داره جواب میده ولی هرچی میکرو پروگرام میکنم کار نمیکنه.
من پروژه های پیچیده بدون مشکل درست کردم نمیدونم چرا به این چیزای ساده که میرسه اینطوری میشه
ممنون میشم کمک کنید
اینم متن برنامه که ببینید چقدر سادس
#include <mega8.h>
#include <delay.h>
volatile char sanie=0, a=0, cont=0;
void delay(unsigned char amnt){
while(sanie<=amnt){
for(a==0 ; a<=5 ; ++a){
delay_ms(200);
}
a=0;
sanie++;
}
}
void main(){
DDRD=0xff;
PORTD=0x00;
cont=0;
PORTD.1=1;
while(1){
delay(1);
if(cont==0){
delay(1);
PORTD.0=1;
PORTD.2=1;
delay(5);
PORTD.0=0;
PORTD.2=0;
cont=1;
}
}
}
من یه برنامه خیلی ساده نوشتم که 5 ثانیه یکی از خروجی های Atmega8 رو فعال کنه.
شبیه سازیش توی پروتئوس داره جواب میده ولی هرچی میکرو پروگرام میکنم کار نمیکنه.
من پروژه های پیچیده بدون مشکل درست کردم نمیدونم چرا به این چیزای ساده که میرسه اینطوری میشه
ممنون میشم کمک کنید
اینم متن برنامه که ببینید چقدر سادس
#include <mega8.h>
#include <delay.h>
volatile char sanie=0, a=0, cont=0;
void delay(unsigned char amnt){
while(sanie<=amnt){
for(a==0 ; a<=5 ; ++a){
delay_ms(200);
}
a=0;
sanie++;
}
}
void main(){
DDRD=0xff;
PORTD=0x00;
cont=0;
PORTD.1=1;
while(1){
delay(1);
if(cont==0){
delay(1);
PORTD.0=1;
PORTD.2=1;
delay(5);
PORTD.0=0;
PORTD.2=0;
cont=1;
}
}
}