ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





موضوع: ماشین حساب

  1. #1
    2007/11/21
    30
    0

    ماشین حساب

    شبیه سازی ماشین حساب با چهار عمل اصلی با کدویژن
    ممنون
  2. #2
    2009/04/21
    تهران
    150
    0

    پاسخ : ماشین حساب

    سلام
    من این برنامه رو نوشتم
    مشکلی هم برای ارسال برای شما رو ندارم
    اما فکر میکنم اگر شما کارو شروع کنید و کم کم جلو بریم نتیجه بهتری داشته باشه
    اگه با نظر من مخالف بودید به من pm بزنید تا برنامه رو براتون بفرستم

    بحث هم خودم شروع میکنم
    اولین قدم نوشتن یه برنامه هست که یه کیبورد چهار در چهار رو بخونه
    این پروژه که بگردید تو سایت حتما پیدا می کنید البته راههای جدید تر هم هست که به اون نمی پردازیم
    برای این کار از یه پورت میکرو استفاده می کنیم .چهار پایه خروجی و چهار پایه ورودی . چهار پایه خروجی رو به ستون ها وصل کرده و چهار پایه ورودی را به سطر ها اینطوری یه ماتریس چهار در چهار داریم که اگه یه میکرو سوییچ را فشار دهیم انوقت اون ارایه 1 میشود و بقیه را صفر در نظر میگیریم
    این برنامه رو با یه سری switch , case می تونید به راحتی تو کد ویژن بنویسید .
    من در خدمتم
    در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
    در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
    که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
    آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار
  3. #3
    2009/05/27
    1
    0

    پاسخ : ماشین حساب

    سلام، میخواستم ازتون بخوام که برنامه ماشین حساب با کد ویژن رو برای من تا شنبه ارسال کنید. آخه استاد ما این پروژه رو به من و دوستم داد، که متاسفانه من درگیر مراسم فوت مادربزرگم شودم و دوستم هم کاری انجام نداده. :sad:
    ازتون خواهش میکنم بهمون کمک کنید چون نصف نمره این درسمون به این برنامه مربوطه. PLEASE.
  4. #4
    2009/04/21
    تهران
    150
    0

    پاسخ : ماشین حساب

    نقل قول نوشته اصلی توسط SHIMA-SH
    سلام، میخواستم ازتون بخوام که برنامه ماشین حساب با کد ویژن رو برای من تا شنبه ارسال کنید. آخه استاد ما این پروژه رو به من و دوستم داد، که متاسفانه من درگیر مراسم فوت مادربزرگم شودم و دوستم هم کاری انجام نداده. :sad:
    سلام
    با عرض تسلیت به شما دوست عزیز .
    به جمع ما خوش امدید .
    من یه برنامه خیلی قدیمی دارم که حرفه ای نیست و الان هم فرصت تغییر اونو ندارم .زحمت جمع و جور کردنشو خودتون بکشید .
    هم برنامه هم شبیه سازی رو براتون گذاشتم .
    توضیح هر قسمت هم بخواین در خدمتم . امیدوارم به کارتون بیاد .

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت




    در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
    در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
    که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
    آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار
  5. #5
    2008/12/31
    12
    0

    پاسخ : ماشین حساب

    با عرض سلام و تسلیت خدمت دوست گرامی
    من یک برنامه با codevision و یک مدار ماشین حساب با proteus طراحی کردم که کاملا جواب داده(برای اعداد چند رقمی)
    این برنامه برای ATmega16 نوشته شده. فایل ها را میتونم براتون بفرستم اگر Email شما را داشته باشم.
  6. #6
    2008/12/31
    12
    0

    پاسخ : ماشین حساب

    کد برنامه رو اینجا میذارم و در صورت نیاز به فایلها و اطلاعات بیشتر اعلام کنید. فقط در صورتی که مقادیر بزرگ خواستید استفاده کنید نوع متغیر ها را تغییر دهید(همین کافیه)
    /************************************************** ***
    This program was produced by the
    CodeWizardAVR V1.24.6 Standard
    Automatic Program Generator
    © Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    e-mailffice@hpinfotech.com

    Proect :
    Version :
    Date : 16/04/2009
    Author : hp
    Company : hp
    Comments:


    Chip type : ATmega16
    Program type : Application
    Clock frequency : 1.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    ************************************************** ***/

    #include <mega16.h>
    #include <stdio.h>
    #include <math.h>
    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x1B ;PORTA
    #endasm
    #include <lcd.h>

    // Declare your global variables here
    long int a,b,s;
    unsigned char i;
    char c,buffer[16];

    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTA=0x00;
    DDRA=0x00;

    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTB=0x00;
    DDRB=0x00;

    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x00;

    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out
    // State7=P State6=P State5=P State4=P State3=1 State2=1 State1=1 State0=1
    PORTD=0xFF;
    DDRD=0x0F;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    // LCD module initialization
    lcd_init(16);
    label1:
    lcd_clear();

    a=0,b=0,i=0;
    c='',s=0;

    while (1)
    {
    //PORTD.0

    PORTD.0=0;
    if(PIND.4==0){
    lcd_putsf("7"
    if(i==0){
    a=7+a*10;

    }
    else if(i==1){
    b=7+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.4==0);
    }

    if(PIND.5==0){
    lcd_putsf("8"
    if(i==0){
    a=8+a*10;

    }
    else if(i==1){
    b=8+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.5==0);
    }

    if(PIND.6==0){
    lcd_putsf("9"
    if(i==0){
    a=9+a*10;

    }
    else if(i==1){
    b=9+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.6==0);
    }

    if(PIND.7==0){
    lcd_putsf("/"
    if(i==0){
    c='/';
    i++;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.7==0);
    }
    PORTD.0=1;



    //PORTD.1

    PORTD.1=0;
    if(PIND.4==0){
    lcd_putsf("4"
    if(i==0){
    a=4+a*10;

    }
    else if(i==1){
    b=4+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.4==0);
    }

    if(PIND.5==0){
    lcd_putsf("5"
    if(i==0){
    a=5+a*10;

    }
    else if(i==1){
    b=5+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.5==0);
    }

    if(PIND.6==0){
    lcd_putsf("6"
    if(i==0){
    a=6+a*10;

    }
    else if(i==1){
    b=6+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.6==0);
    }

    if(PIND.7==0){
    lcd_putsf("*"
    if(i==0){
    c='*';
    i++;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.7==0);
    }
    PORTD.1=1;




    //PORTD.2

    PORTD.2=0;
    if(PIND.4==0){
    lcd_putsf("1"
    if(i==0){
    a=1+a*10;

    }
    else if(i==1){
    b=1+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.4==0);
    }

    if(PIND.5==0){
    lcd_putsf("2"
    if(i==0){
    a=2+a*10;

    }
    else if(i==1){
    b=2+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.5==0);
    }

    if(PIND.6==0){
    lcd_putsf("3"
    if(i==0){
    a=3+a*10;

    }
    else if(i==1){
    b=3+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.6==0);
    }

    if(PIND.7==0){
    lcd_putsf("-"
    if(i==0){
    c='-';
    i++;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.7==0);
    }
    PORTD.2=1;





    //PORTD.3

    PORTD.3=0;
    if(PIND.4==0){
    lcd_clear();
    a=0;
    b=0;
    c='';
    i=0;

    while(PIND.4==0);
    }

    if(PIND.5==0){
    lcd_putsf("0"
    if(i==0){
    a=0+a*10;

    }
    else if(i==1){
    b=0+b*10;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.5==0);
    }

    if(PIND.6==0){
    lcd_putsf("="
    if(i==1||i==0)
    break;
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.6==0);
    }

    if(PIND.7==0){
    lcd_putsf("+"
    if(i==0){
    c='+';
    i++;

    }
    else{
    lcd_clear();
    lcd_putsf("Incorrect input!"
    }
    while(PIND.7==0);
    }
    PORTD.3=1;

    };
    switch(c){
    case '+':
    s=a+b;
    sprintf(buffer,"%d",s);
    lcd_puts(buffer);
    break;

    case '-':
    if(b>a){
    s=b-a;
    sprintf(buffer,"-%d",s);
    }
    else{
    s=a-b;
    sprintf(buffer,"%d",s);
    }
    lcd_puts(buffer);
    break;

    case '*':
    s=a*b;
    sprintf(buffer,"%d",s);
    lcd_puts(buffer);
    break;

    case '/':
    if(b==0){
    lcd_clear();
    lcd_putsf("Divide by zero!"
    }
    else
    s=a/b;
    sprintf(buffer,"%d",s);
    lcd_puts(buffer);
    break;
    default:
    sprintf(buffer,"%d",a);
    lcd_puts(buffer);
    break;
    }
    PORTD.3=0;
    while(PIND.4);
    PORTD.3=1;
    goto label1;
    }
  7. #7
    2007/12/11
    2
    0

    پاسخ : ماشین حساب

    salam
    ruzetun khosh
    vallah sharmandeh shodam begam man prozeh daram ke bayad ta akhare hafte tahvil bedam
    ama
    gir kardam
    na barnamam kamele na mitunam ic khodamo be madar vasl konam
    lotfan ye komaki bo****d mamnun misham :cry:
    :cry2:
    :redface:
  8. #8
    2007/12/11
    2
    0

    پاسخ : ماشین حساب

    نقل قول نوشته اصلی توسط ictfac
    با عرض سلام و تسلیت خدمت دوست گرامی
    من یک برنامه با codevision و یک مدار ماشین حساب با proteus طراحی کردم که کاملا جواب داده(برای اعداد چند رقمی)
    این برنامه برای ATmega16 نوشته شده. فایل ها را میتونم براتون بفرستم اگر Email شما را داشته باشم.
    saeid_monster@yahoo.com
    سلام امیدوارام روزگار بر وفق مراد باشه
    ماله من که اصلا نیست
    ازت خواهش میکنم این پروژهتو لطفا برام ایمیل بکنی یه دنیا ممنونت میشم
  9. #9
    2012/06/30
    3
    0
    ACM

    پاسخ : ماشین حساب

    با سلام و تشکر از ictfac
    برنامه تون خیلی عالیه ولی چرا جواب نهایی رو نشون نمیده؟
  10. #10
    2014/06/09
    2
    0

    پاسخ : ماشین حساب

    واقعا مفید بود ممنون
نمایش نتایج: از 1 به 10 از 10

موضوعات مشابه

  1. ماشین حساب
    توسط hosseinip در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/05/22, 00:24
  2. ماشین حساب
    توسط ram90 در انجمن مباحث علمی عمومی
    پاسخ: 0
    آخرين نوشته: 2013/04/21, 23:37
  3. ماشین حساب با avr
    توسط mn6500 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2010/03/31, 23:39
  4. ماشین حساب
    توسط مرتضي.ب.ب در انجمن 8051
    پاسخ: 8
    آخرين نوشته: 2009/04/21, 23:03

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •