• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

میکرو کنترلر

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
رضا جان اطلاعات خوبی بود ممنون دوست عزیز
در مورد 16c745 من data sheet اونو دیدم امکانات خوبی داره ولی قیمتش چند بود تو بازار؟ برای برنامه نویسیش
اگه لازم بود اطلاعاتی در مورد اسمبلی PIC ها همینجا مینویسیم شما چون قبلا با AVR ها اشنایی داری مشکلی نداری برای پروگرامر هم میکروهای PIC شبیه AVR ها که اکثرا ISP روپشتیبانی میکنن PIC هم چیزی به اسم ICSP دارن که به معنی In-Circuit Serial Programming هست و اکثرا ابا این روش پروگرام میشن من یکی از مدارهای نسبتا ساده اونو ساخته بودم و البته با پورت موازی کار میکنه و به 12 ولت تغذیه هم احتیاج داره توی همین فروم هم مدارشو دیدم
در کل در باره کار با pic به نظر من مشکلی نیست .ظاهرا ماکروچیپ یه برنامه هم برای اون مبکرو نوشته که دیگه احتیاج به درگیری کاربر با کارهای سطح پایین usb نباشه والبته یه سری تنظیمات رو باید کاربر در اون برنامه معلوم کنه.
در مورد فیوز بیت SPIEN در AVR ها هم یه بار با برنامه bascom ابن فیوز بیتو 1 کردم و میکرو هم دیگه به STK200 جواب نداد ولی عجیبه که چرا میکرو تو این مد سریال این اجازه رو میده شاید Atmel به خاطر فروش بیشتر, اینکارا رو میکنه!!
یه سوال هم از دوستانی که با usb اشتا هستن که تعریف Endpoint در USB چیه؟
 

mamd82

کاربر تازه وارد
تاریخ عضویت
23 فوریه 2006
نوشته‌ها
32
لایک‌ها
0
سن
50
با سلام به همگي

يكم درباره USB هم اگه صحبت بشه بد نست ها.
ما هم دوست داريم يه چيزايي ياد بگيريم .
با تشكر از هم .:p
 

rezamansouri

کاربر تازه وارد
تاریخ عضویت
30 مارس 2005
نوشته‌ها
146
لایک‌ها
3
محل سکونت
Tehran
سلام
tkavosh عزیز ممنون از لطفت.PIC16C745 تا سه هفته پیش 2700 تومان بود.
اگه لینک پروگرمر را بذاری ممنون میشم.
از اونجایی که CodeVision و سایر پروگرمر ها SPIEN را غیر فعال کرده اند ومن تا به حال با bascom کار نکرده ام فکر کردم که با ISP نمی توان SPIEN را پروگرم کرد.(چه خوب شد اینو فهمیدم ممنون)

در مورد USB هم بگم صفحات 57-59 از data sheet میکرویPIC16C745 بطور خلاصه توضیح داده.
http://ww1.microchip.com/downloads/en/devicedoc/41124c.pdf (چون حجمش زیاد بود لینکشو گذاشتم)
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
توی سرچ "پروگرامر" نوشتم پیداش کردم
http://forum.persiantools.com/showthread.php?t=14166&highlight=پروگرامر
قیمت این 16c745 هم خوبه ولی با USB 1.1 اونم با low speed ینی 1.5 مگا بیت کار مبکنه. ولی بازم خوبه
در مورد usb هیچ مقاله تخصصی به زبان فارسی نیست؟
یه منبع حوب سایت http://www.usb.org هست که در قسمت اسنادش فابلای pdf زبادی هست و در مورد USB 1,.1
این رو دانلود کنید http://www.usb.org/developers/docs/usbspec.zip
 

rezamansouri

