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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2012/05/09
    21
    1

    خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    سلام من یک پروژه خواندن adc کار میکنم که سورس اون رو هم گذاشتم ، که روی یک پورت وهمچنین روی lcd میخواهم نمایش بده . روی پورت مشکلی نداره ولی روی lcd بصورت اسکی نمایش داده میشه ، اگه ممکنه راهنمایی کنید عدد رو چطوری روی lcd نمایش بدم .
    سورس برنامه با Mikro C هست.

    long tmp;
    // Lcd pinout settings
    sbit LCD_RS at RD4_bit;
    sbit LCD_EN at RD5_bit;
    sbit LCD_D7 at RD3_bit;
    sbit LCD_D6 at RD2_bit;
    sbit LCD_D5 at RD1_bit;
    sbit LCD_D4 at RD0_bit;


    // Pin direction
    sbit LCD_RS_Direction at TRISD4_bit;
    sbit LCD_EN_Direction at TRISD5_bit;
    sbit LCD_D7_Direction at TRISD3_bit;
    sbit LCD_D6_Direction at TRISD2_bit;
    sbit LCD_D5_Direction at TRISD1_bit;
    sbit LCD_D4_Direction at TRISD0_bit;






    void main() {
    ANSEL = 0x04; // Configure AN2 pin as analog
    ANSELH = 0; // Configure other AN pins as digital I/O
    C1ON_bit = 0; // Disable comparators
    C2ON_bit = 0;
    Lcd_Init();
    ADC_Init(); // Initialize ADC module with default settings


    TRISA = 0xFF; // PORTA is input
    TRISC = 0; // PORTC is output
    TRISB = 0; // PORTB is output
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);


    do {
    tmp = ADC_Read(2); // Get 10-bit results of AD conversion
    Lcd_Out(1,2,tmp); // Write text in first row
    PORTB = tmp; // Send lower 8 bits to PORTB
    PORTC = tmp >> 8; // Send 2 most significant bits to RC1, RC0
    } while(1);
    }
    ویرایش توسط hamidtgh : 2019/10/22 در ساعت 11:42
  2. #2
    2018/09/21
    38
    13

    پاسخ : خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    نقل قول نوشته اصلی توسط hamidtgh

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

    عضویت

    سلام من یک پروژه خواندن adc کار میکنم که سورس اون رو هم گذاشتم ، که روی یک پورت وهمچنین روی lcd میخواهم نمایش بده . روی پورت مشکلی نداره ولی روی lcd بصورت اسکی نمایش داده میشه ، اگه ممکنه راهنمایی کنید عدد رو چطوری روی lcd نمایش بدم .
    سورس برنامه با Mikro C هست.

    //unsigned int temp_res;unsigned int tmp;
    // Lcd pinout settings
    sbit LCD_RS at RD4_bit;
    sbit LCD_EN at RD5_bit;
    sbit LCD_D7 at RD3_bit;
    sbit LCD_D6 at RD2_bit;
    sbit LCD_D5 at RD1_bit;
    sbit LCD_D4 at RD0_bit;


    // Pin direction
    sbit LCD_RS_Direction at TRISD4_bit;
    sbit LCD_EN_Direction at TRISD5_bit;
    sbit LCD_D7_Direction at TRISD3_bit;
    sbit LCD_D6_Direction at TRISD2_bit;
    sbit LCD_D5_Direction at TRISD1_bit;
    sbit LCD_D4_Direction at TRISD0_bit;






    void main() {
    ANSEL = 0x04; // Configure AN2 pin as analog
    ANSELH = 0; // Configure other AN pins as digital I/O
    C1ON_bit = 0; // Disable comparators
    C2ON_bit = 0;
    Lcd_Init();
    ADC_Init(); // Initialize ADC module with default settings


    TRISA = 0xFF; // PORTA is input
    TRISC = 0; // PORTC is output
    TRISB = 0; // PORTB is output
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
    do {
    tmp = ADC_Read(2); // Get 10-bit results of AD conversion


    Lcd_Out(1,2,tmp); // Write text in first row
    PORTB = tmp; // Send lower 8 bits to PORTB
    PORTC = tmp >> 8; // Send 2 most significant bits to RC1, RC0
    } while(1);
    }


    نوع داده متغیر tmp را تغییر بدهید مثلا از نوع long یا single
  3. #3
    2017/06/13
    511
    270

    پاسخ : خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    نقل قول نوشته اصلی توسط hamidtgh

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

    عضویت

    سلام من یک پروژه خواندن adc کار میکنم که سورس اون رو هم گذاشتم ، که روی یک پورت وهمچنین روی lcd میخواهم نمایش بده . روی پورت مشکلی نداره ولی روی lcd بصورت اسکی نمایش داده میشه ، اگه ممکنه راهنمایی کنید عدد رو چطوری روی lcd نمایش بدم .
    سورس برنامه با Mikro C هست.

    //unsigned int temp_res;unsigned int tmp;
    // Lcd pinout settings
    sbit LCD_RS at RD4_bit;
    sbit LCD_EN at RD5_bit;
    sbit LCD_D7 at RD3_bit;
    sbit LCD_D6 at RD2_bit;
    sbit LCD_D5 at RD1_bit;
    sbit LCD_D4 at RD0_bit;


    // Pin direction
    sbit LCD_RS_Direction at TRISD4_bit;
    sbit LCD_EN_Direction at TRISD5_bit;
    sbit LCD_D7_Direction at TRISD3_bit;
    sbit LCD_D6_Direction at TRISD2_bit;
    sbit LCD_D5_Direction at TRISD1_bit;
    sbit LCD_D4_Direction at TRISD0_bit;






    void main() {
    ANSEL = 0x04; // Configure AN2 pin as analog
    ANSELH = 0; // Configure other AN pins as digital I/O
    C1ON_bit = 0; // Disable comparators
    C2ON_bit = 0;
    Lcd_Init();
    ADC_Init(); // Initialize ADC module with default settings


    TRISA = 0xFF; // PORTA is input
    TRISC = 0; // PORTC is output
    TRISB = 0; // PORTB is output
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
    do {
    tmp = ADC_Read(2); // Get 10-bit results of AD conversion


    Lcd_Out(1,2,tmp); // Write text in first row
    PORTB = tmp; // Send lower 8 bits to PORTB
    PORTC = tmp >> 8; // Send 2 most significant bits to RC1, RC0
    } while(1);
    }


    سلام
    من با pic کار نکردم و نمیدونم کتابخونه اش چجوری کار میکنه. ولی معمولا برای lcd های کاراکتری شما باید عدد رو به رشته تبدیل کنید، بعد برای نمایش به lcd بدید. مثلا به شکل زیر:
    char str[17];
    sprintf(str, "%d", tmp);
    Lcd_Out(1,2,str);

    فقط توجه داشته باشید برای استفاده از تابع sprintf باید هدر stdio.h رو به پروژه اتون اضافه کنید.
  4. #4
    2012/05/09
    21
    1

    پاسخ : خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    سلام ممنون از پاسخگویی tmp رو long هم کردم جواب نداد

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    سلام متاسفانه موفق نشدم که تبدیل کنم.
  5. #5
    2018/09/21
    38
    13

    پاسخ : خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    نقل قول نوشته اصلی توسط hamidtgh

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

    عضویت

    سلام ممنون از پاسخگویی tmp رو long هم کردم جواب نداد

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    سلام متاسفانه موفق نشدم که تبدیل کنم.
    از help نرم افزار استفاده کن ببین ADC_Read(2) چه نوع داده ای را برمیگردونه
  6. #6
    2012/05/09
    21
    1

    پاسخ : خواندن مقدار adc و نمایش آن روی lcd در میکرو pic16f887

    خدمت دوستان عزیز با تشکر از شما برنامه رو به اینصورت تغییر دادم درست شد .


    unsigned int tmp;
    char str[10];


    // Lcd pinout settings
    sbit LCD_RS at RD4_bit;
    sbit LCD_EN at RD5_bit;
    sbit LCD_D7 at RD3_bit;
    sbit LCD_D6 at RD2_bit;
    sbit LCD_D5 at RD1_bit;
    sbit LCD_D4 at RD0_bit;


    // Pin direction
    sbit LCD_RS_Direction at TRISD4_bit;
    sbit LCD_EN_Direction at TRISD5_bit;
    sbit LCD_D7_Direction at TRISD3_bit;
    sbit LCD_D6_Direction at TRISD2_bit;
    sbit LCD_D5_Direction at TRISD1_bit;
    sbit LCD_D4_Direction at TRISD0_bit;






    void main() {
    ANSEL = 0x04; // Configure AN2 pin as analog
    ANSELH = 0; // Configure other AN pins as digital I/O
    C1ON_bit = 0; // Disable comparators
    C2ON_bit = 0;
    Lcd_Init();
    ADC_Init(); // Initialize ADC module with default settings


    TRISA = 0xFF; // PORTA is input
    TRISC = 0; // PORTC is output
    TRISB = 0; // PORTB is output


    Lcd_Cmd(_LCD_CURSOR_OFF);


    do {
    tmp = ADC_Read(2); // Get 10-bit results of AD conversion
    PORTB = tmp; // Send lower 8 bits to PORTB
    PORTC = tmp >> 8; // Send 2 most significant bits to RC1, RC0
    sprintl(str, "%u",tmp);
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Out(1,2,str); // Write text in first row
    delay_ms(50);
    } while(1);
    }


    ویرایش توسط hamidtgh : 2019/10/23 در ساعت 16:38
نمایش نتایج: از 1 به 6 از 6

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

  1. مشکل با خواندن یک مقدار آنالوگ توسط دو میکرو 30F4013
    توسط abbasmh در انجمن میکروکنترلرهای PIC
    پاسخ: 4
    آخرين نوشته: 2017/02/04, 00:31
  2. خواندن مقدار مقاومت با میکرو
    توسط mojtaba_rezaei در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/08/06, 02:55
  3. خواندن مقدار ولوم با AVR
    توسط majidashouri در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2013/07/25, 14:47
  4. طریقه خواندن مقدار آنالوگ 36 تا سنسور دما توسط میکرو
    توسط tictactoe در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2011/11/12, 10:39
  5. نمایش مقدار شارژ باطری روی lcd
    توسط naeimwtg در انجمن میکروکنترلرهای AVR
    پاسخ: 20
    آخرين نوشته: 2010/01/18, 00:49

کلمات کلیدی این موضوع

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

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

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

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