با سلام
من دستورات برنامه اي را مي خواهم كه بتواند موتور پله اي چهار سيمه بر روي پورت دوم را با سرعت ده دور بر ثانيه حركت دهد. در اين برنامه فقط از آكامالاتور و يك رجيستر sfr استفاده شود . برنامه به زبان اسمبلي باشد. با تشكر
با سلام
من دستورات برنامه اي را مي خواهم كه بتواند موتور پله اي چهار سيمه بر روي پورت دوم را با سرعت ده دور بر ثانيه حركت دهد. در اين برنامه فقط از آكامالاتور و يك رجيستر sfr استفاده شود . برنامه به زبان اسمبلي باشد. با تشكر
نوع موتور و دستورالعملهاش هم نیازه.
ضمن اینکه شما اینجا فقط میتونید درخواست راهنمائی کنید نه نوشتن کامل ....
You never know what you can do until you try
با سلام و با عرض ادب و احترام و خسته نباشيد
به عرض مي رسانم نوع موتور مهم نيست فقط راهنمائي در خصوص نوشتن برنامه و يا خود برنامه را براي من زحمت بكشيد . با تشكر
با عرض ادب:
روی چه کنترلری؟
به هر حال با جستجوی ساده ای حتی در سایتهای فارسی منابع زیادی در این زمینه پیدا خواهید کرد. نمونه:
http://www.forum.microrayaneh.com/vi...php?f=10&t=184
ایضا:
http://www.programmersheaven.com/dow.../download.aspx
یه ... ...
one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. -- Robert Firth
mov a,#66h ; load step sequence
bavck: mov p1,a ;issue sequence to motor
RR A ; ROTATE RIGHT CLOCKWISE
ACALL DELAY ; WAIT
SJMP BACK ; KEEP GOING
...
DELAY
moV R2,#100
h1 : MOV R3 ,H2
h2: djnz r3.h2
djnz r2,h1
retبا سلام من اين برنامه را نوشتم اولاً تعداد دور را چگونه حساب كنم چون در سوال اوليه گفته شده ده دور بر ثانيه و در صورت محسابه ده دور بر ثانيه آن را كجا به كار ببرم
با عرض ادب:
در وحله اول شما طرز کار موتور پلهای را به دقت مطالعه کنید تا ببینید که از میکرو انتظار دارید در چه زمانهایی٬ چه خروجیهایی تولید کند. بعد از آن با تنظیم روتین Delay (و با توجه به کلاک کنترلر و سرعت اجرای دستورات این روتین) خروجیهای مطلوب را در زمانهای مقتضی روی پورت خروجی قرار دهید.
یه ... ...
one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. -- Robert Firth
با سلام
از عنايتي كه مي فرمائيد كمال تشكر و قدر داني را دارم.
سلام
اولا خدمت دوست عزیزم اینو بگم که معمولا متو پله ای سرعت کمی داره و بعید میدونم بهتونی 10 دور بر ثانیه ازش بگیری، باید خیلی دقت کنی تو ساخت درایورش. چون درایورش تو سرعتش خیلی تاثیر داره. اینم برنامش با 8051
هر مرتبه از حلقش یک پله میشه. ببین متورت چند پله هست. معمولا 200 پله هستند یعنی 1.8 درجه. اگه 200 بار حلقه تکرار بشه میشه یک دور. مقدار Dellay سرعتشو تنظیم میکنه. اونم بستهگی به کریستالش داره که من یه چیزی نوشتم که واسه تست کار کنه. اگه نتونستی تنظیمش کنی مشخصات رو کامل من.
REP: MOV A,#11H
MOV P2,A
DIRECTION: RR A
ACALL DELAY
JMP REP
DELLAY: MOV R0,#255
REP2: NOP
NOP
NOP
NOP
NOP
DJNZ R0,REP2
RET
END
ببخشید یادم رفت بگم که خط Direction واسه جهت کرکت متور هست. با RR یا RL میشه جهت حرکت رو کنترول کرد.