اطلاعیه

Collapse
No announcement yet.

مثالهایی ساده در برنامه Bascom

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

    مثالهایی ساده در برنامه Bascom

    دوستان لطف کنید و منو راهنمایی کنید ( قبلا" سپاس گذارم)

    چند تا مثال ساده در مورد:
    1-KBD
    2-Adc
    3-int
    بدید
    مجددا" مچکرم

    و یه سوالم دارم اگه برنامه ای تو یه حلقه باشه و مثلا"

    Do
    If pinB.0 = 0 then set port.c.1
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .loop
    end

    و زمانی که میکرو وسط برنامه رو میخونه PinB.0 رو ست کنیم هیچ عکس العملی رخ نمیده !!!
    این مشکل رو چطور باید حلش کرد ( لطفا" با مثال )
    و اگه 10 پین به این شکل بخوایم باید کی رو ببینیم( چیکار کنیم؟؟؟؟)


    با سپاس

    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
    آلبرت انیشتین

    #2
    پاسخ : مثالهایی ساده در برنامه Bascom

    چند تا مثال ساده در مورد:
    1-KBD
    2-Adc
    3-int

    خواستم لطفا" راهنمایی فرمایید
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
    آلبرت انیشتین

    دیدگاه


      #3
      پاسخ : مثالهایی ساده در برنامه Bascom

      تمام این موارد همراه با نمونه برنامه، تو HELP بیسکام توضیح داده شده.
      مشکل این جاست که وقتی پایه میکرو رو تحریک میآ‌شه، میکرو در حال اجرای یک دستور دیگه هست
      یا از وقفه خارجی استفاده کنید یا do loop رو شلوغ نکنید.

      دیدگاه


        #4
        پاسخ : مثالهایی ساده در برنامه Bascom

        این یک مثال برای صفحه کلید:
        هر کلیدی که از صفحه کلید فشرده بشه روی lcd نمایش می دهد:
        $regfile "m16def.dat"
        $crystal = 8000000 '\
        '******************************************** ***********************************
        Config Lcd = 16 * 2
        Config Kbd = Porta , Debounce = 150 , Delay = 120
        Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.5 , _
        E = Pinb.1 , Rs = Pinb.0
        cls
        Dim Scankey As Byte
        Up:
        Do
        Scankey = Getkbd()
        Scankey = Lookup(scankey , Key)
        If Scankey > 15 Then Goto Up
        Locate 1 , 1
        Lcd Scankey
        Loop
        End
        Key:
        Data 1 , 2 , 3 , 10 , 4 , 5 , 6 , 11 , 7 , 8 , 9 , 12 , 13 , 0 , 14 , 15 , 16



        اینم یک مثال برای adc که از porta.0 نمونه گیری می کند و روی lcd نمایش می دهد:
        $regfile "m16def.dat"
        $crystal = 8000000 '\
        '******************************************** ***********************************
        Config Lcd = 16 * 2
        Config Adc = Single , Prescaler = Auto , Reference = Avcc
        Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.5 , _
        E = Pinb.1 , Rs = Pinb.0
        cls
        Dim A2d As Word
        Up:
        Do
        A2d = Getadc(0)
        Locate 1 , 1
        Lcd A2d
        Loop
        End

        دیدگاه


          #5
          پاسخ : مثالهایی ساده در برنامه Bascom


          خیلی ممنون و سپاسگذارم
          همین مثالا رو میخواستم
          فقط اگه زحمتی نبود یه کم بیشتر بذارین و در موردشون توضیح هم بدین که بهتر بفهمم

          بدرود :bye
          تخیل مهمتر از دانش است
          علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
          آلبرت انیشتین

          دیدگاه


            #6
            پاسخ : مثالهایی ساده در برنامه Bascom

            کجای برنامه رو متوجه نمی شید؟ :read:

            دیدگاه


              #7
              پاسخ : مثالهایی ساده در برنامه Bascom

              باعث افتخاره که شما کمکم میکنید

              بعضی جاهاش رو مثل:
              مثال برای صفحه کلید

              Lookup
              و
              Locate 1 , 1
              و
              Key:
              Data 1 , 2 , 3 , 10 , 4 , 5 , 6 , 11 , 7 , 8 , 9 , 12 , 13 , 0 , 14 , 15 , 16

              و تومثال برای adc
              Config Adc = Single , Prescaler = Auto , Reference = Avcc
              رو نفهمیدم

              و اینکه توی ADC بعد از اجرای زیر برنامه چطور باید چطور باید حلقه رو تکرار کنیم و میکرو دوباره نمونه برداری کنه
              مثلا" کم و زیاد شدن ولتاژ ورودی به پورت ADC میکرو
              یا دما

              قبلا" سپاسگذارم
              بدرود
              تخیل مهمتر از دانش است
              علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
              آلبرت انیشتین

              دیدگاه


                #8
                پاسخ : مثالهایی ساده در برنامه Bascom

                نوشته اصلی توسط mapmap
                باعث افتخاره که شما کمکم میکنید

                بعضی جاهاش رو مثل:
                مثال برای صفحه کلید

                Lookup
                و
                Locate 1 , 1
                و
                Key:
                Data 1 , 2 , 3 , 10 , 4 , 5 , 6 , 11 , 7 , 8 , 9 , 12 , 13 , 0 , 14 , 15 , 16
                سلام
                دوست عزیز این جدول lookup است.شما اگر این جدول را تعریف نکنید کلید 1 صفحه کلید را فشار دهید به شما عدد صفر را می دهد یا 2 دو را فشار دهید 1 به شما می دهد یعنی کلید از صفر به ترتیب شروع می شود برای همین من در این جدول lookup کلید ها را اصلاح کردم.
                نوشته اصلی توسط mapmap
                و تومثال برای adc
                Config Adc = Single , Prescaler = Auto , Reference = Avcc
                رو نفهمیدم

                و اینکه توی ADC بعد از اجرای زیر برنامه چطور باید چطور باید حلقه رو تکرار کنیم و میکرو دوباره نمونه برداری کنه
                مثلا" کم و زیاد شدن ولتاژ ورودی به پورت ADC میکرو
                یا دما

                قبلا" سپاسگذارم
                بدرود
                این دستور پیکرده بندی adc است.single یعنی نمونه برداری با دستور getadc انجام می شود و refrence=avcc یعنی اینکه پایه ی ARef باید به تغذیه + 5 ولت وصل شود.
                حالا شما در یک حلقه do loop دستور getadc را می نویسید.همانطور که می دانید adc میکرو 10 بیتی است پس متغیری که تعریف می کنید که مقدار نمونه گیری در داخل آن قرار می گیرد باید از نوع word باشد.

                موفق باشید

                دیدگاه


                  #9
                  پاسخ : مثالهایی ساده در برنامه Bascom

                  با سپاس
                  بنده این دستورات رو در مورد ADC با یه کم تغییر (تغییر Atmega8 به 32 ) اجرا کردم و متاسفانه عملی نشد.
                  لطف کنید مشکل و ایرادم رو بگین.
                  :angry: :biggrin:
                  متشکرم

                  توضیحات :
                  LCD رو درست وصل کردم چون تو برنامه (پروتئوس ) روش میشه و مکان نما منتظر تایپ میمونه )
                  پایه AREF رو به +5 وصل کردم
                  یه پتانسیومتر برای ADC A0 گذاشتم که یه طرفش به +5 و طرف دیگه به زمین وصله ( پایه وسط هم به A0 )




                  تخیل مهمتر از دانش است
                  علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
                  آلبرت انیشتین

                  دیدگاه


                    #10
                    پاسخ : مثالهایی ساده در برنامه Bascom

                    ال سی دی رو کدوم پورته ای دی سی رو از کدوم پایه میگیری توضیح کامل بده بگیم :mrgreen:
                    بر نامه کوووو بزار اینجااا
                    :bye
                    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                    دیدگاه


                      #11
                      پاسخ : مثالهایی ساده در برنامه Bascom

                      حیف که بلد نیستم عکس برنامه رو که توی پروتئوس کشیدم بذارم
                      اما LCD رو درست وصل کردم چون تو برنامه های دیگه ای که دارم کار میکنه
                      پایه AREF میکرو رو به +5 وصل کردم
                      یه پتانسیومتر برای ADC A0 گذاشتم که یه طرفش به +5 و طرف دیگه به زمین وصله ( پایه وسط هم به PortA0)
                      فکر میکنم پتانسیومتر رو اشتب کردم :sad:

                      ممنون


                      تخیل مهمتر از دانش است
                      علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
                      آلبرت انیشتین

                      دیدگاه


                        #12
                        پاسخ : مثالهایی ساده در برنامه Bascom

                        کاری نداره عکس گذاشتن.سمت راست ،بالای صفحه یه قسمت هست به نام پلود سنتر عکس.عکس رو اونجا پلود کن بعد یه آدرس بهت میده که این آدرس رو باید save کنی بعد از قسمت بالای همین صفحه یه گزینه هست به نام "اضافه کردن عکس" اونجا گپیش کن.امید وارم متوجه شده باشی آخه خودمم گیج شدم :biggrin:

                        دیدگاه


                          #13
                          پاسخ : مثالهای ساده در برنامه Bascom

                          داداش فک کنم اصلا بلد نیست از پروتیوس برداره
                          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                          دیدگاه


                            #14
                            پاسخ : مثالهایی ساده در برنامه Bascom

                            سلام من یه مشکلی دارم ممنون میشم اگه حلش کنید .توضیح کلی راجع به بسکام و به پایه lcdچرا یک مقاومت متغیر مثلا 10kمی زارن البته برای دماسنج دیجیتالی با قابلیت کنترل دما؟؟؟؟؟؟

                            دیدگاه


                              #15
                              پاسخ : مثالهایی ساده در برنامه Bascom

                              لطفا" کمک کنید
                              ما 3 روزه سر میزنم اما کسی ما را یاریگر نیست

                              ممنون
                              تخیل مهمتر از دانش است
                              علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
                              آلبرت انیشتین

                              دیدگاه

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