اطلاعیه

Collapse
No announcement yet.

8051

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

    8051

    سلام عرض شد
    میخوام برنامه ای بنویسم و توسط میکرو8051 پیاده سازی کنم که عدد دریافتی از طریق یک صفحه کلید را به روی 7سگمنت نشان دهد :read:کمک کنید ممنون میشم

    #2
    پاسخ : 8051

    تو بخش پروژه های آماده هست.

    دیدگاه


      #3
      پاسخ : 8051

      دوستان خواهشا کمک کنید :angry:

      دیدگاه


        #4
        پاسخ : 8051

        دوست عزیز پست منو ندیدی؟! عرض کردم تو تو بخش پروژه های آماده هست. :eek:

        نکنه انتظار داری برنامه+شماتیک+شبیه سازی پروتیوس+مدار چاپی رو به ایمیلت ارسال کنن؟

        دیدگاه


          #5
          پاسخ : 8051

          سلام مجدد دوست گرامی :
          ممنون بابت وقتی که گذاشتید و جواب دادید
          دوست گرامی و عزیز اگر شما ملاحظه کنید اون برنامه به زبان سی نوشته شده!و به نظر شما 8051 با سی کار میکنه؟!اگه بود که خیلی عالی میشد همه ی8051رو با سی پروگرم می کردیم

          دیدگاه


            #6
            پاسخ : 8051

            نوشته اصلی توسط ra1372
            و به نظر شما 8051 با سی کار میکنه؟!
            الان داری سوال میکنی یا طعنه می زنی؟
            لحنت مبهمه. حرفت هم از نظر علمی غلطه ولی من سعی می کنم زیاد مته به خشخاش نزارم.

            مثال با اسمبلی هم هست ولی دوست عزیز شما انگار حوصله نداری بگردی و انتظار داری یک نفر برات بگرده پیدا کنه.

            بخش 8051 > زیر بخش پروژه های تکمیل شده > تاپیک "جمع آوری پروژه های میکرو 8051 موجود در سایت"
            اون تاپیک استیکی هست و همون بالا دیده میشه. پست سوم که پست منه، مورد پنجم.
            لینکش هم از سال 86 کار میکنه.

            دیدگاه


              #7
              پاسخ : 8051

              سلام
              دوست عزیز شرمنده من بی توجهی کردم و ادرسی که دادید رو درست نفهمیده بودم :sad:.بزرگواری کردید.ممنون :wow:

              دیدگاه


                #8
                پاسخ : 8051

                سلام دوستان
                پروژه ای که دوست عزیز بهم داد رو به صورت عملی بستم اما جواب نداد :sad:
                پروتیوس جواب میده ولی عملی جواب نمیده.برنامه زیر رو هم از کتاب و چند خطی خودم اضافه کردم .اگه کسی بلده خواهشا کمک کنه چون این برنامه هم تو پروتیوس کار میکنه اما عملی جواب نمیده! :cry2:
                ORG 00H
                MOV P2,#0FFH
                K1: MOV P1,#00H
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,K1
                K2: ACALL DELAY
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,OVER
                SJMP K2
                OVER: ACALL DELAY
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,OVER1
                JMP K2
                OVER1:MOV P1,#11111110B
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,ROW0
                MOV P1,#11111101B
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,ROW1
                MOV P1,#11111011B
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,ROW2
                MOV P1,#11110111B
                MOV A,P2
                ANL A,#00001111B
                CJNE A,#00001111B,ROW3
                LJMP K2
                ROW0:MOV DPTR,#KCODE0
                SJMP FIND
                ROW1:MOV DPTR,#KCODE1
                SJMP FIND
                ROW2:MOV DPTR,#KCODE2
                SJMP FIND
                ROW3:MOV DPTR,#KCODE3
                FIND:RRC A
                JNC MATCH
                INC DPTR
                SJMP FIND
                MATCH:CLR A
                MOVC A,@A+DPTR
                MOV P0,A
                LJMP K1
                DELAY:MOV R4,#2
                S2:MOV R5,#250
                NOP
                HERE1JNZ R5,HERE1
                DJNZ R4,S2
                RET

                ORG 300H
                KCODE0B 1,2,3
                KCODE1B 4,5,6
                KCODE2B 7,8,9
                KCODE3B ''D'',''E'&#039 ;,''F''
                END

                دیدگاه


                  #9
                  پاسخ : 8051

                  :cry2:

                  دیدگاه


                    #10
                    پاسخ : 8051

                    باید اول از یه برنامه ساده مثل چشمک زن جواب بگیرید تا مطمئن بشید که سخت افزارتون (تغذیه، اوسیلاتور، اتصالات) سالمه و کار می کنه.
                    بعد برید برای تست پروژه های پیچیده تر.

                    دیدگاه


                      #11
                      پاسخ : 8051

                      سلام دوست عزیز
                      مشکل من اینجاست وقتی مدار و می بندم انگار کلید خوانده نمیشه به نظرم ساختار کلی برنامه مشکل داره که کلید تشخیص داده نمیشه نظرتون درباره خطهای انتهایی برنامه چیه اونجا که نوشته DB :angry:

                      دیدگاه


                        #12
                        پاسخ : 8051

                        سلام
                        وقت بخیر

                        دوست گرامی "ra1372 "

                        برنامه ای که قرار دادید ، برای این منظور (خواندن از یک صفحه کلید و نمایش کلید خوانده شده بر روی یک سون سگمنت ) کمی پیچیده و مبهم بنظر میاد.

                        پیشنهاد میکنم مدار را به اینصورت ترسیم نمایید .

                        برای خواندن اطلاعات یک کیبورد 4x4 ، به 4 خط برای اسکن سطرها (ورودی) و 4 خط برای دیتای ستون ها (خروجی) نیاز داریم .

                        بنابر این پورت P2 را (بصورت اختیاری) برای این منظور انتخاب میکنیم .

                        برای نمایش مستقیم اطلاعات کیبورد ( 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F ) بر روی یک سون سگمنت ، به 7 پین نیاز داریم .

                        بنابر این پورت P1 را (بصورت اختیاری) برای این منظور انتخاب میکنیم



                        از این مرحله به بعد باید برنامه نویسی کنیم .

                        منطق برنامه به اینصورت است که

                        سطر اول p2.0 را 0 و در این حالت ، وضعیت پینهای p2.4 - p2.5 - p2.6 - p2.7 را
                        میخوانیم
                        در صورتیکه کلیدی فشار داده شده باشد ، پین متناظر با آن کلید در وضعیت صفر و در غیر اینصورت وضعیت یک را خواهد داشت

                        و همینطور برای سطر های دیگر p2.2 - p2.1 - و p2.3 هم به همینصورت برنامه را تکرار میکنیم

                        برای شروع برنامه را طوری بنویسید که فقط این 4 سطر اسکن شده و در صورت تشخیص فشار داده شدن یک کلید ، یک ال ای دی را روشن و خاموش نمایید

                        مثلا روی پین p3.0

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

                        .....................


                        با احترام
                        93/2/28

                        دیدگاه


                          #13
                          پاسخ : 8051

                          سلام و
                          تشکر بابت پاسخ گویی و وقتی که گذاشتید برای بنده
                          این برنامه رو اینطور نوشته شده
                          برای تشخیص کلید فشرده شرده میکروکنترلر همه سطرها را با تهیه 0 در لچ خروجی به زمین وصل می کند و سپس ستون را می خواند اگر داده خوانده شده از ستون 1111 باشد کلیدی فشرده نشده است و فر ایند تا تشخیص کلید فشرده شده ادامه خواهد داشت .اگر یکیی از بیت ها ی ستون حاوی صفر باشد به این معنی است که کلید فشرده شده است.پس از تشخیص کلید فشرده شده میکروکنترلر وارد شناسایی کلید می شود با شروع از سطر بالا با زمین کردن d0ان را به زمین وصل میکنه سپس ستونها رو میخونه اگر داده خوانده شده تماما یک باشه کلید در ان سطر فشرده نشده و.......همونجوری ادامه میده
                          به نظر من شما هم همینجوری گفتید
                          بازم اگه میتونید بیشتر کمک کنید و اگه برنامه ای دارید لطف کنید .برنامه رو از زیر دریافت کنید
                          بازم ممنون وقت گذاشتید جناب
                          New folder (4).rar - 12 KB

                          دیدگاه


                            #14
                            پاسخ : 8051

                            دوست عزیز شما یک چشمک زن می بندی کار میکنه؟ ما که اونجا نیستیم ببینیم سخت افزارت درسته یا نه.

                            دیدگاه


                              #15
                              پاسخ : 8051

                              بله چشمک زن کار میکنه.به نظر میاد ایراد از برنامه هست

                              دیدگاه

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