امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تايمر
نویسنده پیام
NOMERCY1239 آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 9
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 13
( 5 تشکر در 2 ارسال )
ارسال: #1
تايمر
من يه برنامه ميخوام بنويسم كه وقتي تعداد دور موتور به 100رسيد موتور توسط P0.0خاموش بشه سنسور چرخش موتور به گونه اي كه به ازاي چرخش هر دور موتور 4 پالس لبه پايين رونده ميدهد من تا يه جاهايشو نوشتم
include<lpc23xx.h#
IO DRR0=0X01//ENTEKHAB P0.0 VASE KHOROJI
PINSEL3=0X03//SELECT CAP1.0
T1CTCR=0X02//LABE PAIN RAVANDE
T1PR=NEMIDONAM
TIMR3=NEMIDONAM
T1MCR=0x800
ioset0=0x01;
halqe while nemidonam chi bezaram?
۰۳-شهریور-۱۳۹۱, ۲۱:۵۶:۳۷
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #2
RE: تايمر
شما در روال برنامه نويسي هم مشكل داريد ...

پالس هاي ايجاد شده رو مي شماريد ،‌اگر از شمارنده سخت افزاري استفاده مي كنيد، پيكربندي تايمر رو انجام بديد و پالس ورودي براي شمارش رو به پايه ي مربوطه براي شمارش سخت افزاري وصل كنيد ( پايه اي كه در پيكربندي مشخص كرديد ) اگر نه كه به يه پايه ي معمولي كه به صورت ورودي پيكربندي شده هست وصل كنيد.

برنامه ي ميكرو كه بايستي در يك حلقه ي بينهايت باشه ، مثلا while با شرط 1

در اين برنامه براي سادگي مي تونيد مقدار شمارش شده رو مرتب چك كنيد و با گذاشتن يك شرط ، چك كنيد كه تعداد شمارش 400 شده يا نه .
اگر شده كه موتور خاموش ، اگر نه كه هيچ ...

مقادير كانفيگ ريجسترهاي مربوطه رو هم يا از توي يك كتاب و يا datasheet چك كنيد.

موفق باشيد.

۰۵-شهریور-۱۳۹۱, ۱۱:۲۶:۲۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : NOMERCY1239


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS