با سلام
من با atmega8 یه برنامه نوشتم که داخلش نیاز به زمان ساعت دارم اول با ال سی دی نوشتم تا متغیر های برنامه رو مانیتور کنم که جواب گرفتم حالا تو برنامه ال سی دی رو حذفش کردم همون برنلمه دیگه جواب نمیده یعنی ساعتش کار نمیکنه
اینم برنامه : که باید اگه ساعت کار کنه بعد از 5 ثانیه PORTD.5=1 رو روشن کنه ....
:cry:
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
#define xtal 4000000
unsigned char t_s=0;
unsigned char t_m=0;
unsigned int t_ss=0;
unsigned int t_mm=0;
void main(void)
{
DDRB=0x00;
PORTB=0x00;
DDRC=0x00;
PORTC=0x00;
DDRD=0xf0;
PORTD=0x00;
ASSR=0x08;
TCCR2=0x05;
TCNT2=0x00;
OCR2=0x00;
TIMSK=0x40;
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/1024k
WDTCR=0x1E;
#asm("sei"
; // Global enable interrupts
while (1)
{
PORTD.6=1;
delay_ms(5);
if (t_ss==5){
PORTD.5=1;};
};
}
//****************************
interrupt [5] void timer2_ovf(void)
{
t_ss++;
if (t_s==59){
t_s=0;
t_m++;
t_mm++;
}
else {
t_s++;
};
if (t_m==59){
t_m=0;
};
}
من با atmega8 یه برنامه نوشتم که داخلش نیاز به زمان ساعت دارم اول با ال سی دی نوشتم تا متغیر های برنامه رو مانیتور کنم که جواب گرفتم حالا تو برنامه ال سی دی رو حذفش کردم همون برنلمه دیگه جواب نمیده یعنی ساعتش کار نمیکنه
اینم برنامه : که باید اگه ساعت کار کنه بعد از 5 ثانیه PORTD.5=1 رو روشن کنه ....

#include <mega8.h>
#include <delay.h>
#include <stdio.h>
#define xtal 4000000
unsigned char t_s=0;
unsigned char t_m=0;
unsigned int t_ss=0;
unsigned int t_mm=0;
void main(void)
{
DDRB=0x00;
PORTB=0x00;
DDRC=0x00;
PORTC=0x00;
DDRD=0xf0;
PORTD=0x00;
ASSR=0x08;
TCCR2=0x05;
TCNT2=0x00;
OCR2=0x00;
TIMSK=0x40;
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/1024k
WDTCR=0x1E;
#asm("sei"

while (1)
{
PORTD.6=1;
delay_ms(5);
if (t_ss==5){
PORTD.5=1;};
};
}
//****************************
interrupt [5] void timer2_ovf(void)
{
t_ss++;
if (t_s==59){
t_s=0;
t_m++;
t_mm++;
}
else {
t_s++;
};
if (t_m==59){
t_m=0;
};
}