۱۰-اردیبهشت-۱۳۹۴, ۱۳:۲۱:۳۹
سلام دوستان من یک مدار می خوام که با یک موج مربعی که به ورودی تایمر وصل میشه روی السیدی این موج رو بشماره مثلا اگه یک پالس لومد روی السیدی بنویسه 1 و همین طور ادامه بده ممنون خیلی برام مهمه لطفا کمک کنید
#include <mega16.h>
#include <delay.h>
#include <stdlib.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x1B; //PORTA
#endasm
unsigned long int i=0,j=0;
char s[0],k[0];
interrupt [EXT_INT0] void exit_vagfe_int0 (void){
if(PIND.2==1){
i++;
lcd_gotoxy(0,0);
lcd_puts(" ");
lcd_gotoxy(0,0);
lcd_puts("V~5 : ");
itoa(i,s);
lcd_puts(s); //نمايش مقدار آرايه
}
}
/////////////////////////////////////////////////
interrupt [EXT_INT1] void exit_vagfe_int1 (void)
{
if(PIND.3==0)
{
j++;
lcd_gotoxy(0,1);
lcd_puts(" ");
lcd_gotoxy(0,1);
lcd_puts("V~0 : ");
itoa(j,k);
lcd_puts(k);
}
}
/////////////////////////////////////////////////
//تابع اصلي پروژه
void main(void)
{
DDRB.0=0;
lcd_init(16);
GICR=0xc0; // فعال کردن وقفه 0 و 1
MCUCR=0x0b; // تعيين نحوه فعال و غير فعال شدن (نحوه تحريک شدن) وقفه 0 , 1
GIFR=0xc0; //دادن قدرت تصميم گيري به وقفه 0 و 1
#asm("sei") //فعال کردن وقفه سراسري
}