کاربر تازه وارد
تاریخ عضویت
30 مارس 2005
نوشته‌ها
146
لایک‌ها
3
محل سکونت
Tehran
سلام
از بابت لینک ممنون ولی اینا هم PIC16C745 را ساپورت نمی کنند.
دیدم وقتی PIC16C745 را قیمت کردم فروشنده قند تو دلش آب شد.ظا هرا هیچ کسی اینو نمی خره.
فکر کنم خودم باید دست به کار بشم و بسازمش.ولی پروتکل ICSP را هیچ جا پیدا نکردم.ATMEL لااقل نحوه پروگرم کردن هر میکرو را داخل data sheet قرار میده.
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
این ادرس رو ببین
http://www.ic-prog.com/devices.html
میکروهایی که IC-PROG میشناسه که pic16c745 میشناسه و ic-prog با اون پروگرامر هم(همون تاپیک که گفتم ) کار میکنه ..مشکلی نیست
 

rezamansouri

کاربر تازه وارد
تاریخ عضویت
30 مارس 2005
نوشته‌ها
146
لایک‌ها
3
محل سکونت
Tehran
داداش رضا دوباره ضایع شد:blush:
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
به نقل از rezamansouri :
داداش رضا دوباره ضایع شد:blush:

:rolleyes: :lol:
راستی اینارو هم پیدا کردم به نظر جمع و جور ترند:

http://www.bobtech.home.ro/catalog/programator/
http://www.olimex.com/dev/pic-pg2c.html

این دومیه تقریبا شبیه JDM هست و خیلی سادس برقشم که از خود rs232 گرفته
ولی راست میگیا این مدارش خیلی ساده تر از اون ProgUniv هست حالا چرا من اونو انتخاب کردم معلوم نیست
 

emad_e_ali

کاربر تازه وارد
تاریخ عضویت
27 نوامبر 2005
نوشته‌ها
5
لایک‌ها
0
سلام
دوستان لطفا يك كتابجامع در مورد ميكروي avrمعرفي كنيد.
ممنون:happy:
 

shockley

Registered User
تاریخ عضویت
28 نوامبر 2005
نوشته‌ها
287
لایک‌ها
4
Programming and Customizing the Avr Microcontroller

007134666X.jpeg


کتابی بسیار خوب و جامع در مورد AVR که آفست اش هم تو بازار هست. :)
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
با سلام و خوش آمد گویی به دوست عزیز hooshmand29
البته اینارو 10 روزیه که نوشتم ولی فرصت نکردم تو فروم بزارم.

اینم جواب سوالتون:
شما باید ابتدا بدونین که از میکروتون چه انتظاراتی دارین وچی میخواین. مثلا کار کردن با جدیدترین مدل میکروها خوبه ولی یه مبتدی برای شروع کار هیچ وقت مثلا یه میکرو 32 بیت و یا حتی 16 بیت گران و کمیاب و فاقد توجیه انتخاب نمیکنه. و یا نمیره دنبال یه میکرو از رده خارج. بعضی ها شاید به من بخندند و بگن که مثلا به 8051 میگه از رده خارج ، ولی اینطور نیست من به خوبی با اون آشنایی دارم و با اون کار کردم. الان ما تعدادی چیپ مخابراتی خیلی معروف داریم (مثل CC1010 ، CC2020 و ... اگه بخوام نام ببرم ایجا پر میشه) که از هسته 8051 استفاده میکنن و یا حتی شرکت اتمل ، موتورولا ، فیلیپس و ... دارن روی بالا بردن قابلیتهای اون کار میکنن. مثلا اتمل خانواده تک سیکل اونو معرفی کرد، اونو مجهز به تجهیزات جدید کرد. مثلا قبلا 8051 که مبدل آنالوگ به دیجیتال داشت کم پیدا میشد و یا میکرویی با مقایسه کننده آنالوگ داخلی کم پیدا میشد، اما ما حالا میبینیم که حتی 8051 هم مقایسه کننده آنالوگ داره.

برای شروع کردن، آشنایی قبلی با میکروهای دیگه میتونه به یادگیری بهتر و سریعتر کمک کنه ولی خیلی هم مهم نیست و الزام آور هم نیست.
من به عنوان راهنمایی به شما توصیه میکنم که با AVR شروع کنید. حالا کمی در باره فرق AVR با بقیه میکروها براتون میگم:

