تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: راهنمایی در مورد مگا8 وال سی دی 2×16

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2010
    پست ها
    7

    پيش فرض راهنمایی در مورد مگا8 وال سی دی 2×16

    سلام کسی هست که بتونه منو راهنمایی کنه یه مشکل کوچکی دارم:
    می خواهم یه ال سی دی 2×16 رو به مگا 8 وصل کنم که فقط یه متنو نشون بده این برنامه رو هم با کدویزارد نوشتم و مدار رو هم روی برد برد بستم ولی وقتی که میخواهم تست کنم فقط سطر اول ال سی دی 16 مربع روشن میشه و در ضمن پایه های 15 و 16 رو هم به +5ولت وصل کردم ولی ال ای دی های پشت ال سی دی روشن نمیشن اگه امکانش هست به برنامه ای که نوشتم نگاهی بندازید و نحوه مونتاژ مدارو هم لطف کنید بگید اخه ممن خیلی خیلی تازه واردم.لطفاً منو راهنمایی کنید
    این هم برنامه:
    /*********************************************
    This program was produced by the
    CodeWizardAVR V1.23.8c Standard
    Automatic Program Generator
    © Copyright 1998-2003 HP InfoTech s.r.l.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    e-mail:office@hpinfotech.ro
    Project :
    Version :
    Date : 2010/06/28
    Author : crystal-xp
    Company :
    Comments:

    Chip type : ATmega8L
    Program type : Application
    Clock frequency : 8.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    *********************************************/
    #include <mega8.h>
    #include <stdio.h>
    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x18;PORTB
    #endasm
    #include <lcd.h>
    #include <delay.h>
    // Declare your global variables here
    void main(void)
    {
    int i=0;
    char lcd_buffer[20];
    // Declare your local variables here
    // Input/Output Ports initialization
    // Port B initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
    PORTB=0x00;
    DDRB=0x00;
    // Port C initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T
    PORTC=0x00;
    DDRC=0x00;
    // Port D initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
    PORTD=0x00;
    DDRD=0x00;
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=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
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=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
    GICR|=0x00;
    MCUCR=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
    // Analog Comparator Output: Off
    ACSR=0x80;
    SFIOR=0x00;
    // LCD module initialization
    lcd_init(16);
    while (1)
    {
    for(i=0;i<101;i++)
    {
    sprintf(lcd_buffer,"Count form 0-100=%-u",i);
    lcd_clear();
    lcd_puts(lcd_buffer);
    delay_ms(200);
    }
    delay_ms(2000);
    };
    }

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2010
    پست ها
    7

    پيش فرض

    سلام مجدد مشکلم در مورد ال سی دی حل شد حالا یه مشکل دیگه دارم اونم اینکه یه کی پد 16*2 دارم که میخواهم به مگا 8 وصل بشه و هر کلیدی که از رو کی پد فشار داده بشه روی ال سی دی نشون بده برنامه رو هم به کدویژن نوشتم حالا میزارم تا بقیه یه نگاه بندازن بلکه مشکلم حل شد،راستی این کی پدی که خریدم خیلی پین داره و جا واسه 4تا ال ای دی و 4تا مقاومت pullup و یه پین v0 که گفته واسه تغذیه که این یکیو میدونم 4تا پین دیگه r1تاr4 که اینوهم میدونم واسه سطرهاست و 5تا پین دیگهc0تاcc4 که اینو تقریبا نمیدونم یعنی فکر میکنم اینطوری باشه c1تاc4 واسه ستونها.حالا مشکلم اینه که نمی دونم کی پدو درست بستم یا اشکال از برنامه هستش یا از هر دو لطفاً منو راهنمایی کنید.راستی من از مگا8 استفاده میکنم که از پورت d واسه ال سی دی و از پورت bواسه گی پد که boتاb3ورودی b4تاb7خروجی تعریف کردم یه برنامه ساده میخواهم که هر دکمه ای از کی پد فشرده شد همون عدد رو روی ال سی دی نشون بده.

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2010
    پست ها
    7

    پيش فرض

    راستی برنامه رو یادم رفت اینجا میزارمش این اولین برنامه این اعداد قاطی پاطی میزنه:
    /*********************************************
    This program was produced by the
    CodeWizardAVR V1.23.8c Standard
    Automatic Program Generator
    © Copyright 1998-2003 HP InfoTech s.r.l.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    e-mail:office@hpinfotech.ro
    Project :
    Version :
    Date : 2010/06/30
    Author : crystal-xp
    Company :
    Comments:

    Chip type : ATmega8
    Program type : Application
    Clock frequency : 4.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    *********************************************/
    #include <mega8.h>
    #include <stdio.h>
    #include <delay.h>
    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x12
    #endasm
    #include <lcd.h>
    // Declare your global variables here
    int keyout;
    char LCDstr[30];
    void main(void)
    {
    // Declare your local variables here
    // Input/Output Ports initialization
    // Port B initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
    // State0=P State1=P State2=P State3=P State4=P State5=P State6=P State7=P
    PORTB=0xFF;
    DDRB=0x00;
    // Port C initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T
    PORTC=0x00;
    DDRC=0x00;
    // Port D initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
    PORTD=0x00;
    DDRD=0x00;
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=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
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=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
    GICR|=0x00;
    MCUCR=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
    // Analog Comparator Output: Off
    ACSR=0x80;
    SFIOR=0x00;
    // LCD module initialization
    lcd_init(16);
    lcd_putsf("Welcome");
    while (1)
    {
    keyout=0;
    PORTB=0x01;
    delay_ms(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"1");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"2");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"3");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F1");
    }
    PORTB=0x02;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"4");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"5");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"6");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F2");
    }
    PORTB=0x04;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"7");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"8");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"9");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F3");
    }
    PORTB=0x08;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"start");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"0");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"stop");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"Enter");
    }
    if(keyout==1)
    {
    lcd_clear();

    lcd_puts(LCDstr);
    }
    PORTB=0x00;
    delay_ms(10);
    delay_ms(80);

    };
    }

    این برنامه دومی هم فقط روی ال سی دی مینویسه welcome اعداد رو نشون نمیده:

    /*********************************************
    This program was produced by the
    CodeWizardAVR V1.23.8c Standard
    Automatic Program Generator
    © Copyright 1998-2003 HP InfoTech s.r.l.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    e-mail:office@hpinfotech.ro
    Project :
    Version :
    Date : 2010/06/30
    Author : crystal-xp
    Company :
    Comments:

    Chip type : ATmega8
    Program type : Application
    Clock frequency : 4.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    *********************************************/
    #include <mega8.h>
    #include <stdio.h>
    #include <delay.h>
    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x12
    #endasm
    #include <lcd.h>
    // Declare your global variables here
    int keyout;
    char LCDstr[30];
    void main(void)
    {
    // Declare your local variables here
    // Input/Output Ports initialization
    // Port B initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=Out Func5=Out Func6=Out Func7=Out
    // State0=P State1=P State2=P State3=P State4=0 State5=0 State6=0 State7=0
    PORTB=0x0F;
    DDRB=0xF0;
    // Port C initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T
    PORTC=0x00;
    DDRC=0x00;
    // Port D initialization
    // Func0=In Func1=In Func2=In Func3=In Func4=In Func5=In Func6=In Func7=In
    // State0=T State1=T State2=T State3=T State4=T State5=T State6=T State7=T
    PORTD=0x00;
    DDRD=0x00;
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=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
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=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
    GICR|=0x00;
    MCUCR=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
    // Analog Comparator Output: Off
    ACSR=0x80;
    SFIOR=0x00;
    // LCD module initialization
    lcd_init(16);
    lcd_putsf("Welcome");
    while (1)
    {
    keyout=0;
    PORTB=0x01;
    delay_ms(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"1");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"2");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"3");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F1");
    }
    PORTB=0x02;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"4");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"5");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"6");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F2");
    }
    PORTB=0x04;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"7");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"8");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"9");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"F3");
    }
    PORTB=0x08;
    delay_us(100);
    if(PINB.4==1)
    {
    keyout=1;
    sprintf(LCDstr,"start");
    }
    if(PINB.5==1)
    {
    keyout=1;
    sprintf(LCDstr,"0");
    }
    if(PINB.6==1)
    {
    keyout=1;
    sprintf(LCDstr,"stop");
    }
    if(PINB.7==1)
    {
    keyout=1;
    sprintf(LCDstr,"Enter");
    }
    if(keyout==1)
    {
    lcd_clear();

    lcd_puts(LCDstr);
    }
    PORTB=0x00;
    delay_ms(10);
    delay_ms(80);
    };
    }

  4. #4
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2010
    پست ها
    7

    پيش فرض

    یعنی کسی نیست که منو در مورد سوال دومم راهنمایی کنه؟؟؟؟؟؟؟؟؟؟؟؟؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •