اطلاعیه

Collapse
No announcement yet.

lcd کاراکتری

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

    lcd کاراکتری

    سلام میخواستم lcd کاراکتری رو راه اندازی کنم
    یه برنامه نوشتم مشابهش رو avr جواب میده
    اما رو arm نمیده :angry:
    میشه مشکلاتش رو بهم بگید
    یه شکایتم داشتم از arm اخه چرا دسترسی بیتی نداره چچچچچچرا یه پورت داره 32 بیتی چرا 4 تاش نکردن اخهههه؟

    #include <lpc210x.h>
    #define eon IOSET= 0x00000004
    #define eoff IOCLR= 0x00000004
    #define clear IOSET=0x000000F0
    #define clearc IOCLR=0x000000F0
    #define set IOSET = 0x00000380
    #define setc IOCLR = 0x00000380
    #define T IOSET = 0x00000531

    void delay_s(int de);
    int main(void)
    {
    IODIR=0xffffffff;
    set;
    setc;
    delay_s(0.01);
    eon;
    delay_s(0.01);
    eoff;
    delay_s(0.01);
    clear;
    clearc;
    delay_s(0.01);
    eon;
    delay_s(0.01);
    eoff;
    delay_s(0.01);

    while(1)
    {
    T;
    delay_s(0.01);
    eon;
    delay_s(0.01);
    eoff;
    delay_s(300000);
    };
    };
    void delay_s(int de)
    {
    unsigned int i;
    for (i=0;i>de;i++)
    {
    };
    }
    این برناممه ممنون میشم استادان بزرگوار کمکم منید :cry2:
    اگه که کلن برنامم تعطیله یه راهنمایی بکنید :cry2:
    اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
    هیتلر

    #2
    پاسخ : lcd کاراکتری

    یعنی کسی نمیدونه؟ :cry2:تا حالا کسی از این روش استفاده نکرده؟
    اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
    هیتلر

    دیدگاه


      #3
      پاسخ : lcd کاراکتری

      در مورد دسترسی بیتی در همین سایت در اینجا
      http://www.eca.ir/forum2/index.php?topic=41142.msg226119#msg226119
      مقاله ای است که ورودی خروجی را شرح داده و بیان کرده که می توان به صورت 8 بیتی و 16 بیتی هم استفاده کرد.
      در مورد ال سی دی هم چند جا من چند برنامه دیدم که راه اندازی کرده اند فکر کنم 21xx هم بود. چه این جا چه سایت ایران میکرو را یه سرچ بزنید برنامه ها را ببینید و خودتون مقایسه کنید.
      فیلم آموزشی میکروکنترلر LPC1768
      فیلم آموزشی تکمیلی و پیشرفته میکروکنترلر LPC1768
      فیلم آموزش کاربردی زبان سی در میکروکنترلر ARM
      فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

      دیدگاه


        #4
        پاسخ : lcd کاراکتری

        نوشته اصلی توسط mahdizarkoob
        در مورد دسترسی بیتی در همین سایت در اینجا
        http://www.eca.ir/forum2/index.php?topic=41142.msg226119#msg226119
        مقاله ای است که ورودی خروجی را شرح داده و بیان کرده که می توان به صورت 8 بیتی و 16 بیتی هم استفاده کرد.
        در مورد ال سی دی هم چند جا من چند برنامه دیدم که راه اندازی کرده اند فکر کنم 21xx هم بود. چه این جا چه سایت ایران میکرو را یه سرچ بزنید برنامه ها را ببینید و خودتون مقایسه کنید.
        اقا این سری lpc 21xx نداره دسترسی بیتی :cry2: :angry:
        این برنامه رو چی کارش کنم؟
        اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
        هیتلر

        دیدگاه


          #5
          پاسخ : lcd کاراکتری

          نوشته اصلی توسط Saeed Saeb
          اقا این سری lpc 21xx نداره دسترسی بیتی :cry2: :angry:
          این برنامه رو چی کارش کنم؟
          دسترسی بیتی نیاز نیست که. شما اینجوری بنویسید:
          FIO0SET=(1<<n);

          بیت n ام یک میشه!
          [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

          دیدگاه


            #6
            پاسخ : lcd کاراکتری

            نوشته اصلی توسط shahinbahari
            دسترسی بیتی نیاز نیست که. شما اینجوری بنویسید:
            FIO0SET=(1<<n);

            بیت n ام یک میشه!
            ممنون کار کرد :wow: اما به این صورت
            IOSET=(1<<0);
            اما فقط یه سوال این جا دقیقا چه اتقاقی افتاد؟
            1 شیفت شد به n?
            اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
            هیتلر

            دیدگاه


              #7
              پاسخ : lcd کاراکتری

              اون F به خاطر فست بودنش هست.
              در اینجا 1 رو به اندازه n تا به چپ شیفت میدیم.
              [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

              دیدگاه


                #8
                پاسخ : lcd کاراکتری

                نوشته اصلی توسط shahinbahari
                اون F به خاطر فست بودنش هست.
                در اینجا 1 رو به اندازه n تا به چپ شیفت میدیم.
                پس با این کار دیگه بقیه عوض نمیشن..ایول این کارو خیلی راحت میکنه اونجوری اصلا نمیشد کار کرد :mrgreen:
                حالا یه سوال اگه بخوام 3 تا رو با هم روشن خاموش کنم چی؟میشه جای 1 مثلا بزارم 5 تا بیتهای بعد n به ترتیب bit1 و bit4 بعد n روشن میشه؟
                اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
                هیتلر

                دیدگاه


                  #9
                  پاسخ : lcd کاراکتری

                  IO0SET=(1<<1) | (1<<4) | (1<<n);
                  [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

                  دیدگاه


                    #10
                    پاسخ : lcd کاراکتری

                    اگه بخواهید به صورت کلاسیک این کار را انجام بدید سخت نیست که!!
                    مثلا بیت شماره 5 پورت 3 را می خواهید یک کنید: اگه همه را بخواهید یک کنید میشه FIO3SET = 0xFFFFFFFF که هر F به صورت باینری میشه 1111 خوب اینکه سخت نبود!؟ یعنی هر F چهار بیته دیگه. پس بیت پنجم میشه 0000 0010 از شماره صفر بشمارید . پنجمی یک میشه. همین را به صورت هگز می نویسیم:
                    FIO3SET = 0x00000020 یا FIO3SET = 0x20
                    فیلم آموزشی میکروکنترلر LPC1768
                    فیلم آموزشی تکمیلی و پیشرفته میکروکنترلر LPC1768
                    فیلم آموزش کاربردی زبان سی در میکروکنترلر ARM
                    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

                    دیدگاه


                      #11
                      پاسخ : lcd کاراکتری

                      نوشته اصلی توسط mahdizarkoob
                      اگه بخواهید به صورت کلاسیک این کار را انجام بدید سخت نیست که!!
                      مثلا بیت شماره 5 پورت 3 را می خواهید یک کنید: اگه همه را بخواهید یک کنید میشه FIO3SET = 0xFFFFFFFF که هر F به صورت باینری میشه 1111 خوب اینکه سخت نبود!؟ یعنی هر F چهار بیته دیگه. پس بیت پنجم میشه 0000 0010 از شماره صفر بشمارید . پنجمی یک میشه. همین را به صورت هگز می نویسیم:
                      FIO3SET = 0x00000020 یا FIO3SET = 0x20
                      کسی به تابع delay خوب داره؟ من نوشتم اما دقیق نیست واسه lcd هم باید دقیق باشه
                      اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
                      هیتلر

                      دیدگاه


                        #12
                        پاسخ : lcd کاراکتری

                        من تو کتاب hitex خوندم میشه با هدر stdio.h با دستور putchar() بشه lcd رو راه انداخت میشه یکی یه توضیح بده؟
                        میشه این کارو کرد؟
                        البته latch کردن و این حرفارو خدم باید بکنم
                        اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
                        هیتلر

                        دیدگاه

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