ايران ويج

نسخه‌ی کامل: زمان دقیق با تایمر AVR
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
کریستال خارجی فرکانس بالاتر استفاده کنی بهتر نیست !
مثلا 11059200 هرتز !!!
یا 12 مگ !

البته 16 مگ پیشنهاد نمیشه !!!
چرا؟
شونزده مگ چه بدیی داره؟
البته باز اگه سوالم مسخرس لطفا نزن منو
نمی دونم !

ولی تست کردم میکرو زیاد هنگ می کرد !!

اینو ببین : http://www.iranled.com/forum/showthread.php?tid=17707
سلام و درود بر دوستان
از t3r!p3000 و moustafa بابت اين تايپيك مفيد تشكر مي كنمHappy
من هم دقيقا براي برنامه ام نياز به چنين تايمر دقيقي دارم كه بشود در خلال برنامه ازش نمونه گيري كرد
از همين تايپيك و چند منبع ديگه استفاده كردم و يه تايمر ساختم : اين تايمر بر روي پروتئوس خطا داشت ولي روي مدارم استفاده كردم و توي 2 ساعت كه گذاشتم 11 ثانيه خطا داشت كه برام كفايت ميكرد . تو برنامه اي كه گذاشتم بقيه برنامه را حذف كردم و تو پروتئوس و مدار چك كردم ولي ديگه تايمر تو مدار كار نميكنه ! اين اتفاق زماني روي داد كه ديگر امكانات برنامه از قبيل روتاري انكودر و pwm را وارد برنامه و مدار كردم ، خيلي تو برنامه تقلا كردم زمانيكه پرسكال pwm را كم مي كردم فركانس موتور خوب ميشد ولي فركانس مرور خطوط برنامه كند ميشد تا حتي در هر 2 ثانيه يك بار و برعكس !! هم از فيوز بيتهاي داخلي و هم خارجي استفاده كردم اما ... تا اينجا تايمر بر روي مدار كار ميكرد اما با خطا تا اينكه تصميم گرفتم تا ديگر تجهيزات را حذف و دوباره كار كنم از اينجا به بعد نميدونم چي شد كه تايمر در مدار از كار افتاد
كريستال در مدار 11059200 و كريستال ساعت 32768 را نيز تعويض كردم و با همه فيوزبيتها چك كردم اما تايمر فعال نشد ( تو پروتئوس كار ميكنه )Confused
از دوستان در حل اين مشكل ياري ميخوام . به نظرتون ممكنه برنامه ايراد داشته باشه يا فيوزبيتها اما تو پروتئوس خطا نده ؟ اگه امكانش هست خودتون تست كنيد تا معلوم بشه كار از كجا لنگ مي زنه !! كارم حسابي لنگ شدهSad

برنامه و پروتئوس

کد:
$regfile = "m32def.dat"
$crystal = 11059200

$hwstack = 480
$swstack = 30
$framesize = 48

Config Porta = Input
Config Portc = Output
Config Portb = Output
config PORTd.0 = OUTPUT
config PORTd.4 = OUTPUT
config PORTd.5 = OUTPUT
config PORTd.7 = OUTPUT
config PORTd.3 = input

CONFIG TIMER2 = TIMER , ASYNC = ON , PREACALE = 1
Enable Interrupts
Enable Timer2
On Timer2 R
Timer2 = 227

Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.5 , Db7 = Pinb.6 , E = Pinb.4 , Rs = Pind.0

Cursor off

'=============================================

Dim Time2 As Word , sanie as word , dag as Byte

'//////////////////////////////////////////////////////
dag = 0
sanie = 0
'==============================================
do

Locate 1 , 10
Lcd Time2
locate 2 , 10
lcd sanie
locate 3 , 10
lcd dag

loop
end

'///////////////////////////////////////////////////////////////////////////////////

R:

Timer2 = 227
time2 = time2 + 1
sanie = time2 / 1000
if time2 = 60000 then
incr dag
time2 = 0
end IF
Return
اگه شما هم پيوست را نميبينيد بگيد تا آپلود كنم
دوستان مشكل حل شدHappy
ايراد از جامپر پروگرمر بود ! براي فركانس بالاي 2 مگاهرتز بايد جامپر برداشته مي شد !Whistle
فيوزبيت هم كريستال خارجي فركانس متوسط گذاشتم ( 1011 ) مشكل مرور برنامه و pwm هم حل شد


سلام

مبارکه ....

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


(۰۱-آبان-۱۳۹۰, ۱۰:۰۹:۱۸)Dadshah نوشته است: [ -> ]

سلام

مبارکه ....

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


سلام دوست من
براي ساخت تايمر دقيق كد برنامه بالا كفايت ميكنه
چون بقيه مدار در حوصله اين بحث نبود اينجا نذاشتم شماتيك پروتئوس را در زير ميتوني ببيني
http://www.iranled.com/forum/thread-21837.html
اما اصل كد برنامه فعلا ...
صفحه‌ها: 1 2