اطلاعیه

Collapse
No announcement yet.

استفاده از کی پد

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

    #16
    پاسخ : استفاده از کی پد

    این بهترین و ساده ترین روشی است که می تونی پیدا کنی که با نیم خط می تونی اعداد چند رقمی را داخل متغیر بریزی(a=a*10:a=a+b)اگه توضیحات بیشتری بخوای ,میگم.
    آموزش PIC

    دیدگاه


      #17
      پاسخ : استفاده از کی پد

      نوشته اصلی توسط atm8
      حالا راحی وجود نداره یک آرایه رو تبدیل کنیم ؟
      مثلاً

      a[]={1,2,4,5}

      کلش رو دربیاریم بزاریم داخل یک متغیر ،آ‌مثلاً متغیر b که اگه تبدیل بشه، میشه b=1245
      اگر مشکلت همینه که کاری نداره. شما وقتی که کی پد زده شد وقتی میخاید تعیین کنید که کدوم دکمه زده شده یه کانتر بزارید که تعداد دفعاتی که کی پد فشرده شده رو محاسبه کنه اسم این متغیر رو من میزارم count بعدش هم این کار رو بکن

      عدد مورد نظر همون sumi هستش
      نگید چرا کد رو تایپ نکردم و عکس ازش گزاشتم آخه هر کاری که کردم کروشه رو تایپ نمی کرد

      دیدگاه


        #18
        پاسخ : استفاده از کی پد

        این کدی که من نوشتم

        #include <avr/io.h>
        #include <util/delay.h>
        #include "avrlibdefs.h"
        #include <avr/interrupt.h>
        #include "lcd.c"
        #include <stdio.h>
        #include <stdlib.h>
        #include <string.h>


        int key=0;

        int keypad(){

        _delay_ms(1);
        avr(PINB).P4=0;
        avr(PINB).P5=1;
        avr(PINB).P6=1;
        avr(PINB).P7=1;

        if (avr(PINB).P0==0){ _delay_ms(10); return 0;}
        if (avr(PINB).P1==0){ _delay_ms(10); return 1;}
        if (avr(PINB).P2==0){ _delay_ms(10); return 2;}
        if (avr(PINB).P3==0){ _delay_ms(10); return 3;}

        _delay_ms(1);
        avr(PINB).P4=1;
        avr(PINB).P5=0;
        avr(PINB).P6=1;
        avr(PINB).P7=1;

        if (avr(PINB).P0==0){ _delay_ms(10); return 4;}
        if (avr(PINB).P1==0){ _delay_ms(10); return 5;}
        if (avr(PINB).P2==0){ _delay_ms(10); return 6;}
        if (avr(PINB).P3==0){ _delay_ms(10); return 7;}
        _delay_ms(1);
        avr(PINB).P4=1;
        avr(PINB).P5=1;
        avr(PINB).P6=0;
        avr(PINB).P7=1;

        if (avr(PINB).P0==0){ _delay_ms(10); return 8;}
        if (avr(PINB).P1==0){ _delay_ms(10); return 9;}
        if (avr(PINB).P2==0){ _delay_ms(10); return 10;}
        if (avr(PINB).P3==0){ _delay_ms(10); return 11;}
        _delay_ms(1);
        avr(PINB).P4=1;
        avr(PINB).P5=1;
        avr(PINB).P6=1;
        avr(PINB).P7=0;

        if (avr(PINB).P0==0){ _delay_ms(10); return 12;}
        if (avr(PINB).P1==0){ _delay_ms(10); return 13;}
        if (avr(PINB).P2==0){ _delay_ms(10); return 14;}
        if (avr(PINB).P3==0){ _delay_ms(10); return 15;}

        return -1;
        }


        int main()
        {

        DDRB=0b11110000;
        PORTB=0b00001111;
        PORTD=0b10000000;
        DDRD=0b01111111;

        while(1){


        }

        }







        این کدی که شما گفتید رو چجور استفاده بکنم
        اگر میشه یک توضیحی هم راجع به کارکردش بدین
        ممنون

        دیدگاه


          #19
          پاسخ : استفاده از کی پد

          سلام

          روش کلی رو میگم تحلیل برنامه آقا مجید با خودتون :nerd:

          فکرش رو بکنید قراره عدد 12345 رو از کیبورد بگیریم :

          مثلا قراره عدد ما داخل متغیری به اسم M ذخیره بشه :

          شروع برنامه :
          عدد را از کیبورد گرفته و در متغییر M میریزیم (M=1)

          مقدار M را در عدد 10 ضرب میکنیم و عدد جدید گرفته شده را با M جمع میکنیم (M=12)

          مقدار M را دوباره در عدد 10 ضرب میکنیم و عدد جدید گرفته شده از کیبورد را با M جمع میکنیم (M=123)

          و همینطور ادامه میدیم تا عدد آخر....

          امیدوارم که توضیحاتم کافی بوده باشه :redface:

          موفق باشید :nerd:

          دیدگاه


            #20
            پاسخ : استفاده از کی پد

            آره حامد جان من همین را گفتم ولی مثل اینکه آقای atm8 نتونست عملی کنه
            آموزش PIC

            دیدگاه


              #21
              پاسخ : استفاده از کی پد

              از باصفا به atm8

              آقا اینکار رو انجام بده

              هردفعه که کلید رو زدی و متغیر رو گرفتی در همون موقع یک متغیر رو یکی بهش اضافه کن

              می خوای عدد 12 رو بگیری :

              کلید اول رو که زدی و مقدارش رو ریختی تو ظرفت یه دونه با قاشق به لیوانت بزن . . . دینگ...

              خب یعنی یکی به یه متغیر دیگه اضافه کردی و اون شد دو

              کلید دوم رو میزنی حالا چک می کنی که مقدار داخل متغیر افزایشی چنده

              اگه یک بود پس رقم اولت هستش و میریزیش تو A

              اگه دو بود میریزیش تو B

              و همینطور تا آخر . . .

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

              دیدگاه

              لطفا صبر کنید...
              X