نمایش نتایج 1 تا 3 از 3

نام تاپیک: ماشین حساب

  1. #1

    ماشین حساب

    سلام
    من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
    بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
    وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
    میخوام عمل جمع ضرب هم انجام بدم
    برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
    حتی میخوام جاروب kypad به صورت زیر با شد
    پیشنهاد دوستان در این رابطه:
    ساده ترین راه اش این باشه که عدد اول که زده شد، در متغیر a ذخیره بشه، عدددوم که زده شد، در متغیر b قرار بگیره و a*=10 بشه و a+=b بشه و رو lcd نمایش داده بشه.
    با زدن دکمه ی بعدی باز در b قرار بگیرهه و a*=10 بشه و a+=b بشه و رو lcd نمایش داده بشه.
    و ... به همین ترتیب برای ورودی های بعدی. درواقع اینطوری 10 گان و 100 گان و ... رو به ترتیب ایجاد می کنید و عددتون رو بزرگ می کنید.

    درسته با دو متغیر a,b میشه این کارو کرد
    ولی چطور تشخیص بدم عددی که زده شد عدد دوم.

    کد HTML:
    #include <mega32.h>
    #include <delay.h>
    
    unsigned char key; 
    
    void main(void)
    {
    while(1)
          { 
          do{
          
         DDRA = 0x0f;
           PORTA = 0xf0; 
           delay_us(100);
           key = PINA;
            
         
           DDRA = 0xf0;
           PORTA = 0x0f; 
           delay_us(100);
           key = key | PINA;
         
         }while(key==0xff);
        
         
            
           
              switch(key)
        {
            case 0b11101110:    
            key=1;
            break;
            case 0b11011110:    
            key=2;
            break;
            case 0b10111110:   
            key=3;
            break;
            case 0b01111110:    
            key=4;
            break;
            case 0b11101101:    
            key=5;
            break;
            case 0b11011101:    
            key=6;
            break;
            case 0b10111101:    
            key=7;
            break;
            case 0b01111101:   
            key=8;
            break;
            case 0b11101011:    
            key=9;
            break;
            case 0b11011011:    
            key=10;
            break;
            case 0b10111011:    
            key=11;
            break;
            case 0b01111011:    
            key=12;
            break;
            case 0b11100111:    
            key=13;
            break;
            case 0b11010111:    
            key=14;
            break;
            case 0b10110111:    
            key=15;
            break;
            case 0b01110111:    
            key=16;
            
        }
    }
    } 

  2. #2

    نقل قول: ماشین حساب

    با سلام شما در کد بالا تو مقدار دهی دودویی اشتباه کردین
    و در باره سوالتون اگر برنامه نویس خبره ای باشید که من نیستم از استادم یاد گرفتم می فهمید که با گرفتن داده نیازی نیست اصلا a و b تعریف کنید همون
    a کافیه خیلی سادس داده ای که میگره رو از طریق خروجی منتقل کنه به lcd و دوباره برای گرفتن داده ی بعدی آماده بشه
    برای اینم که پشت سر هم بیان a = a+(داده ورودی) اگه سخت شد ببخشید می تونید برای داده ورودی هم متغیر تعریف کنید فقط باید هر با خالی بشه
    تا دوباره پرش کنیم

  3. #3

    نقل قول: ماشین حساب

    کتابی هست به اسم پروژههای عملی با میکرو کنترلرهای AVR نویسندهاش هم مهندس ملکی و مهندس نساجپور هستن ناشر هم موسسه فرهنگی یاوریان. تو صفحه 39 گفته که چطور میشه کی پد رو با میکرو خوند. شاید کمکتون کنه

تاپیک های مشابه

  1. ماشین حساب (آشنایی با Syntax Diagram)
    نوشته شده توسط Kambiz در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 8
    آخرین پست: شنبه 01 آبان 1389, 23:10 عصر
  2. ماشین حساب ویندوز !
    نوشته شده توسط Gladiator در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: سه شنبه 27 اردیبهشت 1384, 11:27 صبح
  3. کامپوننت ماشین حساب
    نوشته شده توسط betanam در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: یک شنبه 15 تیر 1382, 07:18 صبح
  4. راهنمائی- من دنبال برنامه های ماشین حساب گرافیکی- کد هافمن -
    نوشته شده توسط علی سخاوت در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: چهارشنبه 11 تیر 1382, 20:29 عصر

قوانین ایجاد تاپیک در تالار

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