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

موضوع: يه مشكل

  1. #1
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض يه مشكل

    سلام يه پروژه ساعت رو سون سگمنت از يه سايت گرفتم.تو تحليلش كمي مشكل دارم.كسي ميتونه تحليلش كنه؟؟.اين ساعت فقط دقيقه و ساعت رو نشون ميده چيكارش كنم كه ثانيه رو هم نشون بده؟؟(همه اينا روي سون سگمنت بايد باشه)
    فايل بسكام اونو ميذارم
    فايل هاي پيوست شده فايل هاي پيوست شده

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

  3. #2
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    يكي نيست به داد ما برسه؟؟من توي دستورات زير مشكل دارم چون تا حالا باهاشون كار نكردم.
    $hwstack = 64
    $swstack = 64
    $framesize = 64

    Declare Sub Keyscan
    Declare Sub Refresh
    Declare Sub Send
    Declare Sub Wait4key
    Declare Sub Blink_sec

    Call Keyscan
    Call Refresh
    Call Blink_se

    و اينكه سير نشون دادن اين ساعت چطوريه.يعني ميكرو به چه شكلي با اين دستورات كار ميكنه

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


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

    پیش فرض

    در مورد سه دستور زیر اینجا توضیح دادم.

    $hwstack = 64
    $swstack = 64
    $framesize = 64

    بقیه هم دستور مجزایی نیستن بلکه توسط دستور Declare توابعی تعریف میشن و بعدا در طول برنامه هرجا که لازم بود توسط دستور Call فراخوانی میشن.

    کامپایلر بسکام برای پروژه ی ساعت و تاریخ یه سری دستورات خاص داره مثل time، $date$ و ... که برای اینکه بفهمید چطور کار می کنن باید به کتابخونه ی بسکام مراجعه کنید که به زبان اسمبلی هست.

    در برنامه ای که گذاشتید سیر نشون دادن ساعت بسته به نظر برنامه نویس هست.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  6. #4
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    اين برنامه چطور عدد رو روي سون سگمنت نشون ميده؟؟مثل جدول lookup مقدارهايي رو براي خروجي تعيين كرده ولي من lookup توي اين برنامه نميبينم.وسوال دومم اينه كه دستور sub - end sub چيكار ميكنه و براي چي به كار ميره مثل برنامه زير
    Sub Keyscan
    If Hour_key = 0 Then
    Incr _hour
    If _hour > 23 Then _hour = 0
    Call Wait4key
    End If
    If Min_key = 0 Then
    Incr _min
    If _min > 59 Then _min = 0
    Call Wait4key
    End If
    End Sub
    ویرایش توسط vahidasm : 20-04-2010 در ساعت 03:04

  7. #5
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    يكي نبود به داد ما برسه؟؟؟

  8. #6
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    دوستان خيييييييييييلي احتياجش دارم خيلي حياتيه

  9. #7
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    سلام دوست عزیز اگه میشه فایل پروتوس یا شماتیک مدار راهم بزارید.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  10. #8
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    من برنامه را براتون تصحیح کردم حالا ثانیه را هم نشون میده.اما شما لطف کنید اگه میشه شماتیک را بزارید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar saat.rar (10.2 کیلو بایت, 45 نمايش)
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


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


  12. #9
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    خيييييييييييييييييييييييي يييييي ......ييييلي ممنون.اينم فايل
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip saat.zip (46.0 کیلو بایت, 44 نمايش)

  13. #10
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    برنامه رو ديدم شبيه سازيش هم كردم خيلي عاليه دستتون درد نكنه بلاخره بعد از سه چهار روز يكي جواب ما رو داد. فقط يه سوال.اين برنامه چطور ساعت رو روي سون سگمنت نشون ميده؟؟من فقط مقادير رو براي خروجي مثل دستور lookup ميبينم ولي lookup تو اين برنامه نميبينم.بازم ممنون فايلي كه تو پست 9 گذاشتم مربوط به همون قديميه هست چند دقيقه ديگه فايل شبيه سازي شده همين برنامه كه شما زحمتش رو كشيديد ميذارم(بايد كمي جمع و جورش كنم)

  14. #11
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    اينم فايل شبيه سازي شده اصلي.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip sa at.zip (49.4 کیلو بایت, 33 نمايش)

  15. #12
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    ممنون قابلی نداشت.
    به این قسمت برنامه نگاه کن:
    Sub Refresh
    Comm = &B100000 : Dp = 0 : Temp = _hour \ 10 : Call Send
    Comm = &B010000 : Dp = 1 : Temp = _hour Mod 10 : Call Send
    Comm = &B001000 : Dp = 0 : Temp = _min \ 10 : Call Send
    Comm = &B000100 : Dp = 0 : Temp = _min Mod 10 : Call Send
    Comm = &B000010 : Dp = 0 : Temp = _sec \ 10 : Call Send
    Comm = &B000001 : Dp = 0 : Temp = _sec Mod 10 : Call Send
    End Sub

    درخط اول دستور comm==&b100000 پایه مشترک سون سگمنت مربوط به دهگان ساعت را فعال می کند.dp=0 مربوط به led چشمک زن هست.
    Temp = _hour \ 10 عدد ساعت را تقسیم بر 10 می کند و داخل متغیر temp قرار می دهد چون متغیر temp از نوع بایت تعریف شده فقط قسمت صحیح عدد که همان دهگان می شود در ان قرار می گیرد.call send زیر برنامه send را فراخوانی می کند.
    Sub Send
    Dataport = Lookup(temp , Segdata)
    If Dp = 1 Then
    Portd.7 = S
    Else
    Portd.7 = 1
    End If
    Waitms 4
    Dataport = &HFF
    End Sub
    در این زیر برنامه دستور lookup به برچسب segdata پرش میکند و با توجه به مقدار متغیر temp مقدار باینری not شده(چون سون سگمنت اند مشترک است)عدد temp را داخل dataport قرار می دهد که dataport در اول برنامه به پورت b نسبت داده شده بنابراین این عدد بر روی portb قرار میگیرد.قسمت بعدی این زیر برنامه مربوط به led هست که از توضیح ان میگذریم.بعد از گذشت 4 میلی ثانیه دستور Dataport = &HFF اجرا میشود که باعث خاموش شدن همه ی سون سگمنت ها می شود این عمل برای جلوگیری از تداخل در نمایش اعداد انجام می شود.با دستور end sub به زیر برنامه Refresh باز می گردیم.
    حال خط دوم اجرا می شود این بار سون سگمنت مربوط به یکان ساعت فعال می شود.و توسط دستور Temp = _hour Mod 10 که باقیمانده عدد ساعت تقسیم بر 10 را به temp بر می گرداند رقم یکان جدا می شود.و با پرش به زیر برنامه send عملیات بالا تکرار می شود.

    امیدوارم تونسته باشم مطلب را بیان کنم.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


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


  17. #13
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    ممنون.عاااااااااليه فك كنم فهميدم كه چي شد :d

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

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