اطلاعیه

Collapse
No announcement yet.

اتصال KEYPAD 4*4 به میکرو با یه سیم

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

    اتصال KEYPAD 4*4 به میکرو با یه سیم

    سلام.
    اگه میشه راهنماییم کنید.شماتیک تو لینک زیر:


    http://www.eca.ir/forum2/index.php?topic=17109.0

    ممنون.
    اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

    پارسی را پاس داریم

    #2
    پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

    سلام دوست عزیز
    میشه بگید کجاشو نفهمیدید .؟ اگه سوالتونو کامل مطرح کنید بهتر راهنمایی میشین
    موفق باشید
    ذكات علم ياد دادنه ....

    دیدگاه


      #3
      پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

      سلام.
      اونجا توضیح دادم که با برنامه نویسی برای ADC (آنالوگ به دیجیتال) آشنایی ندارم.با استفاده از CodeVision می تونم برای LCD برنامشو بنویسم (زحمت می کشم!) ولی بقیشو نمیدونم!
      که چه برنامه ای بنویسیم که اگه دکمه ای رو کی پد زده شد رو LCD نشون داده بشه.

      خیلی خیلی ممنون.
      اگر چیزی را می دانید در اختیار کسی که نمی داند و می پرسد قرار بدهید.نترسید که اگر به او بگویید بیشتر از شما خواهد دانست.چراکه دیر یا زود از کس دیگری خواهد پرسید.پس نام نیکوی یاد دهنده دانش به او را از آن خود کنید.

      پارسی را پاس داریم

      دیدگاه


        #4
        پاسخ : اتصال KEYPAD 4*4 به میکرو با یه سیم

        راستش دوست عزیز من خودم تا حالا از این روش استفاده نکردم ولی اصولشو دوستمون تو اون تایپیک گفتند
        فکر کنم اینجوری بشه البته من اینو تست نکردم در ضمن رنج مقاومتهایی که انتخاب کردم با اونا فرق دارن اما اصولش همینه
        (البته فکر کنم همین باشه :redface

        #include <mega16.h>

        // Alphanumeric LCD Module functions
        #asm
        .equ __lcd_port=0x15 ;PORTC
        #endasm
        #include <lcd.h>

        #define ADC_VREF_TYPE 0x40

        // Read the AD conversion result
        unsigned int read_adc(unsigned char adc_input)
        {
        ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
        // Start the AD conversion
        ADCSRA|=0x40;
        // Wait for the AD conversion to complete
        while ((ADCSRA & 0x10)==0);
        ADCSRA|=0x10;
        return ADCW;
        }

        // Declare your global variables here
        float key;
        void main (void)
        {


        // ADC initialization
        // ADC Clock frequency: 125.000 kHz
        // ADC Voltage Reference: AVCC pin
        // ADC Auto Trigger Source: None
        ADMUX=ADC_VREF_TYPE & 0xff;
        ADCSRA=0x87;
        // LCD module initialization
        lcd_init(16);

        while (1)
        {
        // Place your code here

        key=read_adc(0);
        key=key*5/1024;

        if ((key>0.80) && (key<0.99))
        {
        lcd_clear();
        lcd_putsf("0"
        }

        else if (key>1.10 && key<1.24)
        {
        lcd_clear();
        lcd_putsf("1"
        }

        else if (key>1.85 && key<2.18)
        {
        lcd_clear();
        lcd_putsf("2"
        }

        else if (key>2.50 && key<2.78)
        {
        lcd_clear();
        lcd_putsf("3"

        }
        }
        }...... بقیشم مثل بالا میشه :redface:
        ذكات علم ياد دادنه ....

        دیدگاه

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