NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4477 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 21

موضوع: مشکل در بسکام ir-remote

  1. #1
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    Thumbs down مشکل در بسکام ir-remote

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

    $regfile = "m32def.dat"
    $crystal = 4000000
    $baud = 19200
    $hwstack = 32

    $swstack = 10

    $framesize = 40

    Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pinb.1 , Db6 = Pinb.2 , Db7 = Pinb.3 _
    , E = Pind.4 , Rs = Pind.6


    Config Portc = Output

    $lib "mcsbyte.lbx"



    Config Portd.2 = Input
    Pind.2 = 1

    Config Rc5 = Pind.2


    Enable Interrupts


    Dim Address As Byte , Command As Byte
    Cls : Home : Lcd "TEST OK"

    Wait 2
    Cls
    Do

    Getrc5(address , Command)



    If Address = 0 Then
    Cls : Home : Lcd "RECIVE DATA"
    Toggle Portc
    Wait 1
    End If

    If Address = 1 Then
    Cls : Home : Lcd "RECIVE DATA"
    Toggle Portc
    Wait 1
    End If

    If Address = 3 Then
    Cls : Home : Lcd "RECIVE DATA"
    Toggle Portc
    Wait 1
    End If

    If Address = 13 Then
    Cls : Home : Lcd "RECIVE DATA"
    Toggle Portc
    Wait 1
    End If

    Waitms 5



    Loop

    End
    یا حق

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

  3. #2
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    من خودم قبلا با این چشمی ها و ریموت ها کار کردم و دو تا مورد مهم فعلا به ذهنم میرسه :
    1- در هنگام خرید چشمی از فروشنده بخوایید که چشمی پارس براتون بیاره ( به این اسم معروفه )
    2- مقدار کریستال توی کار خیلی تاثیر داره و ممکنه شما فیوز بیت مربوط به کریستال رو به درستی پروگرام نکرده باشید ( در صورت برنامه ریزی صحیح وقتی کریستال رو از میکرو جدا میکنی ، میکرو خاموش میشه )
    برنامه شما هم یه مشکل داره :
    If Address = 13 Then
    If Address = 1 Then
    If Address = 3 Then
    ایا شما میدونید که خروجی کنترل تلویزیون سامسونگ داده های 13 و 1 و 3 رو به ازای فشردن کلید های مختلف منتشر میکنه ؟ ( معمولا توی خروجی یک دسته پالس ایجاد میشه که در اون داده ی اصلی که بر طبق استاندارد سامسونگ کد شده وجود داره و قطعا مقدار نهایی اونا 1 و 3 و 13 نیست ) .

  4. کاربران : 2 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  5. #3
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    شاید هم چشمی شما در فرکانسی کاری ریموت شما نباشه
    چشمی ها هر کدوم برای یه گستره فرکانسی ساخته شدن
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  6. تشکرها از این نوشته :


  7. #4
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    Thumbs up

    من هم از چشمی پالس استفاده میکنم ...
    یه سوال :
    من از اسیلاتور داخلی استفاده میکنم ... . مشکلی که نداره؟( یا باید از کریتستال خارجی استفلده کنم؟ )
    کنترل سامسونگ نمیشه؟؟؟
    اخه من چندتا از انجمن های دیگه خونده بودم میشه .....و در مورد 1و13و3 در help بسکام به این صورت نوشته شده:
    'we check for the TV address and that is
    If Address = 0 Then
    .
    .
    .
    با تشکر

  8. #5
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    چشمی پارس درسته نه پالس

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

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

    جایی دیدی که کنترلر سامسونگ از این استفاده می کنه ؟
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  9. کاربران : 2 تشکر کرده اند از شما Aghaeifar برای ارسال این پست سودمند:


  10. #6
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    پیش فرض

    اشتباه تایپی شده بود (چشمی پارش).
    من از بسکام استفاده میکنم ....بسکام= همه چیز اماده
    من اصلا نمی دونم چه طوری مدولاسیون می شه و فرکانس چنده = بسکام
    راستی .... کنترل سونی رو هم امتحان کردم ......جواب نداد
    من سعی میکنم فرسنده پارس رو تهیه کنم و ب........
    تشکر بخاطر عنایت به سوالات
    بای

  11. #7
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    فرستنده خاصی نداره بری بگی LED مادون قرمز می خوای بهت می دن باید led رو تا حد مناسبی روبروی چشمی بذاری (چون به تمام 360 درجه ارسال نمی کنه )
    اگر میخ واهی این طور راه بندازی من قبلا در همین سایت مقاله تحت عنوان " سرعت سنجی با TSOP " گذاشتم فکر کنم همین بود عنوانش . اون جا یه چیز هایی نوشتم شاید کمی به دردت بخوره

    برای مدوله این کار رو بکنه
    یک موج مثلا 38 کیلو درست می کنی و اون رو با داده ی خروجی پورت سریالت که حاوی اطلاعاته and می کنی وقتی که این موج 38 کیلو ی تو در سطح 1 هست داده ی سریالت ارسال می شه و در غیر این صورت خروجی and می شه صفر .
    ویرایش توسط Aghaeifar : 15-05-2010 در ساعت 02:05
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

  12. کاربران : 2 تشکر کرده اند از شما Aghaeifar برای ارسال این پست سودمند:


  13. #8
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2010
    نوشته ها
    21
    تشکر
    12
    تشکر شده 21 بار در 13 پست

    پیش فرض

    سلام
    شما از RC5 استفاده کردید.
    حالا باید کنترول سامسونگ هم RC5 باشه و اگر نباشه اصلا با هم مچ نخواهند بود. هر دستگاهی پروتکول خاص خودش رو داره و اصلا با هم سازگار نیستند. تو اینترنت انواع این ارتباط ها برای هر دستگاهی پیدا می شه. اول باید نوع کنترول رو مشخص کنید که برای چه شرکتی است. بعد نحوه کارش رو مطالعه فرمایید. و اقدام به ساختش کنید.
    من قبلا یه پروژه ای با نام "شبیه ساز کنترل TV,Camera,mp3 Player و ... ." رو ساخته بودم. با هر کنترولی میشد باهاش کار کرد. البته جای زیادی برای ارتقا داره. نگاهی بهش بنداز شاید به کارت بیاد. کد هم برای Bascom بوده.
    http://iranled.com/node/91

  14. کاربران : 3 تشکر کرده اند از شما Pardazesh-Gar برای ارسال این پست سودمند:


  15. #9
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    پیش فرض

    یک موج مثلا 38 کیلو درست می کنی و اون رو با داده ی خروجی پورت سریالت که حاوی اطلاعاته and می کنی وقتی که این موج 38 کیلو ی تو در سطح 1 هست داده ی سریالت ارسال می شه و در غیر این صورت خروجی and می شه صفر .
    دوستان..پاسخ ها خیلی عالی بود.....
    ولی من از بسکام استفاده می کنم یعنی با یه دستور خودش همه چیز رو مدوله میکنه ........تا اخرش حله ...
    و با یه دستور هم اطلاعات پروتکل rc5 رو دریافت میکنه....لازم نیست مراحلی که دوستان گفتند..........!
    حالا یه سوال از کجا بفهمیم که کنترل های تلویزیون و ویدیو و کلا" کنترل وسایل صوتی و تصویری از چه پروتکل استفاده می کنند؟؟
    مثلا یه کنترلی که از rc5 استفاده میکنه؟.......

  16. #10
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2010
    نوشته ها
    21
    تشکر
    12
    تشکر شده 21 بار در 13 پست

    پیش فرض

    سلام دوست من
    پیشنهاد می کنم اول این برنامه رو دانلود کن.
    miscellaneous electronic calculations برنامه کوچولو و خوبی :D.
    http://www.miscel.dk/MiscEl/MiscEl.zip
    بعد از دانلود منوی MPU و بعد serial communication رو انتخاب کن. حالا پروتکل های IR رو می تونی تماشا کنی. سمت راست پنجره هم زمانبندی رو به طور دقیق نوشته.
    تو این برنامه من هیچ کنترولی رو ندیدم که RC5 باشه. حالا چاره چیست؟
    برای اینکه دستگاهت رو به IR مجهز کنی دو راه وجود داره.
    1. استفاده از بیسکام و RC5. (مجبوری فرستنده رو هم خودت با همون سیستم RC5 بسازی).
    2. استفاده از کنترول دستگاه مورد نظر خودت و مطالعه پروتکلش و نوشتن برنامه گیرنده مخصوص (با نون اضافه ).

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

  17. کاربران : 3 تشکر کرده اند از شما Pardazesh-Gar برای ارسال این پست سودمند:


  18. #11
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    پیش فرض

    این برنامه رو نصب کردم ( بگو خوب)
    من روی IR SOMSUNG کلیک میکنم صفحه سفید میشه .... عکسشو میزارم یه زحمت بکش یه نگاهی بنداز..
    http://rapidshare.com/files/38855144...40847.jpg.html
    یه سوال :
    این چشمی پارس فقط از RC5 پشتیبانی میکنه ؟؟؟ یعنی من اگه با یه کنترل دیگه .... اطلاعات رو بفرستم با چه(چشمی) چیزی دریافت کنم ؟ بعدش باید برنامه رو دریافت کننده رو برای میکرو ترجمه کنم .......همینطوره(؟).
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 2010-05-18_040847.jpg
مشاهده: 35
حجم: 23.3 کیلو بایت  

  19. کاربران : 2 تشکر کرده اند از شما MEYSAMHL برای ارسال این پست سودمند:


  20. #12
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2010
    نوشته ها
    21
    تشکر
    12
    تشکر شده 21 بار در 13 پست

    پیش فرض

    خوب
    کامپیوتر شما خراب دیگه . هیچ خطای هم نداد؟ فکر کنم با دلفی نوشتن. نمی دونم چرا جواب نداد.
    ببین برای این که کار راحت بشه از دیکودر IR استفاده می کنیم. پروتکل RC5 خودش یه چیز فرکانس حامل هم چیز دیگه.
    فرکانس حامل کنترل ها
    36kHz=RC5
    38kHz=NEC
    38kHz=Samsung
    40kHz=Sony

    این رو نگاه کن خیلی زیبا نمایش میده.

    راستی توجه داشته باش در تصویر بالا خروجی معکوس(اکثر دیکودر ها همینطور اند) یعنی زمانی که پالس وجود داره خروجی صفر است.

    این دیکودر ها دیتاشیت دارند. اما من مدلی که دارم بی اسم و نشونه عکسش رو میزارم. (احتمالا برای Sony)
    من پروژه ای که ساخته بودم می تونست با همه کنترل ها کار کنه یعنی این دیکودر اکثر فرکانس های حامل رو دیکود می کرد . فاصله پالس ها 20 تا 30 میکرو ثانیه هم کم و زیاد میشد باز هم جواب میداد . یعنی خیالت راحت، راحت نتیجه میگیری.
    یعنی برای آزمایش کردن لازم نیست حتما همون مدل باشه. اما بهتر دیکودر مربوط به همون کنترل رو بگیری.
    بهترین کار اینه که برید نمایندگی تعمیرات بپرسید دیکودر IR رو دارید بعد اونا میگن نداریم. بعدش یه خیابون بالاتر یه تعمیرات لوازم صوتی تصویری هست آدم مهربونی پیش اون برید راهنمایی تون می کنه :D.

    از نوشته هاتون متوجه شدم علاقه مندید با کنترل Samsung کار کنید! درسته؟
    این عکس رو نگاه کن
    http://www.parsigold.org/up/images/p...unqtinz9z5.jpg

  21. کاربران : 3 تشکر کرده اند از شما Pardazesh-Gar برای ارسال این پست سودمند:


  22. #13
    کاربر علاقه مند MEYSAMHL آواتار ها
    تاریخ عضویت
    Aug 2009
    نوشته ها
    69
    تشکر
    36
    تشکر شده 28 بار در 22 پست

    پیش فرض

    دوست عزیر تا اینجا که خیلی عالی بود.....
    اول راجع به فرستنده ؟:
    من چون با بسکام کار کردم زیاد درگیر کریر و .... نبودم ....فرض کن من میخوام عدد "یک" رو از روی کنترل سامسونگ بفرستم...
    اول باید با تایمر (فرض: کنترل رو خودم درست کنم) فرکانس 38khz رو درست کنم .....از مدولاسیون عرض پالس استفاده میکنه ؟راستی باید 12 تا پالس بفرستم درسته ؟منظورش از manufactor و command چیه ؟ دکمه" یک" روی کنترل مربوط به manufactor یا command ؟
    یه برنامه مبتدی هم نوشتم ....ایا این برنامه برای کنترل عرض هر پالس درسته ؟ یعنی پالس به پالس رو میشه با این برنامه کنترل کرد ؟ من توی این برنامه فقط عرض 3 تا پالس رو کنترل کردم ؟ ایا از همچین روشی استفاده میشود ؟
    اینم از برنامه :
    http://rapidshare.com/files/388912620/bascom.rar.html
    بحث شیرینیه ....
    واقعا نمی دونم چطوری از شما تشکر کنم که با صبر و حوصله پاسخ میدید . . .. . . . .
    ویرایش توسط MEYSAMHL : 19-05-2010 در ساعت 02:52

  23. کاربران : 2 تشکر کرده اند از شما MEYSAMHL برای ارسال این پست سودمند:


  24. #14
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2010
    نوشته ها
    21
    تشکر
    12
    تشکر شده 21 بار در 13 پست

    پیش فرض

    Manufactur هم یک داده است و اسمی است که برای 12 بیت اول گذاشتن. مهم اینه که تمام بیت ها دریافت بشه.
    دکمه "یک" روی کنترل به این معنا نیست که کد اون هم عدد یک باشد.
    ابتدا برنامه رو شکلی بسازید که داده ها رو دریافت و به کامپیوتر انتقال دهد اینجوری میشه کد کلید ها رو ببینیم. راه دیگه و ساده تر استفاده از اسیلوسکپ.
    راستش من درست متوجه نشدم مگه قرار نیست گیرنده رو درست کنیم. با این برنامه می خواستید چیکار کنید؟ شبیه به فرستنده بود.
    فقط کافی از timer و int استفاده کنید. int رو روی any change قرار میدید. شروع و پایان هر پالس بر عهده INT است. timer هم برای اندازه گیری طول هر پالس استفاده میشه.
    چند تا عکس آماده می کنم و می فرستم.

  25. کاربران : 2 تشکر کرده اند از شما Pardazesh-Gar برای ارسال این پست سودمند:


  26. #15
    کاربر علاقه مند بی مخ! آواتار ها
    تاریخ عضویت
    May 2011
    نوشته ها
    83
    تشکر
    56
    تشکر شده 54 بار در 30 پست

    پیش فرض

    سلام خدمت دوستان و اساتید عزیز،
    من از یه فرستنده 3 میل ساده و یه چشمی پارس برای سند و رسیو استفاده کردم. مدار فرستندم درست کار می کنه و میفرته و میدونم که چشمی هم میگیره پالس ها رو (ال ای دی تو راهش گذاشتم) ولی مشکلم اینجاس که برنامه گیرنده انجام نمیشه!
    از کریستال داخلی استفاده کردم جواب نداد، از کریستال خارجی و با فیوزبیت های درست استفاده کردم بازم جواب نداد.
    برنامه هم دقیقاً همون برنامه توی راهنمای بسکام و مدارات هم دقیقاً هموناس!
    کسی می دونه مشکل از کجاس؟!!

    با تشکر
    . . . پــــــــــشـــــــــــــتــــــــــــکـــــــــــــــار . . .

    بریم STM32

  27. تشکرها از این نوشته :


  28. #16
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    سلام اگه شماتیک رو بفرستی خیلی بهتر میشه کمک کرد
    از کدوم پورت ها استفاده کردی؟ از PortC که استفاده نکردی احیاناً؟

  29. تشکرها از این نوشته :


  30. #17
    تازه وارد
    تاریخ عضویت
    Jul 2011
    نوشته ها
    1
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    سلام
    توضیحات دوستان همه به جای خود درسته ولی چند تا نکته هست که باید بدونیم
    1.خیلی از کمپانی ها از پروتکل RC6 به جای RC5 استفاده میکنن مثل سونی پس تعجبی نداره که جواب نداده
    2.هر ریموت کنترلی ادرس مخصوص خودش رو داره شما میتونی برای خواندن ادرس به جای اینکه عدد ادرس رو شرط کنی هم ادرس هم کامند رو روی ال سی دی نمایش بده تا بتونی ادرس رو بخونی
    3.برای شبیه سازی ریموت کنترل سونی دستوری هست به نام sonysend تمام کد هاش رو میذارم
    Action
    Sends Sony remote IR code.


    Syntax
    SONYSEND address [, bits]


    Uses
    TIMER1


    Remarks
    Address
    The address of the Sony device.
    bits
    This is an optional parameter. When used, it must be 12, 15 or 20.

    Also, when you use this option, the address variable must be of the type LONG.


    SONY CD Infrared Remote Control codes (RM-DX55)
    Function
    Hex
    Bin
    Power
    A91
    1010 1001 0001
    Play
    4D1
    0100 1101 0001
    Stop
    1D1
    0001 1101 0001
    Pause
    9D1
    1001 1101 0001
    Continue
    B91
    1011 1001 0001
    Shuffle
    AD1
    1010 1101 0001
    Program
    F91
    1111 1001 0001
    Disc
    531
    0101 0011 0001
    1
    011
    0000 0001 0001
    2
    811
    1000 0001 0001
    3
    411
    0100 0001 0001
    4
    C11
    1100 0001 0001
    5
    211
    0010 0001 0001
    6
    A11
    1010 0001 0001
    7
    611
    0110 0001 0001
    8
    E11
    1110 0001 0001
    9
    111
    0001 0001 0001
    0
    051
    0000 0101 0001
    >10
    E51
    1110 0101 0001
    enter
    D11
    1101 0001 0001
    clear
    F11
    1111 0001 0001
    repeat
    351
    0011 0101 0001
    disc -
    BD1
    1011 1101 0001
    disc +
    H7D1
    0111 1101 0001
    |<<
    0D1
    0000 1101 0001
    >>|
    8D1
    1000 1101 0001
    <<
    CD1
    1100 1101 0001
    >>
    2D1
    0010 1101 0001



    SONY Cassette
    RM-J901)

    Deck A


    stop
    1C1
    0001 1100 0001
    play >
    4C1
    0100 1100 0001
    play <
    EC1
    1110 1100 0001
    >>
    2C1
    0010 1100 0001
    <<
    CC1
    1100 1100 0001
    record
    6C1
    0110 1100 0001
    pause
    9C1
    1001 1100 0001
    Dec B


    stop
    18E
    0001 1000 1110
    play >
    58E
    0101 1000 1110
    play <
    04E
    0000 0100 1110
    >>
    38E
    0011 1000 1110
    <<
    D8E
    1101 1000 1110
    record
    78E
    0111 1000 1110
    pause
    98E
    1001 1000 1110


    ---[ SONY TV Infrared Remote Control codes (RM-694) ]--------------------------

    program + = &H090 : 0000 1001 0000
    program - = &H890 : 1000 1001 0000
    volume + = &H490 : 0100 1001 0000
    volume - = &HC90 : 1100 1001 0000
    power = &HA90 : 1010 1001 0000
    sound on/off = &H290 : 0010 1001 0000
    1 = &H010 : 0000 0001 0000
    2 = &H810 : 1000 0001 0000
    3 = &H410 : 0100 0001 0000
    4 = &HC10 : 1100 0001 0000
    5 = &H210 : 0010 0001 0000
    6 = &HA10 : 1010 0001 0000
    7 = &H610 : 0110 0001 0000
    8 = &HE10 : 1110 0001 0000
    9 = &H110 : 0001 0001 0000
    0 = &H910 : 1001 0001 0000
    -/-- = &HB90 : 1011 1001 0000


    For more SONY Remote Control info:
    http://www.fet.uni-hannover.de/purnhage/


    The resistor must be connected to the OC1A pin. In the example a 2313 micro was used. This micro has pin portB.3 connected to OC1A.
    Look in a data sheet for the proper pin when used with a different chip.

    An IR booster circuit is shown below:





    See also
    CONFIG RC5 , GETRC5 , RC5SEND , RC6SEND


    Example
    '-----------------------------------------------------------------------------------------
    'name : sonysend.bas
    'copyright : (c) 1995-2005, MCS Electronics
    'purpose : code based on application note from Ger Langezaal
    'micro : AT90S2313
    'suited for demo : yes
    'commercial addon needed : no
    '-----------------------------------------------------------------------------------------

    $regfile="2313def.dat"' specify the used micro
    $crystal= 4000000 ' used crystal frequency
    $baud= 19200 ' use baud rate
    $hwstack= 32 ' default use 32 for the hardware stack
    $swstack= 10 ' default use 10 for the SW stack
    $framesize= 40 ' default use 40 for the frame space


    ' +5V <---[A Led K]---[220 Ohm]---> Pb.3 for 2313.
    ' RC5SEND is using TIMER1, no interrupts are used
    ' The resistor must be connected to the OC1(A) pin , in this case PB.3

    Do
    Waitms 500
    Sonysend&HA90
    Loop
    End

    تو help بسکام همش هست

    اینم یه برنامه فرستنده گیرنده که کار میکنه

    فرستنده
    $regfile = "M8def.dat"
    $crystal = 8000000
    Dim Togbit As Byte , Command As Byte , Address As Byte
    Command = 12 ' power on off'
    Togbit = 0 ' make it 0 or 32 to set the toggle bit
    Address = 0
    Config Kbd = Portb

    Main:
    Command = Getkbd()
    If Command > 15 Then Goto Main

    Waitms 500
    Rc5send Togbit , Address , Command
    Goto Main
    End


    گیرنده
    $regfile = "M16def.dat"
    $crystal = 1000000
    $lib "mcsbyte.lbx"
    Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7_
    = Pinc.0 , Rs = Pinc.5 , E = Pinc.4
    Config Waitlcd = 100ms
    Config Lcd = 16 * 2
    Config Rc5 = Pina.0
    Enable Interrupts

    Dim Address As Byte , Command As Byte
    Lcd "Waiting for RC5..."
    Main:
    Do
    Getrc5(address , Command)
    If Address = 0 Then
    ' Command = Command And &B01111111
    Select Case Command
    Case 0 : Command = 8
    Case 1 : Command = 9
    Case 2 : Command = 10
    Case 3 : Command = 11
    Case 4 : Command = 4
    Case 5 : Command = 5
    Case 6 : Command = 6
    Case 7 : Command = 7
    Case 8 : Command = 12
    Case 9 : Command = 13
    Case 10 : Command = 14
    Case 11 : Command = 15
    Case 12 : Command = 0
    Case 13 : Command = 1
    Case 14 : Command = 2
    Case 15 : Command = 3
    End Select

    Cls
    Lcd "The Data Is:" ; Command
    End If
    Loop
    End

  31. کاربران : 3 تشکر کرده اند از شما rezakb برای ارسال این پست سودمند:


  32. #18
    کاربر علاقه مند بی مخ! آواتار ها
    تاریخ عضویت
    May 2011
    نوشته ها
    83
    تشکر
    56
    تشکر شده 54 بار در 30 پست

    پیش فرض

    والا من همون مدار رو قفط یه lcd بش اضافه کردم تونستم دستور و آدرس رو ببینم. نمی دونم اون موقع مشکلش چی بود!!!
    بازم ممنون از راهنمایی هاتون.
    . . . پــــــــــشـــــــــــــتــــــــــــکـــــــــــــــار . . .

    بریم STM32

  33. #19
    کاربر فعال mehrdad22 آواتار ها
    تاریخ عضویت
    Nov 2011
    نام
    مهرداد بابایی
    نوشته ها
    168
    تشکر
    184
    تشکر شده 144 بار در 96 پست

    پیش فرض راه اندازی lcd با 4 دگمه

    سلام به همه دوستان
    من توی یک برنامه ساده موندم
    چهار تا دگمه دارم و یک ال سی دی
    حالا میخوام داخل برنامه (درحالی که برنامه درحال اجراست) وقتی عملیات فشرده شدن کلید ها انجام میشه برنامه تغییر کنه و مثلا دگمه اول فشرده شد یه عبارتی و اگه کلید دوم فشرده شد یه عبارت دیگه و غیره

    این کد رو خودم نوشتم ایراد برنامه کجاست؟
    این برنامه کار میکنه ولی مثلا کلید اول فشارداده میشه کلمه رو مینویسه ولی در حین اجرا شدن کلید اول رو غیرفعال میکنم و کلید دوم رو میزنم جواب نمیده

    کد:
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Portd = Output
    Config Portb = Input
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.1 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
    
    Dim A As Bit
    Dim B As Bit
    Dim C As Bit
    Dim D As Bit
    
    A = Pinb.0
    B = Pinb.1
    C = Pinb.2
    D = Pinb.3
    
    Cursor Off
    
    If A = 1 Then
    Locate 1 , 1
    Lcd "mehrdad"
    End If
    
    
    If B = 1 Then
    Locate 1 , 8
    Lcd "ali"
    End If
    
    If C = 1 Then
    Locate 2 , 1
    Lcd "hassan"
    End If
    
    If D = 1 Then
    Locate 2 , 8
    Lcd "mamad"
    End If
    
    End

  34. #20
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    البته بايد يادآوري كنم كه اين موضوع به سوال شما ارتباطي نداره. اما جواب سوال:
    دوست عزيز برنامه رو داخل حلقه بذاريد. به اين صورت:
    کد:
    $crystal = 8000000
    
    Config Portd = Output
    Config Portb = Input
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.1 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
    
    Dim A As Bit
    Dim B As Bit
    Dim C As Bit
    Dim D As Bit
    
    A = Pinb.0
    B = Pinb.1
    C = Pinb.2
    D = Pinb.3
    
    Cursor Off
    
    Do
    
    If A = 1 Then
    Locate 1 , 1
    Lcd "mehrdad"
    End If
    
    
    If B = 1 Then
    Locate 1 , 8
    Lcd "ali"
    End If
    
    If C = 1 Then
    Locate 2 , 1
    Lcd "hassan"
    End If
    
    If D = 1 Then
    Locate 2 , 8
    Lcd "mamad"
    End If
    
    Loop
    ویرایش توسط sadmonew : 15-01-2012 در ساعت 23:19
    _____________________________________
    _____________________________________

صفحه 1 از 2 12 آخرینآخرین

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

  1. پروتئوس+ Remote Controlled Digital Clock (فوری)
    توسط dlydavood در انجمن 8051
    پاسخ: 11
    آخرين نوشته: 07-02-2010, 19:53

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

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