AVR یه میکرو RISC هست . خصوصیات میکروهای RISC و CISC رو براتون مینویسم تا بهتر متوجه بشین(این مطالب از کتاب میکروپروسسورها نوشته افن بک گرفته شده):
پروسسورهای RISC :
در اوایل دهه 1980 روند جدیدی در طراحی کامپیوتر ظهور یافت. کامپیوتر با مجموعه دستورالعمل مختصر (RISC). معنی لفظی چنین پروسسوری وجود مقدار کمی دستور (کمتر از 128) است. در مقابل این کامپیوترهای CISC است، یعنی کامپیوترها با مجموعه دستوالعمل پیچیده CISC دارای این ویژگیهاست:
1- تعداد زیادی دستور با طول متغیر
2- چند مود آدرس دهی (روشهای مختلف مشخص کردن حافظه)
3- تعداد اندکی رجیستر داخلی
4- دستورهایی که اجرای هر کدام چند سیکل ساعت طول میکشد.
میکروپروسسور Z80 دقیقا یک CISC است، زیرا بیش از 600 دستور دارد که هر یک بین 1 تا 4 بایت است. شش مود آدرس دهی دارد، ولی تنها 8 رجیستر همه منظوره داخلی دارد. زمان اجرای دستورات بین 4 تا 32 سیکل ساعت است.
Z80 را با پروسسور RISC i860 اینتل (که گاهی کری روی تراشه نامیده میشود) مقایسه کنید. این ویژگیها را ملاحظه میکنیم.
1- هشتاد و دو دستور، تماما 32 بیتی
2- چهار مود آدرس دهی
3- 32 رجیستر همه منظوره
4- اجرای تمام دستورها در یک سیکل ساعت
چون در RISC تمام دستورها طول یکسانی دارند و اجرایشان یک سیکل ساعت طول میکشد، واحد کنترل بسیار ساده تر از CISC است. این سادگی باعث میشود دستورها با مدارهای منطقی کمتر و سرعت بیشتری اجرا شوند. بررسیها نشان میدهد که در CISC واحد کنترل 50% مساحت تراشه را اشغال میکند، ولی در RISC این مقدار 10 درصد است. یعنی در پروسسورهای RISC جای بیشتری برای ویژگیهای دیگر چون فایل رجیستر، حافظه کاشه دستور و داده (حافظه برای ذخیره کردن دستورها و داده های اخیر) و پردازشگر ممیز شناور وجود دارد.
==================================================================
نوشته های بالا در مورد RISC كاملا در AVR رعايت نشده !!! اما اين موارد حتي كارايي اونو بالا برده. مثلا تعداد دستورالعملهاي AVR طبق آخرين اطلاعات من 135 تا است(در جدیدترین میکروها). Atmel ميگه كه AVR يك RISC با تعداد دستورالعمل بالا است. البته تمام دستورات AVR در يك كلاك سيكل اجرا نميشه.مثلا دستوراتي كه كد آنها بزرگتر از يك بايت است نياز به سيكلهاي بيشتري براي اجرا دارند و ... . تعداد دستورات AVR در نمونه هاي اوليه مثلا در AT90S1200 ، 89 عدد بوده و در ميكروهاي جديد افزايش يافته.
تعداد دستورالعمل بالا در كل موجب كاهش كدهاي توليد شده و افزايش سرعت برنامه شده.
يه بنچ مارك از اتمل رو خوندم كه در اون AVR رو با چند تا ميكرو معروف از نظر مقدار كدهاي توليد شده مقايسه كرده بود. در اين تست رتبه AVR در بيشتر موارد اول شده بود و در كل در رتبه اول جاي گرفت. اين بچ مارك رو ميتونيد در سايت اتمل پيدا كنيد.اگه يادم نره خودم لينكشو ميذارم.

تعداد رجيسترهاي بالا در AVR موجب راحت شدن برنامه نويسي به زبان اسمبلي و سطح بالا شده و نياز برنامه را به استفاده از حافظه RAM كاهش داده(و حتی در بیشتر موارد بی نیاز کرده) و همچنين در انتها موجب افزايش سرعت برنامه شده.

