اطلاعیه

Collapse
No announcement yet.

اشکال در تابلو روان به زبان سی !!!

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

    اشکال در تابلو روان به زبان سی !!!

    سلام

    من برای اولین بار اقدام به ساخت تابلو روان کردم.
    فایل پروتئوس و برنامه اش رو که به زبان سی هست رو هم قرار میدم.
    میخواستم دوستان لطف کنند و یه نظری بدند در مورد کارکرد کلی برنامه !!!
    میدونم بحث زیاد شده در مورد تابلو روان و اکثرشون رو هم خوندم.
    اما احساس میکنم تابلوی من روال نرمال خودشو طی نمیکنه ! مخصوص هنگام لچ شدن !!!

    از روش جاروب ستونی استفاده شده.
    ابعاد تابلو 64*8 هست.(البته بعدا قراره 16 ستونه اش کنم !)
    متغیر j موجود در برنامه جهت وقفه استفاده میشود ولی چون فعلا اولویتم مشخص شدن کارکرد صحیح تابلو از لحاظ تئوری و یا حتی عملی است از انجام عمل وقفه جهت حرکت متن اجتناب کردم و بصورت کامنت نوشتمشون.
    متغیر i لچ ها رو میشمره.متغیر k ستون ها رو و همچنین متغیر m سطرها رو !

    برنامه رو سعی کردم تمیز بنویسم که مشکلی بوجود نیاد !

    ممنون میشم دوستان لطف کنند و منو از بلا تکلیفی در بیارند./

    اینم از لینک : http://uploadtak.com/images/m7535_TabloRavan.zip

    با تشکر
    * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
    * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
    *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
    حضرت علی(ع)
    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

    #2
    پاسخ : اشکال در تابلو روان به زبان سی !!!

    دوستان یعنی هیچ نظری نیست ؟؟؟
    * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
    * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
    *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
    حضرت علی(ع)
    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

    دیدگاه


      #3
      پاسخ : اشکال در تابلو روان به زبان سی !!!

      .......................پ ........................
      * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
      * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
      *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
      حضرت علی(ع)
      آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

      دیدگاه


        #4
        پاسخ : اشکال در تابلو روان به زبان سی !!!

        ماشاالله !!!

        واقعا یکی پیدا نمیشه تو این انجمن که کار ما رو هم راه بندازه ؟!
        همش باید اسپم بدید تا پستمون به چشم بیاد ؟

        من همه تلاش خودمو کردم اما نتیجه برنامه نویسیم راضی کننده نیست !
        فقط میخوام یه نفر یه نگاه به برنامه نویسی چندخطی من بندازه.

        ممنون
        * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
        * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
        *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
        حضرت علی(ع)
        آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

        دیدگاه


          #5
          پاسخ : اشکال در تابلو روان به زبان سی !!!

          سلام.
          ماشاالله !!!
          ور جونت

          ببین دوست عزیز شما داری از لچ استفاده میکنی.
          و لچ در واقع یه حافظه 8 بیتی هست که تا مقدار جدیدی بهش ندی مقدار قبلی رو تو خودش نگه میداره.
          شما از 8 لچ استفاده کردی که میشه 64 تا پین یعنی به تعداد ستون ها.
          در کل روش جاروب ستونی با لچ کار درستی نیست.(من خوشم نمیاد)
          حالا یه نظر:
          شما جاروب ستونی رو بیخیل شو و برو رو جاروب سطری.
          به این صورت که دیتای یک سطر رو روی لچ ها قرار میدی و سطر مورد نظر رو فعال میکنی.
          کل برنامه هم میشه این:
          به فرض این که این دیتا باشه:
          کد:
          const unsigned char code[64]=
          {
          	0x00,0x10,0x00,0x20,0x40,0x00,0x40,0x00,	// 0008		...........#..............#......#...............#..............
          	0x00,0x10,0x00,0x20,0x40,0x00,0x40,0x00,	// 0010		...........#..............#......#...............#..............
          	0x00,0x1C,0xE3,0xB8,0x73,0x91,0x70,0x00,	// 0018		...........###..###...###.###....###..###..#...#.###............
          	0x00,0x11,0x14,0x20,0x44,0x4A,0x40,0x00,	// 0020		...........#...#...#.#....#......#...#...#..#.#..#..............
          	0x0E,0x11,0xF6,0x20,0x47,0xC4,0x40,0xE0,	// 0028		....###....#...#####.##...#......#...#####...#...#......###.....
          	0x00,0x11,0x01,0xA0,0x44,0x04,0x40,0x00,	// 0030		...........#...#.......##.#......#...#.......#...#..............
          	0x00,0x11,0x10,0xA0,0x44,0x4A,0x40,0x00,	// 0038		...........#...#...#....#.#......#...#...#..#.#..#..............
          	0x00,0x0C,0xE7,0x18,0x33,0x91,0x30,0x00 	// 0040		............##..###..###...##.....##..###..#...#..##............
          };
          این میشه برنامه:

          کد:
          while(1){
          
          for(i=0;i<8;i++){
          for(j=0;j<8;j++){
          COL=code[(i*8)+j];
          LE=sotoon[i];
          delay;   //kheily kam da hade us
          LE=0;
          ROW=sotoon[i];
          delay  // dar hade chand ms 
          }}
          }
          گر صبر کنی زغوره حلوا سازی
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه


            #6
            پاسخ : اشکال در تابلو روان به زبان سی !!!

            آقا مهدی دمت گرم که شما لااقل یه نیگاهی به ما کردی !

            اما از نظر سخت افزاری تغییرات باید ایجاد بشه دیگه ؟
            حالا کلا این جاروب ستونی خیلی بده برای استفاده اش همراه لچ ؟ چون من میخوام فقط افکت چپ به راست داشته باشم و اینجوری راحتتره !

            در کل مشکل برنامه من از کجا بود ؟

            بازم ممنون
            * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
            * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
            *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
            حضرت علی(ع)
            آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

            دیدگاه


              #7
              پاسخ : اشکال در تابلو روان به زبان سی !!!

              در مورد برنامه ای که تو پست بالا گذاشتم نه نیازی به تغییر سخت افزار نیست.
              شما فقط برنامه رو جایگزین کن.


              اگه اسرار به استفاده از جاروب ستونی دارید.
              برنامه میشه این:
              ببخشید دیگه نوشتن برنامه واسم راحت تر از تحلیل برنامه شما بود :redface:
              کد:
              while(1){
              
              for(i=0;i<8;i++){
              for(j=0;j<8;j++){
              COL=sotoon[j];
              LE=sotoon[i];
              delay;   //kheily kam da hade us
              LE=0;
              ROW = code[(i*8)+j];
              delay  // dar hade chand ms 
              }}
              }
              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

              دیدگاه


                #8
                پاسخ : اشکال در تابلو روان به زبان سی !!!

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

                اما من با همون سخت افزار و برنامه جاروب سطری جنابعالی جواب نگرفتم !!!
                البته به نظر منطقی نمیاد که تغییر سخت افزاری نیاز نباشه ! چون جای سطر و سطون داره عوض میشه ها !!!

                اما یه مشکل دیگه هم چشمک زدن ماتریس ها توی پروتئوس هست که با تغییر زمان تاخیر بهبود پیدا کرد اما بطور کامل رفع نشد.
                فرکانس کاری میکرو هم روی 16 مگ تنظیم شده !


                بازم ممنون
                * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                حضرت علی(ع)
                آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                دیدگاه


                  #9
                  پاسخ : اشکال در تابلو روان به زبان سی !!!

                  شرمنده من کدها رو تست نمیکنم و فقط مینویسم.یه باگ کوچولو داشت.
                  این دیگه درسته واسه جاروب سطری.نیازی هم به تغییر سخت افزار نیست.
                  کد:
                  while(1){
                  
                  for(i=0;i<8;i++){
                  for(j=0;j<8;j++){
                  COL=code[(i*8)+j];
                  LE=sotoon[j];
                  delay;   //kheily kam da hade us
                  LE=0;
                  ROW=sotoon[i];
                  delay  // dar hade chand ms 
                  }}
                  }
                  مسئله چشمک زدن هم توی پروتئوس هست و در عمل نیست.
                  البته با جاروب سطری مشکل رفع میشه.
                  تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                  دیدگاه


                    #10
                    پاسخ : اشکال در تابلو روان به زبان سی !!!

                    نوشته اصلی توسط mehdi_nxp
                    شرمنده من کدها رو تست نمیکنم و فقط مینویسم.یه باگ کوچولو داشت.
                    این دیگه درسته واسه جاروب سطری.نیازی هم به تغییر سخت افزار نیست.
                    کد:
                    while(1){
                    
                    for(i=0;i<8;i++){
                    for(j=0;j<8;j++){
                    COL=code[(i*8)+j];
                    LE=sotoon[j];
                    delay;   //kheily kam da hade us
                    LE=0;
                    ROW=sotoon[i];
                    delay  // dar hade chand ms 
                    }}
                    }
                    مسئله چشمک زدن هم توی پروتئوس هست و در عمل نیست.
                    البته با جاروب سطری مشکل رفع میشه.
                    والا من که متوجه نشدم شما بر چه اساسی میفرمایید تغییر سخت افزاری نیاز نیست !
                    اما الان هم که تست کردم داره عجق وجق تحویل میده ! :angry:

                    اگه بدونم اون جاروب ستونی مشکلی برام بوجود نمیاره از همون ستونی استفاده میکنم.چون میخوام تعداد ستون ها رو افزایش بدم و همچنین حرکت از چپ به راست داشته باشم.
                    که در جاروب سطری حرکت از چپ به راست واقعا مصیبته ! :cry2:
                    * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                    * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                    *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                    حضرت علی(ع)
                    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                    دیدگاه


                      #11
                      پاسخ : اشکال در تابلو روان به زبان سی !!!

                      شرمنده مثل اینکه امشب حالم اصلا خوب نی.
                      این دیگه تظمینی درسته:
                      نیازی هم به تغییر سخت افزار نی.
                      کد:
                      while(1){
                      
                      for(i=0;i<8;i++){
                      for(j=0;j<8;j++){
                      COL=code[(i*8)+j];
                      LE=0x01<<j;
                      delay;   //kheily kam da hade us
                      LE=0x00;
                      delay  // dar hade chand ms 
                      }
                      ROW=1<<i;}
                      }
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


                        #12
                        پاسخ : اشکال در تابلو روان به زبان سی !!!

                        نوشته اصلی توسط mehdi_nxp
                        شرمنده مثل اینکه امشب حالم اصلا خوب نی.
                        این دیگه تظمینی درسته:
                        نیازی هم به تغییر سخت افزار نی.
                        کد:
                        while(1){
                        
                        for(i=0;i<8;i++){
                        for(j=0;j<8;j++){
                        COL=code[(i*8)+j];
                        LE=0x01<<j;
                        delay;   //kheily kam da hade us
                        LE=0x00;
                        delay  // dar hade chand ms 
                        }
                        ROW=1<<i;}
                        }
                        حاجی متاسفانه اینم جواب نداد !
                        ممنون که پیگیری میکنی :applause:

                        اما بنظر من که میگید حالم خوب نیست در مورد سخت افزار هم یکم تجدید نظر کنید. :biggrin:
                        چون مشکل ظاهرا سخت افزاریه !
                        البته ببخشیدا ! شما استاد مایید.
                        * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                        * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                        *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                        حضرت علی(ع)
                        آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                        دیدگاه


                          #13
                          پاسخ : اشکال در تابلو روان به زبان سی !!!

                          بله مشکل سخت افزاریه.
                          البته خیلی جزئی.
                          و نرم افزاری هم میشه حلش کرد.
                          مشکل اینه که شما پایه کم ارزش لچ ها رو متصل کردید به پرارزش ترین LED.
                          حالا شما باید یا پایه های لچ ها رو جابه جا کنید یا بیت های دیتا رو قبل از ست کردن تو خروجی کلا برعکس کنید.
                          متوجه شدید؟
                          فعلا پایه های لچ رو جا به جا کنید و با این کد تست کنید:
                          کد:
                          while(1){
                          
                          for(i=0;i<8;i++){
                          for(j=0;j<8;j++){
                          ROW=0;
                          COL=code[(i*8)+j];
                          LE=0x01<<j;
                          delay;   //kheily kam da hade us
                          LE=0x00; 
                          }
                          ROW=1<<i;
                          delay  // dar hade chand ms}
                          }
                          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                          دیدگاه


                            #14
                            پاسخ : اشکال در تابلو روان به زبان سی !!!

                            نوشته اصلی توسط mehdi_nxp
                            بله مشکل سخت افزاریه.
                            البته خیلی جزئی.
                            و نرم افزاری هم میشه حلش کرد.
                            مشکل اینه که شما پایه کم ارزش لچ ها رو متصل کردید به پرارزش ترین LED.
                            حالا شما باید یا پایه های لچ ها رو جابه جا کنید یا بیت های دیتا رو قبل از ست کردن تو خروجی کلا برعکس کنید.
                            متوجه شدید؟
                            فعلا پایه های لچ رو جا به جا کنید و با این کد تست کنید:
                            کد:
                            while(1){
                            
                            for(i=0;i<8;i++){
                            for(j=0;j<8;j++){
                            ROW=0;
                            COL=code[(i*8)+j];
                            LE=0x01<<j;
                            delay;   //kheily kam da hade us
                            LE=0x00;
                            delay  // dar hade chand ms 
                            }
                            ROW=1<<i;}
                            }
                            متاسفانه این یکی هم جواب داد.
                            در این حالت ULN کاملا خاموشه و نباید انتظار داشته باشیم که تابلو کار بکنه !
                            برای جاروب سطری فکر کنم باید منطق سخت افزاری کلا عوض بشه چون اینجا ما داریم جای صفر و یک رو با هم عوض میکنیم !
                            * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                            * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                            *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                            حضرت علی(ع)
                            آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                            دیدگاه


                              #15
                              پاسخ : اشکال در تابلو روان به زبان سی !!!

                              سلام.
                              من دیگه برنامه تست نشده واسه کسی نمیذارم :biggrin: قول میدم -O<

                              شما پایه های لچ رو جا به جا کردید؟
                              اگه کردید برنامه پست قبلی که ویرایش شده رو تست کنید و تمام.
                              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                              دیدگاه

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