NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4902 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 4 از 4

موضوع: خاموش كردن اتوماتيك نور پشت زمينه lcd

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2009
    نوشته ها
    20
    تشکر
    3
    تشکر شده 3 بار در 2 پست

    پیش فرض خاموش كردن اتوماتيك نور پشت زمينه lcd

    سلام دوستان
    من يه برنامه نوشتم كه داره درست كار ميكنه ولي ميخوام كه نور پشت زمينه LCD رو به اين برنامه اضافه كنم یعنی یه پایه رو جوری برنامه نویسی کنم كه بعد از مدتي خاموش بشه که خروجی پایه رو به یه ترانزیستور بدم و تمام و هر بار كه دستور RUN و STOPو BEMETAL اجرا ميشه صفحه براي 15 ثانيه روشن بمونه و بعد خاموش بشه من سورس برنامه رو ميزارم دوستان كمك كنن
    $regfile = "M8def.dat"
    $crystal = 8000000
    Config Pind.0 = Input
    Config Pind.1 = Input
    Config Portb.0 = Output
    Config Portb.6 = Output
    Config Portb.7 = Output
    Config Debounce = 30
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , _
    Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    Config Lcd = 16 * 2
    Cls
    Cursor Off
    Locate 1 , 4
    Lcd "DESIGN OF"
    Waitms 150
    Home L
    Locate 2 , 1
    Lcd "ALI REZA"
    Waitms 400
    Cls
    Locate 1 , 5
    Lcd "PELIKAN"
    Locate 2 , 4
    Lcd "Ref . Sys"
    Waitms 400
    Cls
    Locate 1 , 3
    Lcd "TIMER 500 ms"
    Locate 2 , 5
    Lcd "ver:3.0"
    Waitms 400
    Cls
    Do
    Debounce Pind.0 , 0 , Khamosh , Sub
    Debounce Pind.0 , 1 , Roshan , Sub
    Debounce Pind.1 , 1 , Bemetal1 , Sub
    Loop
    End


    Roshan:
    Locate 1 , 4
    Lcd "TIMER RUN"
    Waitms 20
    Set Portb.6
    Waitms 50
    Set Portb.7
    Return


    Khamosh:
    Reset Portb.6
    Reset Portb.7
    Locate 1 , 4
    Lcd "TIMER OFF"
    Return


    Bemetal1:
    Set Portb.0
    Waitms 100
    Reset Portb.0
    Home L
    Lcd "desConnect Shunt"
    Return

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    راستش من نمی دونم که آیا دقیقا متوجه منظور شما شدم یا نه؟ ولی اگه بخواید یک پین رو روشن کنید و بعداز 15 ثانیه صفرش کنید باید از دستور WAIT 15 استفاده کنید.

    مثلا در قسمت Bemetal1 داریم :


    Bemetal1:
    Set Portb.0
    Waitms 100
    Reset Portb.0
    Home L
    Lcd "desConnect Shunt"
    reset portb.5
    wait 15
    set portb.5
    Return

    ولی فکر می کنم که مشکل شما اینه که اگر در حالیکه برنامه در حال Wait برای سپری شدن اون 15 ثانیه هست کلیدی فشار داده بشه میکرو متوجه نمیشه! اگه مشکلتون اینه باید برای کلیدها از وقفه استفاده کنید!
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  4. #3
    همکار M3R آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    مسعود
    نوشته ها
    710
    تشکر
    426
    تشکر شده 649 بار در 304 پست

    پیش فرض

    سلام
    ببخشید که تو کار اساتید دخالت میکنم.

    برای کلیدها از وقفه استفاده کنید!
    و میشه برای زمان 15 ثانیه از تایمر استفاده کرد.

  5. #4
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2009
    نوشته ها
    20
    تشکر
    3
    تشکر شده 3 بار در 2 پست

    پیش فرض

    سلام دوستان
    اگه عملکرد مدارو تشریح کنم شاید بتونید راحتر به من کمک کنید
    مدار تشکیل شده از 3 رله خروجی و 2 تک سوئیچ برای فرمان دادن
    در ابتدا زمانی که مدار روشن میشه یه سری اطلاعات اعم از ورژن و نام طراح رو نشون میده تا زمانی که به دستو do میرسه اگه وضعیت pind.0 صفر بود که دستور می پره به khamosh که portb.6 و portb.7 رو ریست میکنه و روی ال سی دی timer off مینویسه ولی اگه pind.0 یک شد دستور می پره به roshan که timer run رو روی ال سی دی نشون میده و اول portb.6 رو فعال میکنه و 50 میلی ثانیه بعد portb.7 رو فعال میکنه و جدای از این دو فرمان یه دستور دیگه داریم که با یک شدنpind.1 فعال شده و دستور میپره به bimetal که در اون portb.0 رو روشن میکنه و بعد از 100 میلی ثانیه اونو reset میکنه و روی ال سی دی desconnect shunt مینویسه. حالا قسمتی رو که میخوام به برنامه اضافه کنم اینه که زمانی که دستوری اجرا میشه اعم از زیر برنامه khamosh و roshan و bimetal یه pinخروجی مثلا portb.4 رو برای 15 ثانیه روشن کنه بعد ار 15 ثانیه خاموش شه که من این خروجی رو با یه ترانزیستور به پایه 15 ال سی دی وصل کنم میدونم که از timer0 باید استفاده کنم ولی دستورشو نمیدونم چطوریه. منتظر راهنمایی شما دوستان هستم

موضوعات مشابه

  1. برنامه و شماتيك براي درايور ssd1963
    توسط sadmonew در انجمن PIC
    پاسخ: 3
    آخرين نوشته: 14-09-2013, 09:14
  2. يه بازوي روباتيك مي خوام! كمك كنيد
    توسط pishro در انجمن موتورها و درایوها
    پاسخ: 6
    آخرين نوشته: 27-01-2012, 17:16
  3. رباتيك و plc
    توسط farhad_avr در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 1
    آخرين نوشته: 06-06-2010, 11:34
  4. نرم افزار روباتيك
    توسط ROBOMAN در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 2
    آخرين نوشته: 25-10-2008, 13:44
  5. نرم افزار روباتيك
    توسط ROBOMAN در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 03-08-2008, 12:25

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •