اطلاعیه

Collapse
No announcement yet.

برنامه برای راه اندازی LCD گرافیکی نوکیا

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

    برنامه برای راه اندازی LCD گرافیکی نوکیا

    سلام دوستان
    من یک برنامه برای راه اندازی LCD گرافیکی نیاز دارم به زبان C .
    یه برنامه دارم که برای Atmega64 هست ولی من برای atmega 16 میخوام

    ممنون می شم یکی کمک کنه
    "زكاة العلم ، نشره
    زكات علم، نشر و تبليغ آن است." ( پيامبر اعظم (ص) )
    ما ز ياران چشم ياري داشتيم **** خود غلط بود آنچه مي پنداشتيم

    #2
    پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

    خوب سما نوع lcd تو ب همراه برنامت بذار تا ببینیم چی هست ..... :eek:
    ایمان

    دیدگاه


      #3
      پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

      برنامه زیر برای Atmega 64 نوشته شده ولی من می خوام اون رو برای atmega16 بنویسم.
      چون هنوز اول راه برنامه نویس هستم یه کم برام سخته :sad:
      با مقایسه دو میکرو تونستم یه تغییراتی بدم ولی هنوز ایراد داره
      منتظر یاری سبزتان هستم. :cry2:

      در ضمن شکل دو میکرو اینجا گذاشتم.



      برنامه:
      http://www.4shared.com/file/36527402/e2788336/LCD6610_-_AVR_Code.html
      "زكاة العلم ، نشره
      زكات علم، نشر و تبليغ آن است." ( پيامبر اعظم (ص) )
      ما ز ياران چشم ياري داشتيم **** خود غلط بود آنچه مي پنداشتيم

      دیدگاه


        #4
        پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

        سلام ..من برنامه رو دیدم ..خیلی جالب بود اگر مداری هم داری بده تا من هم ببینم می تونم راهش بندازم یا نه ... اما تو برنامه نویسی اگه مشکلی داشتی بگو تا کمکت کنم .... این برنامه برای mega16 نوشته (تابع define) رو نگاه کن ... حالا اگه همین برنامه ریختی رو mega16 جواب ندداده حتما مدارتو درست نبستی ...این برنامه داره با spi کار میکنه..... :applause: ایشالله بتونم کمکت کنم
        ایمان

        دیدگاه


          #5
          پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

          ممنون
          من خودم تو تابع define به جای atmega64 نوشتم Atmega 16 .اول برنامه اصلی یه سری پورت اضافی (برای atmega64)داشت که تو برنامه مورد استفاده قرار نمی گرفتن. من هم اونا رو پاک کردم . این تابع define اصلی هست.

          #include <mega64.h>

          #include <delay.h>
          #include <math.h>
          #include <stdlib.h>
          //#include <spi.h>
          #include <string.h>
          #include <stdio.h>

          #define CS PORTB.0
          #define MMC PINB.4

          #define EN 0;
          #define UN 1;

          #define KByte 1024 //Define as 1 Kilo Byte
          #define MByte 1048576 //Define as 1 Mega Byte

          //unsigned char FName[9],FExt[4],_Name[9],_Ext[4];
          //unsigned char FOName[9];
          //unsigned char buffer[512];

          //unsigned long FSize,FFat,FatArea1,FatArea2,RootArea,DataArea,Clu sterSize;
          //unsigned long FileAddress;


          //void MMC_CMD(unsigned char Command,unsigned long Arg);
          //unsigned char MMC_Response(unsigned char res);
          //unsigned char MMC_Read(unsigned long Add, unsigned char *ReadTemp);
          //unsigned char MMC_Write(unsigned long Add, unsigned char *WiteTemp);
          //unsigned char MMC_Init(void);

          //unsigned long File_Open(void);
          //unsigned long File_Parser(unsigned long add);

          //void header(void);
          //void parser(unsigned char BYTE1,unsigned char BYTE2,unsigned char BYTE3);
          unsigned int n;
          //------------------------------------------------------------

          #include "lcd6610.h"
          #include "graphic.h"
          //#include "mmc.h"
          //#include "fat.h"

          وقتی تو codevision کامپایش کردم چند تا ایراد گرفت من ایرادها رو اینجا مشخص کردم .

          // Port A initialization
          PORTA=0x00;
          DDRA=0xFF;

          // Port B initialization
          PORTB=0x00;
          DDRB=0x07;

          // Port C initialization
          PORTC=0x00;
          DDRC=0x00;

          // Port D initialization
          PORTD=0x00;
          DDRD=0x00;
          این قسمت ها رو پاک کردم
          // Port E initialization
          PORTE=0x00;
          DDRE=0x00;

          // Port F initialization
          PORTF=0x00;
          DDRF=0x00;

          // Port G initialization
          PORTG=0x00;
          DDRG=0x00;

          // Timer/Counter 0 initialization
          // Clock source: System Clock
          // Clock value: Timer 0 Stopped
          // Mode: Normal top=FFh
          // OC0 output: Disconnected
          ASSR=0x00;
          TCCR0=0x00;
          TCNT0=0x00;
          OCR0=0x00;

          // Timer/Counter 1 initialization
          // Clock source: System Clock
          // Clock value: Timer 1 Stopped
          // Mode: Normal top=FFFFh
          // OC1A output: Discon.
          // OC1B output: Discon.
          // OC1C output: Discon.
          // Noise Canceler: Off
          // Input Capture on Falling Edge
          // Timer 1 Overflow Interrupt: Off
          // Input Capture Interrupt: Off
          // Compare A Match Interrupt: Off
          // Compare B Match Interrupt: Off
          // Compare C Match Interrupt: Off
          TCCR1A=0x00;
          TCCR1B=0x00;
          TCNT1H=0x00;
          TCNT1L=0x00;
          ICR1H=0x00;
          ICR1L=0x00;
          OCR1AH=0x00;
          OCR1AL=0x00;
          OCR1BH=0x00;
          OCR1BL=0x00;

          OCR1CH=0x00;
          OCR1CL=0x00;
          // Timer/Counter 2 initialization
          // Clock source: System Clock
          // Clock value: Timer 2 Stopped
          // Mode: Normal top=FFh
          // OC2 output: Disconnected
          TCCR2=0x00;
          TCNT2=0x00;
          OCR2=0x00;

          // Timer/Counter 3 initialization
          // Clock source: System Clock
          // Clock value: Timer 3 Stopped
          // Mode: Normal top=FFFFh
          // Noise Canceler: Off
          // Input Capture on Falling Edge
          // OC3A output: Discon.
          // OC3B output: Discon.
          // OC3C output: Discon.
          // Timer 3 Overflow Interrupt: Off
          // Input Capture Interrupt: Off
          // Compare A Match Interrupt: Off
          // Compare B Match Interrupt: Off
          // Compare C Match Interrupt: Off
          TCCR3A=0x00;
          TCCR3B=0x00;
          TCNT3H=0x00;
          TCNT3L=0x00;
          ICR3H=0x00;
          ICR3L=0x00;
          OCR3AH=0x00;
          OCR3AL=0x00;
          OCR3BH=0x00;
          OCR3BL=0x00;
          OCR3CH=0x00;
          OCR3CL=0x00;

          // External Interrupt(s) initialization
          // INT0: Off
          // INT1: Off
          // INT2: Off
          // INT3: Off
          // INT4: Off
          // INT5: Off
          // INT6: Off
          // INT7: Off
          EICRA=0x00;
          EICRB=0x00;
          EIMSK=0x00;

          // Timer(s)/Counter(s) Interrupt(s) initialization
          TIMSK=0x00;
          ETIMSK=0x00;


          // SPI initialization
          // SPI Type: Master
          // SPI Clock Rate: 1125.000 kHz
          // SPI Clock Phase: Cycle Half
          // SPI Clock Polarity: Low
          // SPI Data Order: MSB First
          SPCR=0x50;
          SPSR=0x00;

          // Analog Comparator initialization
          // Analog Comparator: Off
          // Analog Comparator Input Capture by Timer/Counter 1: Off
          ACSR=0x80;
          SFIOR=0x00;


          قسمت هایی که با قرمز شدن ایرادهای codvision بودن من هم اونا رو پاک کردم!
          برنامه کامپایل شد. ولی نمی دونم حالا جواب می ده یا نه.
          "زكاة العلم ، نشره
          زكات علم، نشر و تبليغ آن است." ( پيامبر اعظم (ص) )
          ما ز ياران چشم ياري داشتيم **** خود غلط بود آنچه مي پنداشتيم

          دیدگاه


            #6
            پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

            من هم تووی نسخه جدید کد ویژن این مشکل برام پیش اومده وقتی برنامه رو توی یه برنامه جدید کپی می کردم کار نمی کرد من برنامم رو برای atmega16 نوشته بودم و می خواستم برای atmega32 اجرا کنم و فقط اینکلود 32 رو با 16 عوض کردم. برای همین باید پروژه رو از اول جنریت می کردم. :sad:
            ... کی میتونه جز من و تو درد ما رو چاره کنه
            یار دبستانی من ...

            دیدگاه


              #7
              پاسخ : برنامه برای راه اندازی LCD گرافیکی نوکیا

              عرشیا جان سلام .
              ببین داداش من هم اگه جای شما بودم همین کاری که کردی رو می کردم ...ولی چرا یهبار برنامه رو mega64 اجرا نمی کنی اصلا ببینی این برنامه درست یا نه .. تازه شاید مدار هم اشتباه بسته باشی اون موقع متوجه میشی ... اگر با mega64 جواب گرفتی با هم برنامه رو برای 16 از اول مینویسیم
              ایمان

              دیدگاه

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