اطلاعیه

Collapse
No announcement yet.

کمک واسه ساعت روی lcd با 8051

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

    کمک واسه ساعت روی lcd با 8051

    کسی برنامه ساعت روی lcd با میکرو 8051 رو بلده؟ :sad: به خدا خیلی ضروریه :sad: برنامه اتصالات میکرو 8051 با کی بورد و lcd رو هم میخوام

    #2
    پاسخ : کمک واسه ساعت روی lcd با 8051

    من میتونم راهنمایی کنم،طوری که اگر خوب انجام بدین حداکثر 2 روزه بتونین بسازین،اما لطفا حرف از اینکه کامل اینجا خاضری شو بزارم نزنین :smile:
    اگر تصمیم گرفتین خودتون با راهنمایی بسازین،خبرم کنین تا شروع کنیم،این تاپیک خوبیه،از کنارش آموزش در میاد،مرحله به مرحله پیش می رم ...

    دیدگاه


      #3
      پاسخ : کمک واسه ساعت روی lcd با 8051

      نوشته اصلی توسط sepideh_hosseini
      کسی برنامه ساعت روی lcd با میکرو 8051 رو بلده؟ :sad: به خدا خیلی ضروریه :sad: برنامه اتصالات میکرو 8051 با کی بورد و lcd رو هم میخوام
      دوست عزیز اگه تو همین انجمن بگردی حداقل میتونی 3-4 نمونه ساعت دیجیتال پیدا کنی. اتصال کیبرد و LCD که دیگه تو همین صفحه اول 8051 هست.

      نوشته اصلی توسط KhepeleSibilo
      من میتونم راهنمایی کنم،طوری که اگر خوب انجام بدین حداکثر 2 روزه بتونین بسازین،اما لطفا حرف از اینکه کامل اینجا خاضری شو بزارم نزنین :smile:
      اگر تصمیم گرفتین خودتون با راهنمایی بسازین،خبرم کنین تا شروع کنیم،این تاپیک خوبیه،از کنارش آموزش در میاد،مرحله به مرحله پیش می رم ...
      ماشالله به این قاطعیت :smile: .
      واقعا حق با توئه KhepeleSibilo جان. من همیشه تو حسرت اینکه یه تاپیک اونجوری بشه که تو میگی موندم.(البته چند نمونه بوده ها!)
      ولی خب ....

      فعلاً

      دیدگاه


        #4
        پاسخ : کمک واسه ساعت روی lcd با 8051

        سلام
        آره ... منم قبلا یکی نوشتم گذاشتم تو بخش پروژه ها. فکر کنم فایل پروتیوس هم داشته باشه ... البته با عذر خواهی از محضر اساتید! :mrgreen:

        دیدگاه


          #5
          پاسخ : کمک واسه ساعت روی lcd با 8051

          سلام
          من توو این تاپیک می خوام سعی کنم قدم به قدم یک ساعت رو از 0 بسازم،نمی دنم چقدر می تونم موفق بشم،برای این بحث از قبل مطلبی رو آماده نکردم،قدم به قدم هر چی که یادم بیفته می گم،امیدوارم مفید بشه و به جای سوزوندن بیتها!!! یک مطلب کمی علمی از کنارش در بیاد
          اگر بخوام سطح آموزش این تاپیک رو تخمین بزنم،باید بگم چندین پست اولش ،برای تازه کار ها مناسبه ،اما امیدوارم پسهای آخر اون به سمت مفید بودن برای افراد کمی وارد هم برسه ...
          از الان شروع می کنم،هر چند خط یکبار ارسال رو می زنم،امیدوارم برق یا اینترنتم قطع نشه ...

          دیدگاه


            #6
            پاسخ : کمک واسه ساعت روی lcd با 8051

            خوب
            پست اولم یک پست عمومیه،ربطی به این موضوع خواص هم نداره،احساس می کنم در مورد تمام پروژه ها لازم باشه ...
            راستش موضوع اصلی که توو یک پروژه مطرح میشه،مهمتر از نحوه ساخت،اینه که ما اول کامل بفهمیم از ما چی خواسته شده،چه امکاناتی داریم،و کارهایی که طرف مقابل از ما خواسته رو به چه صورت می تونیم برآورده کنیم ...ما بتونیم به شخصی که اطلاعی از الکترونیک نداره،محدودیتهای خودمون رو توضیح بدیم، و کاره خواسته شده رو به سمت قابل اجرا بودن ببریم،به فرض اینکه این ساعت ما اگر صدای زنگ تلویزیون در زمان پخش اخبار رو بشنوه و بتونه خودش رو تنظیم کنه خیلی خوبه اما ... مهم اینه که بتونیم دید مهندسی داشته باشیم ...
            در اینجا از ما یک ساعت خواسته شده،این ساعت باید روی LCD اطلاعات رو نمایش بده،برای تنظیم اون کلید خواسته شده،نوع میکرو تعین شده و حتما باید از خانواده mcs51 باشه ،خوب،روش های مختلفی برای تنظیم ساعت وجود داره،ما حتی می تونیم یک صفحه کلید ماشین حساب داشته باشیم که عدد ساعت رو تایپ کنیم،اما این جمله به نظرم خیلی مهمه :
            پروژه ای خوبه که با نهایت سادگی،تمام خواسته های ما رو برآورده کنه
            اگر یک مسابقه بزارن و بگن دستگاهی طراحی کنین که بتونه به بهترین نحو کار مورد نظر رو انجام بده ، کسی یک چراغ قوه بسازه و کسی دیگه یک کامپیوتر،چراغ قوه روشن بشه، اما کامپیوتر حاصل جمع 2+2 رو 5 نشون بده،درسته که کار دومی بزرگتر،پر زحمت تر و ... بوده،اما برنده حقیقی طراح چراغ قوست ...

            ما نیاز داریم ساعت رو تنظیم کنیم،برای این کار باید ثانیه،دقیقه و ساعت قابل تغییر باشن ، بعضی ساعتها ثانیه رو نشون نمی دن،پس نیاز به تنظیم اون ندارن،اما عملا برای دقیقه و ثانیه باید فکری بشه،یک کار اینه که به ازای هر کدوم 2 دکمه بزاریم که یکی عدد مورد نظر رو کم و دیگری اون رو زیاد کنه ... اما بهترین انتخاب به نظره من،ساده ترین اونها ست که همه خواسته های ما رو برآورده می کنه،چون بزرگترین تغییری که داریم، به ازای دقیقه و 60 عدد هست،اون هم در بدترین حالت که مثلا دقیقه 20 رو می خوایم به 19 تغییر بدیم،پس بهتره فقط یک دکمه داشته باشیم که بازدنش دقیقه یکی یکی زیاد بشه و وقتی به 60 رسید،اون رو صفر کنیم ،این کار باعث میشه ما به جای یک صفحه کلید بزرگ که سوای جا ی زیاد،پینهای زیاد و برنامه بزرگی رو طلب میکنه،کل کار رو با 2 دکمه انجام بدیم.در عین حال تمام خواسته ها رو هم برآورده کرده باشیم ...
            برای ثانیه کاری که معمولا انجام می شه،اینه که وقتی عدد دقیقه عوض شد،ثانیه هم به مقدار صفر تنظیم می شه.
            حالا ما تعریف روشنی ار کاری که می خوایم انجام بدیم داریم:
            ما یک ساعت می خوایم،روی میکرویی از خانواده mcs51 که ساعت رو روی LCD نشون بده،برای تنظیمش 2 تا کلید داشته باشه .

            من این پست رو توو پروژه ای که کمی بزرگتر باشه،کامل تر توضیح می دم،راستش موضوع طوری بود که نتونستم اوونی که توو ذهنم بود رو وطرح کنم ...

            چون فعلا امکان تصحیح نوشته ها نیست،مطالب رو پست به پست می نویسم تا اگه لازم شد،بتونم اشکالات رو راحتتر اصلاح کنم،توو پست بعدی مواد لازم(نه از مدل آشپزی :mrgreen: ) رو معرفی می کنم ...

            دیدگاه


              #7
              پاسخ : کمک واسه ساعت روی lcd با 8051

              قطعات لازم برای سخت افزار این پروژه :
              به طور حتم برای هسته اصلی،یک میکرو از خانواده MCS51 لازمه،در یک طراحی که بخواد برای یک کار با تولید انبوه باشه،بعضی وقتها یک انتخاب درست کلی روی قیمت تموم شده اثر می زاره .فقط محض یاد آوری گفتم،توو این پروژه خواص این چیزها مهم نیست،فقط سادگی و در دسترس بودن مهمه،میکرویی به اسم at89c2051 از این خانواده وجود داره که مشخصاتش برای این پروژه کفایت می کنه،اما احتمالا چون مشکل پروگرمر خواهیم داشت(من چند تا نقشه با فیبر و ... حاضر کردم،اما برای این پروژه زوده .. ) و همچنین اینکه الان سخت بتونین اون رو پیدا کنین(اونقدر خوب بود که هنوزم هست،اما سخت ...) پیشنهاد من میکروییه که هم توو بازار موجود باشه،هم برای پروگرم کردن و ... مشکلی نداشته باشین،یکی از شرکتهایی که برای خانواده MCS51 میکرو های خوبی طراحی کرده،شرکت ATMRL هستش،اون میکرو که بالا معرفی کردم هم از تولیدات این شرکته اما چند محصول خوب دیگه بر اساس همین خانواده داره که مشکل پروگرم کردن هم در حد قابل قبولی توو اونها حل شده،اصولا با توجه به مشخصاتی که این پروژه نیاز داره،با در نظر گرفتن مقدار رم و رام و پین ورودی خروجی و .. به نظرم بهترین گزینه AT89S51 هستش(دلم می خواست اینجا کسی پیدا میشد،سوال و جواب میکردیم،به نتیجه می رسید،بقیه میکرو های این خانواده هم معرفی می شد،حیف که این تاپیک فوریه .. )
              این میکرو برای کار به ولتاژ 5 ولت نیاز داره، پس ترجیحا یک ای سی به شماره 7805 که معرف حضور همه هست رو به مدار اضافه می کنیم تا این ای سی ولتاژ ها ورودی از یک اداپتر یا .. رو روی 5 ولت تثبیت کنه،برای ورودی این ای سی یک خازن 1میکرو فاراد و برای خروجی یک عدد 1 میکرو فاراد و یک عدد 10 نانو بزاریم بسه ...
              یک LCD نیاز داریم،برای نمایش ثانیه،2 کاراکتر،برای ساعت،2کاراکتر،برای دقیقه،2 کاراکتر،و در نهایت برای جدا کردن ثانیه از دقیقه، و دقیقه از ساعت،هر کدوم یک کاراکتر نیاز داریم،که کلا میشه 8 کاراکتر. پس یک LCDآ‌معمولی 1*16 برای این کار کفایت می کنه.LCD های کاراکتری موجود دارای یک درایور هستن،ما با فرمتی خواص،کدهای اسکی لازم برای نمایش یک حرف رو می فرستیم،و LCDآ‌خوذش بقیه کارها رو انجام میده،توو بعضی مدلهی این ارسال از طریق پورت سریال هست که اونها رو توو بازار ایران پیدا نمی کنین،اما توو مدلهای مورد نظر ما،ارسال به صورت پارالل هست،بحث راجع به نحوه ارسال و کارکرد اونها رو می زاریم برای یک تاپیک دیگه. پس ما یک LCD متنی می خوایم که حد اقل 1 خط و 8 کاراکتر رو داشته باشه.یک پتانسیومتر هم برای تنظیم کنتراست
              2 عدد کلید می خوایم،2 تا مقاومت برای PULL UP اینها ...
              یک کریستال برای کار کردن ساعت،توو قسمت مربوط به تایمر توضیح می دم که چرا ما کریستالی به مقدار 11.0592 مگ رو انتخاب خواهیم کرد ..
              یک پروگرمر نیاز داریم که اگه بتونم توو پست بعدی اون رو شرح می دم.
              به یک کامپایلر نیاز داریم،پیشنهاد اولیه من بیسکام8051 هستش،دلیلش رو توو پستی که می خوام اون رو بگم،توضیح می دم،اما اگر تا رسیدن به این پست،نظرها روی چیزه دیگه بود،این رو عوض می کنیم .اما در نهایت یک کامپایلر

              چون شماتیک اون رو نکشیدم و می خوام اگر کسی کمک کرد،با سوال و جواب و بسته به شرایط تغییرات لازم رو داشته باشه،شاید بعضی از چیزها که اینجا گفتم عوض بشن
              خدا کنه همینطور بتونم تا پست های آخر پیش برم.فعلا می خوابم تا فردا صبح ادامه بدم،منتظر نظر ها و درخواستها و شنیدن اینکه میده و ادامه بدم یا نه ... هستم

              دیدگاه


                #8
                پاسخ : کمک واسه ساعت روی lcd با 8051

                من از این استقبال کم آوردم،صبح تا الان هی refresh میکنم به امید یک ...
                اونم بنده خدا امیر جان که دیگه استقبال از الگوریتم ژنتیکش روی من رو سفید کرد :sad: :cry: :cry: :cry: :cry:
                من شب ادامه می دم،اما این بود همکاری که گفته بودین :sad: ؟؟؟؟؟

                دیدگاه


                  #9
                  پاسخ : کمک واسه ساعت روی lcd با 8051

                  خوب خوب خوب !
                  من این پست رو تازه دیدم....
                  درسته که همونطور که دوستان گفتند چند پروژه مختلف وجود داره ولی اینطوری که مرتضی عزیز شروع کرده و توضیح میده فکر کنم یک تاپیک رفرنس برای این مورد باشه
                  خوب من هم مشتاق انجام این پروژه به طور اصولی و مرحله به مرحله هستم (هرچند که 1 سال هست برا 8051 کد ننوشتم !!!! )
                  I ❤️ ECA

                  دیدگاه


                    #10
                    پاسخ : کمک واسه ساعت روی lcd با 8051

                    نوشته اصلی توسط KhepeleSibilo
                    من از این استقبال کم آوردم،صبح تا الان هی refresh میکنم به امید یک ...
                    اونم بنده خدا امیر جان که دیگه استقبال از الگوریتم ژنتیکش روی من رو سفید کرد :sad: :cry: :cry: :cry: :cry:
                    من شب ادامه می دم،اما این بود همکاری که گفته بودین :sad: ؟؟؟؟؟
                    سلام. شرمنده من اگه پست ندادم به خاطر این بود که کلا نبودم. توی تاپیک تغییرات انجمن هم پست نداشتم این 1.5 روزه.
                    خودت که میدونی نمیشه من باشم و تو تاپیک های کله گنده پست ندم :mrgreen:
                    [hr]
                    چون گفتی دوست داری سوال جوابی باشه بهتره پس من سوال میکنم:
                    برای نرم افزار: چجوری زمان رو محاسبه میکنیم؟ چجوری که دقیقتر باشه؟
                    برای سخت افزار: آیا برای LCD لازمه از بافر استفاده کنیم؟
                    یه سوال کلی: اگر بخوایم با قطع شدن برق ساعتمون کار کنه یا حد اقل زمان رو از دست نده باید چیکار کنیم؟

                    دیدگاه


                      #11
                      پاسخ : کمک واسه ساعت روی lcd با 8051

                      منتظریم :applause:

                      دیدگاه


                        #12
                        پاسخ : کمک واسه ساعت روی lcd با 8051

                        (روزه اول که خط اینترنتم قطع بود،نوشتن این پست رو دیروز صبح شروع کردم،به قسمت UPLOAD کردن برنامه پروگرمر که رسیدم،بارها error داد!!! خسته شدم یک مدتی ولش کردم!! الان بالاخره تموم شد!!!! :angry: شرمنده که دیر شد،راستی22 روزه که من کامپیوتر اصلیم رو restart هم نکردم!! اون دنیا یخمو می گیره!!آ‌)


                        شرمنده،گفته بودم اگه خطم قطع نشه و فرصتی داشته باشم ... اما انگار همه مشکل ها ییهو با هم اومدن :smile:
                        دلم می خواست کسی که این سوال رو پرسیده لااقل میومد می گفت پروژه باید اسمبلی باشه یا ... لااقل چیزی که توضیح می دیم به دردی هم بخوره،بگزریم!!!

                        نوشته اصلی توسط freedom_truth
                        چون گفتی دوست داری سوال جوابی باشه بهتره پس من سوال میکنم:
                        برای نرم افزار: چجوری زمان رو محاسبه میکنیم؟ چجوری که دقیقتر باشه؟
                        برای سخت افزار: آیا برای LCD لازمه از بافر استفاده کنیم؟
                        یه سوال کلی: اگر بخوایم با قطع شدن برق ساعتمون کار کنه یا حد اقل زمان رو از دست نده باید چیکار کنیم؟
                        خوب توو قسمت تایمر به زمان بندی اشاره میکنم،دقت این ساعت هم به دلیلی که توضیح می دم یخورده خیلی!! زیاده :smile: 6 ماه کامل روشن بود،با اخبار ساعت 2 رادیو عین هم ... البته اون نمونه مشابه بود و با C نوشته بودم و یک ذره امکانات اضافی هم داشت،اما اصل قضیه فرقی نداره :smile:
                        1-پینهای LCD جریان نمیکشه،2- بعضی جاها که پینها 2 طرفه هستم از بافر استفاده (مثل پروگرمر) میکنن تا اگر به اشتباه هر 2 طرف خروجی تعریف شد در حالی که یکی زمین و اون یکی VCC هست،این اتصال کوتاه جریان نکشه و ... و البته این کار رو با یک مقاومت هم انجام میدن ... پس اصولا LCDآ‌بافر نمی خواد ...
                        وقتی ساعت رو ساختیم(اگه جون داشته باشم همینطوری پیش برم) حتما چند روش هم برای قطع شدن برق می گم :smile:

                        اما قرار بود اینجا نحوه پروگرم کردن میکروی AT89S51 رو بگم،خوب این سری از خانواده mcs51 رو برای این انتخاب کردیم چون به صورت ISP هم پروگرم می شن،این روش برخلاف روشهای قبلی که باید میکرو رو از مدار جدا می کردیم و روی پروگرمر قرار می دادیم و کلی پایه به هم وصل بود و ... خیلی راحت از طریق 4رشته سیم امکان پذیره ،یادم میاد اواخر پایه های سوکتی که روو پروگرمر گزاشته بودم سست شده بود و باید میکرو رو فشار می دادم و بارها دکمه پروگرم رو می زدم!!!آ‌بنده خدا اونهایی که با mpf1 کار می کردن ...
                        ISP که مخفف برنامه پذیر بودن توو سیستم هست،این امکان رو می ده که میکرو رو توو مداری که هست،بدون جدا کردن،پروگرم کنیم،فقط باید به چند نکته دقت داشته باشیم،به فرض اگر از پین هایی که توو پروگرم کردن کاربرد دارن،روی فعال ساز یک رله یا تریاک یا ... که مثلا یک موتور یا تیغ رو کنترل می کنن استفاده کرده باشیم،باید حواسمون باشه که مدار در حین پروگرم شدن،کنترلی نداره و این پایه ها به تناوب 0 و 1 می شن و اونطرف ... تق تق!! ...

                        فایل ضمیمه شده زیر حاوی ساده ترین برنامه پروگرمر هم تحت داس و هم تحت ویندوز هست،توو PDF به جای شماتیک،چون پایه ها خیلی کمی باید وصل می شد،نقشه رو در صفحه 2 توضیح داده،توو منوهای برنامه داس،شماتیک کشیده شده...

                        لینک زیر هم یکی از پروگرمرهاییه که هم برای سری at89s و برای AVR تهیه شده :
                        http://www.kmitl.ac.th/~kswichit/SPI_Pgm/SPI-Pgm37.html

                        پیشنهاد من مدار دومه،کاش می دونستم این یک بافر چی داره که همه ازش گریزانن :mrgreen: پس دومی رو توضیح می دم ...

                        سایت www.mcselec.com سایت رسمی محصولات بیسکام هست،اولین محصول اونها بیسکام 8051 بود که برای سری mcs51 نوشته شده،در اولین فرصت برنامه قفل شکسته اون رو UP میکنم ،اما چون برنامه ساعت ما احتمالا حجم زیادی پیدا نکنه(تووسوال و جواب ممکنه امکاناتی بهش اضافه شه که ...) می تونین نسخه دموی اون رو از همون جا دریافت کنین ...

                        نحوه نوشتن برنامه توو بیسکام رو توو تاپیک بعدی توضیح می دم(خدا کنه اینهمه فاصله نیفته) اما در نهایت بعد از نوشتن برنامه ،فایلی با پسوند HEX تولید خواهد شد،ما توو برنامه پروگرمر باید این فایل رو باز کنیم و عمل پروگرم رو انجام بدیم

                        هر جور فکر میکنم نمی دونم اینها رو چطور بنویسم،چقدر یاد دادن سخته!!!آ‌پس بهتره به جای استفاده که رسیدیم،اونها رو همونجا مصور توضیح بدم ...

                        دیدگاه


                          #13
                          پاسخ : کمک واسه ساعت روی lcd با 8051

                          من فکر کنم خوبه در قالب یک مقاله (مراحل ساخت پروژه) باشه چون وقتی آدم فکر میکنه داره یک مقاله مینویسه به نوعی باید یک سری استانداردهارو رعیت کنه فکر کنم شماهم اگر مانند یک مقاله بنویسید هم کارتون راحت میشه و هم اینکه تمام مخاطب هارو جذب میکنه نه فقط افرادی که از نوعی نوشته خوششون میاد....

                          ولی به هر حال اینجا مدرس شمایین :icon_razz:
                          I ❤️ ECA

                          دیدگاه


                            #14
                            پاسخ : کمک واسه ساعت روی lcd با 8051

                            راستش دلم می خواد این به صورت سوال و جواب پیش بره،چون هدفم بیشتر جنبه آموزشیشه،فقط ساختن یک ساعت نیست،می خوام این پست های مقدماتی که رد شد،برای بقیه جاها سوال و جواب بشه،بعضی قسمتها به خواست افراد اضافه شه،عوض شه،وقتی تموم شد اگه لازم بود یک مقاله هم بشه..
                            قسمتی از پروژه های انجام شدمو سایتم گزاشتم،بخش زیادیش رو ننوشتم،پروژه هایی خواص که برای جایی کار کردم رو ننوشتم،بعضی پروژه های بزرگ که هنوز تموم نکردم رو ننوشتم،اگه اونها رو ببینین حق می دین که اگه حال مقاله نوشتن داشتم،می تونم برای چند سال آینده دیگه کاره جدیدی نکنم و فقط برای این ها ماهی چندین مقاله بدم!!!!آ‌ ....
                            :mrgreen:
                            اینجا هم که سوال و جوابی نمی شه ،منم دارم سست می شم،اما حتی اگه طول بکشه تکمیلش می کنم .... :smile:

                            راستی،این انقدر اذیت کرد که آخرش هم توو پست قبلی فراموش کردم بنویسم!!
                            http://www.khepelesibilo.com/89sProg.rar

                            دیدگاه


                              #15
                              پاسخ : کمک واسه ساعت روی lcd با 8051

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

                              دیدگاه

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