يكي از ويژگيهاي ديگه AVR استفاده از اسيلاتور كاليبره شده داخليه كه دقت اون +1% است(در هنگام ریست تراشه، بصورت سخت افزاری بایت کالیبراسیون را در رجیستر OSCCAL بار میکند و از این طریق اسیلاتور RC داخلی را کالیبره میکند. همچنین اسیلاتور بصورت مقدار دهی بایت OSCCAL در هنگام اجرای برنامه نیز میتواند در محدوده فرکانس ذکر شد در برگه های اطلاعاتی هر میکرویی کالیبره شود. یعنی در صورت استفاده از اسیلاتور داخلی کاربر میتواند فرکانس آن را در برنامه تغییر دهد. یعنی دیگه برو حال کن!!!). كه در اكثر موارد ما را از اسيلاتور خارجي بي نياز ميكند و هزينه هاي اضافي را كاهش ميدهد(در تولید انبوه کولاک میکنه).
دستگاههاي جانبي در AVR بسيار وسيع است. در اصل AVR يك ميكرو كاملا امروزيه . برخي از قابليتهاي اون مثل درايور LCD (مثلا در ATMega169) و مقايسه كننده آنالوگ و ... در كمتر ميكرويي ديده ميشه(تا به حال نديدم. البته ذكر كنم در AT89LP تقريبا تمام تجهيزات جانبي كه در AVR است گنجانده شده.).

بالاخره بايد بهتون بگم اگه دنبال يه ميكرو ارزون و قدرتمند و با انعطاف هستيد بهترين و به صرفه ترين انتخاب AVR هست.

البته بايد ذكر كنم كه AVR چندين نمونه و مدل داره كه ميخواستم ذكر كنم ولي كاتالوگش رو پيذا نكردم. بعدا لينكشو ميذارم.(مثلا سریهای:FPGA AVR, LCD AVR, DVD AVR, PWM AVR,CAN AVR and any more.)
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
با سلام خدمت دوستان عزیز
چند تا پست جلوتر یکی از دوستان در مورد بیت های قفل کننده در AVR پرسیده بودند که کمی توضیح دادم, ولی ناقص!!
این مطالب رو از دیتاشیت ترجمه کردم. فکر کنم به دردتون بخوره و با ید توجه داشته باشید که این بیتها در هر میکرویی تفاوت داره (از حیث تعداد.). بهتره قبل از استفاده از, اونا دیتا شیت رو بخونید. (البته همیشه به شما توصیه میکنم قبل از استفاده از هر امکانات و یا هر تجهیزاتی در میکرو ابتدا دیتا شیت اونو به دقت بخونید)
 

فایل های ضمیمه

  • ?????? ??? ?? AVR.doc
    49 KB · نمایش ها: 69

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
با سلام
ببخشید چند روزی بود وقت نمیکردم مطلب جدید بزنم.

یه فایل متن آپلود کردم. که در اون شروع کار با AVR Studio رو کمی توضیح دادم و برای مبتدیان مفیده.

در ضمن فرستنده-گیرنده چهار کانال مادون قرمزی که در ابتدای فروم قولشو داده بودم انشا ا... تا چند روز دیگه میزارم حالشو ببرین.
 

jimbo

کاربر تازه وارد
تاریخ عضویت
27 مارس 2006
نوشته‌ها
24
لایک‌ها
0
با سلام خدمت آقای شمس
لطفا راهنمائی بفرمائید که چگونه می توانم از طریق صفحه کلید 4*4 اعداد چند رقمی را به میکرو وارد کنم .
مثلا عدد 456 را چگونه در متغیر A قرار دهم و بعد از آن چگونه عدد چند رقمی دیگری را در متغیر B قرار دهم .
با سپاس فراوان.​
 

mamd82

کاربر تازه وارد
تاریخ عضویت
23 فوریه 2006
نوشته‌ها
32
لایک‌ها
0
سن
50
با سلام و تبريك سال نو به كليه دوستان
ميكرو كنترلر AT89C51SND1 يك ميكرو از خانواده اتمل (C51) ميباشد كه داراي رابط USB وMP3Player و كارت ريدر و...ميباشد كه به سادگي نيز پرگرم ميشود (توسط پورت USB ) . :p
 

