اطلاعیه

Collapse
No announcement yet.

فیزیک اسان است

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    فیزیک اسان است

    این پروژه یه ماشین حسابه کهچند تا فرمول فبزبک را توخودش داره. :cry: :smile: :surprised: :biggrin: :sad: :mrgreen: :redface: :rolleyes: :icon_razz: :eek: :twisted: :evil: :agree: :job: :bye :whistling
    کد:
    #include <mega32.h>
    #include <stdio.h>
    #include <alcd.h>
    #include <delay.h>
    #include <sdcard.h>
    int a,s,hi,ij,jk,kl;
    int m,n,o,p,q,r,z,t,u,v,w,x,y,b,g,al,sepehr,ab,bc,cd,de,ef,fg,gh;
    char ali[32],lm;
    int number(char e);
    void formu(void);
    void formk(void);
    void formq(void);
    void formq1(void);
    void formq2(void);
    void formr(void);
    void formi(void);
    void formv(void);
    void main(void){
    char c=1,d=0,light=0; 
    DDRA=0xFF;
    PORTA=0x00; 
    DDRB=0x00;
    PORTB=0xFF; 
    DDRC=0xFF;
    PORTC=0x00;
    DDRD=0x00;
    PORTD=0xFF;
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    MCUCR=0x00;
    MCUCSR=0x00;
    TIMSK=0x00;
    UCSRB=0x00;
    ACSR=0x80;
    SFIOR=0x00;
    ADCSRA=0x00;
    SPCR=0x00;
    TWCR=0x00;
    lcd_init(16);
    while (1){
    first:
    lcd_clear();
    light=0;
    lcd_puts("welcome");
    delay_ms(3000);
    lcd_clear();
    lcd_puts("back light?");
    lcd_gotoxy(0,1);
    lcd_puts("1_on  2_off");
    while(light==0){
    if(PINB.1==0){
    PORTC.3=1;
    light=1;
    }
    else if(PINB.2==0){
    PORTC.3=0;
    light=1;
    }
    }
    lcd_clear();
    lcd_puts("first chose");
    delay_ms(3000);
    while(1){
    while(d==0){
    if(PINB.0==0){
    goto first;
    }
    if(PIND.6==0){
    c=c+1;
    }
    else if(PIND.5==0){
    c=c-1;
    }
    switch(c){
    case 1:lcd_clear();lcd_puts("U=m.g.h");
    delay_ms(200);
    break;
    case 2:lcd_clear();lcd_puts("K=1/2.m.v^2");
    delay_ms(200);
    break;
    case 3:lcd_clear();lcd_puts("Q=m.c.dT");
    delay_ms(200);
    break;
    case 4:lcd_clear();lcd_puts("Q=K'.A.t.dT/L");
    delay_ms(200);
    break;
    case 5:lcd_clear();lcd_puts("Q=K.A.t.dT");
    delay_ms(200);
    break;
    case 6:lcd_clear();lcd_puts("R=V/I");
    delay_ms(200);
    break;
    case 7:lcd_clear();lcd_puts("I=V/R");
    delay_ms(200);
    break;
    case 8:lcd_clear();lcd_puts("V=R*I");
    delay_ms(200);
    break;
    default:if(c>8){c=8;}else if(c<1){c=1;}
    break;
    }
    if(PIND.7==0){
    d=d+1;
    }
    }
    if(c==1){
    lcd_clear();
    formu();
    d=0;
    }
    else if(c==2){
    lcd_clear();
    formk();
    d=0;
    }
    else if(c==3){
    lcd_clear();
    formq();
    d=0;
    }
    else if(c==4){
    lcd_clear();
    formq1();
    d=0;
    }
    else if(c==5){
    lcd_clear();
    formq2();
    d=0;
    }
    else if(c==6){
    lcd_clear();
    formr();
    d=0;
    }
    else if(c==7){
    lcd_clear();
    formi();
    d=0;
    }
    else if(c==8){
    lcd_clear();
    formv();
    d=0;
    }
    } 
    }
    }
    int number(char e){
    if (e==1){s=0;}
    while (PIND.7==1){
    if (PIND.6==0){
    b=0;
    s=0;
    a=0;}
    if (PINB.0==0){
    delay_ms(200); 
    a=0;}
    else if(PINB.1==0){
    delay_ms(200);  
    a=1;}
    else if(PINB.2==0){
    delay_ms(200);  
    a=2;}
    else if(PINB.3==0){
    delay_ms(200);  
    a=3;}
    else if(PINB.4==0){
    delay_ms(200);  
    a=4;}
    else if(PIND.0==0){
    delay_ms(200);  
    a=5;}
    else if(PIND.1==0){
    delay_ms(200);  
    a=6;}
    else if(PIND.2==0){
    delay_ms(200);  
    a=7;}
    else if(PIND.3==0){
    delay_ms(200);  
    a=8;}
    else if(PIND.4==0){ 
    delay_ms(200); 
    a=9;}
    
    else{
    lm=10;}
    
    if (lm<10){
    b=(s*10) + a;
    s=b;
    
    }
    sprintf(ali,"%32d",b);
    lcd_clear();
    lcd_puts(ali);
    }
    delay_ms(500);
    return b;
    }
    void formu(void){
    int j,k,f,l;
    char salam=1;
    lcd_clear();
    lcd_puts("m=");
    delay_ms(1000);
    f=number (salam);
    sprintf(ali,"%32d",f);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("g=");
    delay_ms(1000);
    j=number (salam);
    sprintf(ali,"%32d",j);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("h=");
    delay_ms(1000);
    k=number (salam);
    sprintf(ali,"%32d",k);
    lcd_clear();
    lcd_puts(ali);
    l=f*j*k;
    lcd_clear();
    lcd_puts("U=");
    delay_ms(1000);
    sprintf(ali,"%32d",l);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("j");
    delay_ms(5000);
    lcd_clear();
    }
    void formk(void){
    char salam=1;
    lcd_clear();
    lcd_puts("m=");
    delay_ms(1000);
    m=number (salam);
    sprintf(ali,"%32d",m);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("v=");
    delay_ms(1000);
    n=number (salam);
    sprintf(ali,"%32d",n);
    lcd_clear();
    lcd_puts(ali);
    o=(m*n*n)/2;
    lcd_clear();
    lcd_puts("k=");
    delay_ms(1000);
    sprintf(ali,"%32d",o);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("j");
    delay_ms(5000);
    lcd_clear();
    }
    void formq(void){
    char salam=1;
    lcd_clear();
    lcd_puts("m=");
    delay_ms(1000);
    p=number (salam);
    sprintf(ali,"%32d",p);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("c=");
    delay_ms(1000);
    q=number (salam);
    sprintf(ali,"%32d",q);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("dT=");
    delay_ms(1000);
    r=number (salam);
    sprintf(ali,"%32d",r);
    lcd_clear();
    lcd_puts(ali);
    z=p*q*r;
    lcd_clear();
    lcd_puts("Q=");
    delay_ms(1000);
    sprintf(ali,"%32d",z);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("j");
    delay_ms(5000);
    lcd_clear();
    }
    void formq1(void){
    char salam=1;
    lcd_clear();
    lcd_puts("K'=");
    delay_ms(1000);
    t=number (salam);
    sprintf(ali,"%32d",t);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("A=");
    delay_ms(1000);
    u=number (salam);
    sprintf(ali,"%32d",u);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("t=");
    delay_ms(1000);
    v=number (salam);
    sprintf(ali,"%32d",v);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("dT=");
    delay_ms(1000);
    w=number (salam);
    sprintf(ali,"%32d",w);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("L=");
    delay_ms(1000);
    x=number (salam);
    sprintf(ali,"%32d",x);
    lcd_clear();
    lcd_puts(ali);
    y=(t*u*v*w)/x;
    lcd_clear();
    lcd_puts("Q=");
    delay_ms(1000);
    sprintf(ali,"%32d",y);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("j");
    delay_ms(5000);
    lcd_clear();
    }
    void formq2(void){
    char salam=1;
    lcd_clear();
    lcd_puts("K=");
    delay_ms(1000);
    g=number (salam);
    sprintf(ali,"%32d",g);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("A=");
    delay_ms(1000);
    al=number (salam);
    sprintf(ali,"%32d",al);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("t=");
    delay_ms(1000);
    sepehr=number (salam);
    sprintf(ali,"%32d",sepehr);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("dT=");
    delay_ms(1000);
    ab=number (salam);
    sprintf(ali,"%32d",ab);
    lcd_clear();
    lcd_puts(ali);
    bc=al*sepehr*ab*g;
    lcd_clear();
    lcd_puts("Q=");
    delay_ms(1000);
    sprintf(ali,"%32d",bc);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("j");
    delay_ms(5000);
    lcd_clear();
    }
    void formr(void){
    char salam=1;
    lcd_clear();
    lcd_puts("V=");
    delay_ms(1000);
    cd=number (salam);
    sprintf(ali,"%32d",cd);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("I=");
    delay_ms(1000);
    de=number (salam);
    sprintf(ali,"%32d",de);
    lcd_clear();
    lcd_puts(ali);
    ef=cd/de;
    lcd_clear();
    lcd_puts("R=");
    delay_ms(1000);
    sprintf(ali,"%32d",ef);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("ohm");
    delay_ms(5000);
    lcd_clear();
    }
    void formi(void){
    char salam=1;
    lcd_clear();
    lcd_puts("V=");
    delay_ms(1000);
    fg=number (salam);
    sprintf(ali,"%32d",fg);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("R=");
    delay_ms(1000);
    gh=number (salam);
    sprintf(ali,"%32d",gh);
    lcd_clear();
    lcd_puts(ali);
    hi=fg/gh;
    lcd_clear();
    lcd_puts("I=");
    delay_ms(1000);
    sprintf(ali,"%32d",hi);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("A");
    delay_ms(5000);
    lcd_clear();
    }
    void formv(void){
    char salam=1;
    lcd_clear();
    lcd_puts("I=");
    delay_ms(1000);
    ij=number (salam);
    sprintf(ali,"%32d",ij);
    lcd_clear();
    lcd_puts(ali);
    lcd_clear();
    lcd_puts("R=");
    delay_ms(1000);
    jk=number (salam);
    sprintf(ali,"%32d",jk);
    lcd_clear();
    lcd_puts(ali);
    kl=ij*jk;
    lcd_clear();
    lcd_puts("V=");
    delay_ms(1000);
    sprintf(ali,"%32d",kl);
    lcd_clear();
    lcd_puts(ali);
    lcd_gotoxy(0,0);
    lcd_puts("V");
    delay_ms(5000);
    lcd_clear();
    }
لطفا صبر کنید...
X