ايران ويج

نسخه‌ی کامل: تايمر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
من يه برنامه ميخوام بنويسم كه وقتي تعداد دور موتور به 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?
شما در روال برنامه نويسي هم مشكل داريد ...

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

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

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

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

موفق باشيد.