Behnam-AVR

Guest
تاریخ عضویت
11 مارس 2006
نوشته‌ها
40
لایک‌ها
0
به نقل از jimbo :
با سلام خدمت آقای شمس
لطفا راهنمائی بفرمائید که چگونه می توانم از طریق صفحه کلید 4*4 اعداد چند رقمی را به میکرو وارد کنم .
مثلا عدد 456 را چگونه در متغیر A قرار دهم و بعد از آن چگونه عدد چند رقمی دیگری را در متغیر B قرار دهم .
با سپاس فراوان.​
:p
سلام
در مورذ سوال اين دوست عزيز بايد بگم كه شما براي وارد كردن بطور مثال يك عدد 4 رقمي نياز به 4 متغيير داريد
هر كدام از اعداد را به يك متغيير مي دهيد و در نهايت پس از وارد كردن هر چهار عدد به هر يك از متغييرها با رعايت ارزش مكاني آنها را در 1000 و 100 و 10 ضرب كرده و در نهايت همه را با هم و دو به دو جمع كرده و در متغيير نهايي قرار مي دهيد
براي مثال خودتان:
a1 = 4
a2 = 5
a3 = 6 را از كيبورد خوانده و به صورت بالا در متغييرها قرار ميدهيد و سپس:
a1 = a1 * 100
a2 = a2 * 10
a2 = a1 + a2
a2 = a2 + a3
در مثال بالا عدد نهايي در a2 قرار مي گيرد
[email protected]
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
به نقل از jimbo :
با سلام خدمت آقای شمس
لطفا راهنمائی بفرمائید که چگونه می توانم از طریق صفحه کلید 4*4 اعداد چند رقمی را به میکرو وارد کنم .
مثلا عدد 456 را چگونه در متغیر A قرار دهم و بعد از آن چگونه عدد چند رقمی دیگری را در متغیر B قرار دهم .
با سپاس فراوان.​
با سلام و خوش آمد گوئی و عرض تبریک سال نو به شما و تمامی دوستان عزیز

برای گرفتن اعداد از صفحه کلید بهترین راه روش زیر است. البته به نظر خودم!! در ضمن این برنامه به زبان بیسیکه.
ما یک متغیر را به اسم I تعریف میکنیم. این متغیر حاوی تعداد رقمهای عدد مورد نظر است. برای عدد دوم نیز همین کار را تکرار میکنیم. متغییر K نیز عدد خوانده شده از صفحه کلید است.


A=0
for I= 1 to 3
عملیات خواندن صفحه کلید
A=A*10
A=A+K
next I

برنامه کامل رو به همراه برنامه صفحه کلید بعدا میزارم.
 

R.Shams

Guest
تاریخ عضویت
7 ژانویه 2006
نوشته‌ها
209
لایک‌ها
9
محل سکونت
Tehran (S/h/i/r/a/z)
Behnam-AVR عزیز از لطف شما متشکرم. شماره سریالی که ذکر کردید با BASCOM AVR که من داشتم جواب نمیداد. چون اونی که من دارم فایلش ZIP هست و فایل ZIP پسورد داره و حتما شماره سریال مخصوص به خودش رو داره. بهر حال به نوبه خودم از لطفتون ممنون هستم. اگه لطف کنید اونو Upload کنین تا تمام دوستان بتونن از اون استفاده کنن.
 

shahkey

Registered User
تاریخ عضویت
16 نوامبر 2005
نوشته‌ها
1,235
لایک‌ها
5
سلام به همه
من تازه این تاپیکو دیدم
من دارم یه فروم تخصصی الکترونیک راه میندازم چون سایت مرجع الکترونیکی به صورت فارسی ندیدم فکر کردم شاید این فروم بتونه نیازها رو برآورده کنه.....
اگه لطف کنید تخصصهای خودتون رو در زمینه الکترونیک بگین من به زودی فروم رو راه اندازی میکنم و دست به کارشیم...
درضمن این وبلاگ الکترونیکه منه اگه خواستین یه سری بزنین توش مدارهایی با میکرو هم هست
با تشکر
 
بالا