سلام.یه سوال دارم نمیدونم اینجا میشه بحث کرد یا نه.ولی چرا من به پورت های portc.6 & portc.7 از هرجای برنامه فرمان میدهم روشن نمیشوند.(ATmega 16) ضمنا از وقفه ها هم استفاده کرده ام--- آیا این پورتها کاربرد خاصی دارند (tosc1 tosc2 یعن چه)
سلام.یه سوال دارم نمیدونم اینجا میشه بحث کرد یا نه.ولی چرا من به پورت های portc.6 & portc.7 از هرجای برنامه فرمان میدهم روشن نمیشوند.(ATmega 16) ضمنا از وقفه ها هم استفاده کرده ام--- آیا این پورتها کاربرد خاصی دارند (tosc1 tosc2 یعن چه)
سلام
اگه شما از تایمر دو در مد سنکرون استفاده کرده باشید ، این دو تا پایه به عنوان ورودی کریستال ساعت (11.762 کیلو هرتز ) پیکربندی میشن و دیگه نمیشه از اونا به عنوان ورودی / خروجی استفاده کرد .
بهتره برای تاپیک های که ارسال میکنید ، عنوان مناسب تر انتخاب کنید . برای کسب اطلاعات بیشتر مطالب موجود در امضای من رو مطالعه کنید .
من هیچ تایمری را تنظیم نکردم .البته نمیدانم وقفه های فعال شده جزو تایمرها هستند یا نه
$regfile = "m16def.dat"
$crystal = 8000000
Config Porta = Input
Config Porta.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.5 = Output
Config Portc.6 = Output
Config Portc.7 = Output
Config Pinb.7 = Input
Config Pinb.6 = Input
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Int1 = Falling
Config Int0 = Falling
Enable Int0
Enable Int1
Enable Interrupts
On Int1 Power1
On Int0 Play
Dim M As Integer
Dim D As Integer
Dim Cnt As Integer
Dim Prg As Integer
Dim S As Integer
Dim I As Integer
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , _
Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config Lcd = 16 * 2
Config Debounce = 5
Start1: 'number og washing program
Cnt = 1
Prg = 0 'contorl of power
Do
Debounce Pina.2 , 1 , Spin , Sub
Debounce Pina.3 , 1 , Dct , Sub
Debounce Pina.4 , 1 , Snt , Sub
Debounce Pina.5 , 1 , Cot , Sub
Debounce Pina.6 , 1 , Wl , Sub
Debounce Pina.7 , 1 , Q W , Sub
Loop
End
Power1:
If Cnt = 1 Then
Cls
Set Porta.0
Set Portd.7
Set Portc.5
Lcd "select program"
Cnt = 0
Else
Reset Portc
Reset Porta.0
Reset Portd.7
Cls
Cnt = 1
End If
Return
Play:
Do
Waitms 100
Loop Until Portd.3 = 1
Return
Spin:
If Cnt = 0 Then
Cls
Set Portc.6
Prg = 1
Else
End If
Return
Dct:
If Cnt = 0 Then
Set Portd.0
Prg = 2
Else
End If
Return
Snt:
If Cnt = 0 Then
Set Portd.1
Prg = 3
Else
End If
Return
Cot:
If Cnt = 0 Then
Set Portd.4
Prg = 4
Else
End If
Return
Wl:
If Cnt = 0 Then
Set Portd.5
Prg = 5
Else
End If
Return
Qw:
If Cnt = 0 Then
Set Portd.6
Prg = 6
Else
End If
Return
نمیدانم کجا اشتباه دارم. این نرم افزار پروتوس منو گیج کرده .هر ورژنی که نصب میکنم یه جور میلنگه.در ضمن 1nafar جان من با این میکرو مشکل دارم به نظر شما عنوان چی با شه بهتره ما که نوآموزیم
ویرایش توسط سنجری : 17-01-2014 در ساعت 23:32
شما باید فیوزبیت jtagen رو غیر فعال کنین
دوستان.این jtagen چیه .کجاست .اصولا چه جوری غیر فعال میشه .برای من لازمه که از هر 8 خروجی portd استفاده کنم..گفتم که من تازه کارم.کمی هم عجول (چون ابتدا باید اصول برنامه نویسی را با مشخصات میکرو یاد گرفت بعد پروزه ساخت)
سلام میشه فایل پرئتیوس رو اپلود کنی
دوست عزیز فیوز بیت را در سایت سرچ کنید ، قبلا بحث روی اون به اندازه کافی شده و دوباره بخواهیم توضیح بدهیم میشه تکرار مکررات
دوستان چرا متوجه نمیشوید .من حتی با یک مدار ساده نمی توانم این دوتا پورت را فرمان بدهم .یا فعال کنم .این غیر فعال کردن را به چه صورت باید نوشت.آیا بصورت پیش فرض خودش فعال است
سلام کسی میدونه چرا توی نرم افزار پروتوس 6.9 این دو پورت هیچ عکس العملی ،حتی به عنوان در یک مدار چشمک زن ساده ندارن.آیا بطور پیش فرض اینطور تنظیم شده اند.یا پروتوس من مشکل داره .چون قبلا مشکل دوباره اجرا نشدن برنامه را با ورژن بالاتر هم داشتم
ویرایش توسط سنجری : 19-01-2014 در ساعت 00:45
اومدی و نسازی دیگه تمام انتظار ما اینه اون بالا عبارت فیوز بیت یا jtegen را یه سرچ بزنی ببینی قبلا بحثی شده یا نه
مثلا منم سرچ کردم یه نمونه اشو واست گذاشتم
آموزش پروگرام کردن و تنظیم فیوز بیتها - ایـــــــــران میـــــــکرو ™
مدیر جان. شما چرا همش فکر میکنید که مطالب را سرچ نمیکنیم. دوست گرامی همه مطالب را سرچ کردم همین الان هم کتاب جناب کاهه هم پیش رومه اینقدر در مورد فیوز وفیوز بیت خوندم فیوزم داره میپره. اینها همه شرح می دهند .یک کلمه عملی نشون نمی دن که چطور jtagen غیر فعالش کنم.
حال مثلا کسی پیدا شد واین آموزش را داد .میشه با غیر فعال کردنش میکرو را پروگرام کرد
یک روش استفاده از برنامه PROGISP برای غیر فعال کردن فیوز بیتهاست.
ولی من میخوام اگه بشه از طریق بسکام یا پروتوس این کار را انجام بدم تا نتیجه برنامه نویسی با بسکام را توی پروتوس ببینم واگه اشکالی بود قبل از ساخت آن را رفع کنم.
ویرایش توسط سنجری : 19-01-2014 در ساعت 10:24
سلام
جی تک ربطی به پایه های 6 و 7 نداره و همانطور که اساتید گفتند مربوط با تایمره
لطفا فایل پروتئوس رو هم قرار بده تا بررسی کنیم.
سلام.
در کتاب آقای کاهه قید شده که این دوپین مربوط به فیوزبیت jtageهستند که با غیر فعال کردن آنها میشه از این دوپین بعنوان i/oاستفاده کرد .من با عوض کردن برنامه پروتوس به ورژن 7.8sp2متوجه شدم برعکس نرم افزار پروتوس قبلی 6.9sp2 با این مشکل مواجه نشدم.(یعنی دوتا پین فعال هستند)ولی اینبار دو پین دیگه کار نمیکنند(b6,b7)!!!؟؟؟؟حالا شما بگید اینبار چه کنم.مطمینم مشکل برنامه نویسی نیست از نرم افزار پروتوس است که هرکدام یک باگ دارند که توی یه جایی به مشکل برمیخورند ونمی توانند شبیه سازی کنند.کمممممممک گیج شدم
در نرم افزار پروتئوس این فیوز بیت معنی نداره ، اشکالتون از برنامه هست
فقط در عمل تاثیر گذاره
به نظر شما کجای برنامه نویسی مشکل داره که با اجرای زی برنامه power1 پین b6 یا b7 روشن نمیشود
سلام به شما دوست گرامی :
برنامهء شما و البته سخت افزاری که بستید ، پُر از ایراد هست " سنجری " عزیز ...!
معلومه که با این دستورات ضد و نقیضی که شما نوشتی ، خواسته هات برآورده نمیشه !
شما در ابتدای برنامه اومدی PORTB.6 و PORTB.7 رو ورودی تعریف کردی . اما در ادامه و در زیربرنامهء Power1 دستور SET و RESET کردن صادر میکنی و بهشون LED هم وصل کردی و انتظار داری مثل خروجی رفتار کنند !؟
پل دیودی که گذاشتی ، از کجا باید تغذیهء خودشو تأمین کنه و اصلاً کدوم ولتاژ رو باید برات یکسو کنند !؟
کلاً به نقش مقاومت در مدار هم ظاهراً خیلی اعتقادی نداری و با هیچکدوم از LED ها مقاومت مناسب سری نکردی ...!
************************
در طراحی مدار همیشه سعی کن :
1 - عجله به خرج ندی
2 - شماتیک رو اصولی بکش
3 - خواستهء خودتو از مدارت مشخص کن
4 - برنامه رو صحیح بنویس و تناقض بین دستورات بوجود نیار ...
سلام pixar
حق با شماست.این شماتیکی که برای شما گذاشتم کامل نیست هدفم هم این نیست که این نقشه را روی فیبر چاپ کنم .این یک نقشه اولیه است که برای من فعلا روشن شدن ledها یا همان پورتهای میکرو مهم میباشد.من قبل از کامل کردن نقشه می خواستم عملکرد پورتهای میکرو را با برنامه ای که برای آن نوشتم ببینم اگه همانی شد که می خواستم نقشه کامل را طراحی میکردم.چون پروتوس قبلی ایراد داشت ،،،تغییراتی انجام دادم ولی جوابگو نبود.واونو عوض کردم.ولی بعضی تغیرات لازم بود که روی برنامه بسکام هم انجام بدهم که اشتباها متوجه آنها نشدم و با آنها این نرم افزار را امتحان میکردم .که.......!!! ممنون که مرا متوجه آن کردیدو...... اما حالا جواب داد متشکرم ( چون خسته ام کرد.4 ورژن را دانلود کردم ونصب و بیشترشان باگ داشتند)
من 1 ماه است که دارم شروع به یادگیری میکنم.هنوز اول راهم ..
چند راهنمایی
1))چرا وچطور وبا چه اهمی مقاومت به led وصل شود.-قبلا دیدم که مقاومت را باکلید ورودی موازی میکنند
2))در ورژن قبلی ورودی پل دیود را به پین وصل کردم اما موقع اجرا برنامه ارور میزد .اما با این ورژن ارور نمیگیره
ولی هنوز نمیدونم چطور به 12 ولت وصلش کنم.یا اینکه چرا رله ها عکس العملی ندارند.
1 - این که تازه شروع به یادگیری کردی اصلاً ایرادی نداره و اتفاقاً خیلی هم خوبه ...
فقط در حین یادگیری مطالب مختلف ، باید دقت رو هم چاشنی کار قرار بدی . وگرنه به مشکل بر میخوری !
2 - برای تست کردن یک مدار ، نیازی نیست که تمام اجزای سخت افزاری اونو بطور کامل و اونهم با این شلوغی رسم کنی ! اینجوری بیشتر گمراه میشی و عیب یابی هم برات سخت تر میشه ...
بهتره از بخشها و امکانات مشابه در یک مدار ، فقط یک نمونه رو رسم کنی و اگه جواب گرفتی ، اونوقت اونو در تک تک بقیهء خروجی ها هم تست کنی .
3 - رعایت نظم و سلیقه در طراحی نقشه خیلی بیشتر از اون چیزی که فکرشو بکنی مهمه !
چون باعث میشه که دیگران هم با یک نگاه مختصر به نقشهء مدارت ، بتونن در عیب یابی بهت کمک کنن . اما اگه مثل اون نقشه بخواد باشه ،هیچکس رغبت نمیکنه حتی بهش نگاه کنه . چه برسه به اینکه بخواد جزئیاتشو بررسی و عیب یابی کنه !
4 - نیازی به اینهمه تغییر ورژن بیسکام یا پرروتئوس نیست ! همیشه فقط از آخرین نسخهء اونها استفاده کن تا مشکلی نداشته باشی ...
آخرین ورژن هرکدوم از اونها در اکثر سایتهای فارسی با کرک معتبر وجود داره و همه دارن از همون نسخه ها استفاده میکنند و مشکلی هم ندارند .
5 - در ولتاژ 5 ولت ، برای هر led باید یک مقاومت حداقل 150 اهم و حداکثر 470 اهم با led سری کنی تا پورت میکرو و خود led آسیب نبینه .
6 - برای طراحی مدار در پروتئوس ، همیشه سعی کن از قطعات اکتیو ( انیمیشنی ) استفاده کنی تا بتونی موقع شبیه سازی ، عملکرد اونها رو ببینی . وگرنه نمیتونی متوجه نحوهء عملکرد خروجیها بشی ...
7 - همنجوری که الان رله ها رو وصل کردی درسته . اگه میبینی ظاهراًموقع شبیه سازی عملکردی ندارن ممکنه به دو دلیل باشه :
ـــ ممکنه از نوع اکتیو انتخابش نکرده باشی
ـــ ممکنه ولتاژ راه اندازی رله رو در تنظیمات خود قطعه درست نذاشتی که عکس العمل نشون نمیده
ویرایش توسط Pixar : 21-01-2014 در ساعت 03:03
1) چطور میشه با یک فرمان کل 8 پین مثلا Portc را reset کرد
2) چطور میشود همزمان با کار میکرو یک LED به حالت چشمک زنان مشغول کار باشد
ویرایش توسط سنجری : 21-01-2014 در ساعت 15:07