رفتن به مطلب

elmi

کاربر سایت
  • پست

    15
  • تاریخ عضویت

  • آخرین بازدید

  • بازخورد

    0%

3 دنبال کننده

آخرین بازدید کنندگان نمایه

بلوک آخرین بازدید کننده ها غیر فعال شده است و به دیگر کاربران نشان داده نمی شود.

دستاورد های elmi

1

اعتبار در سایت

  1. باسلام: قابل توجه دوستانی که مثل من دوست دارند سریع جواب سوالاتشون را بفهمند با کمک یکی از دوستان مرجعی را پیدا کردم که توش در مورد این مسئله توضیحاتی داده بود باید بگم اترنت به اون پیچیدگی که من فکر میکردم نبود این شبکه اترنت را میتونیم با تراشه هایی مثل enc28j60برای میکرو ایجاد کرد البته باید بگم برای متصل کردن به میکرو در محیط codevisionباید یک سری فایلهای کتابخانه ای را بنویسیم مثل ethernet تا میکرو به تراشه متصل بشه و به این راحتی هام نیست حقیقتا باید برنامه نویس قوی باشی یا یک نمونه از این برنامه را داشته باشی و روی کاتالوگ تراشه اشراف کامل داشته باشی بازم از مهندس فلاح عزیزبابت راهنمایی ممنون موفق باشید
  2. سلام میخواستم بدونم که چه طور با اینترنت میشه سیستم را راه انداخت تا اونجایی که من میدونم میشه با رابط هایی مثلspi,... کامپیوتر را به میکرو وصل کرد اما اینکه با یک ایمیل ساده میشه یک فرمان را صادر کنیم کار را پیچیده میکنه و فکر کنم دیگه مربوط بشه به کار یک مهندس کامپیوتر ؟؟؟؟
  3. elmi

    آموزش AVR با برنامه Bascom

    با سلام می خواستم بدونم تو این برتامه نویسی چه طوری به میکرو نشان داده میشه که با کریستال خارجی کار کنه یا داخلی اما لطفا کمی هم در مورد یک سری تنظیمات که باید داخل خود نرم افزار انجام داد توضیحی بدین موفق باشید
  4. با سلام خدمت آقا ی فلاح: من یک سری از این دستگاه ها را از نزدیک دیدم البته اونها دارای ریموت بودن و با اینترانت کار میکردن ایا شما در مورد اخطار دادن این نوع دزدگیرها اونم با اینترنت اطلاعاتی دارین؟ البته یک چیز جالبی هم که این سیستمها داشتند این بود که اصلا با میکرو پیاده سازی نشده! ممنون موفق باشید
  5. elmi

    رابط وسایل جانبی spi

    رجیستر spsra بیت 0: بایک شدن این بیت سرعت پالس ساعت مستر 2برابر خواهد شد پس پالس ساعت تا نصف فرکانس نوسان ساز افزایش می یابد این بیت در بعضی از میکرو ها موجود است در حالت اسلیو این بیت هیچ تاثیری ندارد . بیت 7:زمانی که ارسال داده به پایان رسید این پرچم فعال میشه و در این موقع اگر بیت spieو بیت وقفه سراسری فعال باشه یک وقفه خواهیم داشت . این بیت با اولین خواندن رجیستر spsrپاک میشه پس برای دوباره فعال کردن اون باید توی خود برنامه دست ببرید. بیت 6:در این مواقع یک می شود : در داخل spdrدر حین اتقال اطلاعات عدد جدیدی بریزیم. اولین بار که بیتwcol,spifخوانده شود با خواندن رجیستر spsrدر زمانی که wcoldیک باشدو پس از ان تبادل اطلاعات با spdrاست bit 0==============>spi2x bit 6================>wcol bit 7===============>spif و برای بقیه ی بیت های واقع در این رجیستر چیزی تعریف نشده پس ما هم باهاشون کاری نداریم دیگه دنبال کردن بحث به عهده ی شما دوستان اگر کم و کسری داره به بزرگواری خودتون ببخشید و اگر میخواهید جایی از این مطالب بازم بیشتر توضیح داده بشه بگید امیدوارم تونسته باشم تا حدی این مطلب را براتون باز کرده باشم موفق باشید
  6. elmi

    رابط وسایل جانبی spi

    رجیستر spcr بیت 1و0:فرکانس پالس ساعت موجود در مستر را تعیین میکنیم مثلا بر فرض اگر دو بیت ما در رجیستر صفر انتخاب شود حاصل کلاک ما یک چهارم فرکانس اسیلاتور که در خود برنامه ی کدویزن انتخاب میکنیم خواهد بود.جدول مورد نظر که بتونید تمام مقادیر بیتها را در اونها مشاهده کنید در دیتا شیت موجود میباشد. بیت2:با این بیت میتوان لبه اولی وثانوی رادر مستر مشخص کرد.به این صورت که اگر یک بودبا لبه ی اولی فعال است در غیر این صورت بالبه ی ثانوی فعال خواهد بود. نکته:نوع لبه را تعیین میکنیم و این مسئله در میکرو به این صورت نشان میدهد"اگر لبه اولی باشد یعنی زمانیکه به لبه ی اولی رسیدیم مستر ما اطلاعاات را ارسال و دریافت میکند" بیت 3:زمانی که این بیت یک بشه پین کلاک مستر در زمان بیکاری در وضعیت یک خواهد بود. بیت 4:اگر این بیت صفربشه یعنی سخت افزار ما همان میکروی ما اسلیو خواهد بوددر این حالت mosi,sckورودی خواهد شد. بیت 5:زمانی که این بیت یک است در ابتدا کم ارزش ترین بیت در ابتدا ارسال خواهد شد. بیت 6:هر وقت بخاهیم با رابط وسایل جانبی کار کنیم باید حتما حتما این بیت را یک کنیم از همه ی این بیت ها این بیت واجب تره ! بیت 7:برای فعال کردن interraptاین بیت را یک میکنیم. Bit 0====>spr0 bit 1=====>spr1 bit 2====>cpha bit 3=========>cpol bit 4========>mstr bit 5=====>dord bit 6==========>spe bit 7=======>spie
  7. elmi

    رابط وسایل جانبی spi

    با سلام : این بار قبل از معرفی رجیسترهای مرتبط با این بخش کمی راجع به اصول کلی در مورد طرز کار کردن میکرو در حالت شبکه بندی شده مختصر تو ضیحی میدم: در میکروی مستر: ابتدا باید بیتmstrدر رجیستر spcrیک شود تا میکرو به عنوان یک مستر شناخته شود اگر ss(نام یکی ازپایه ی میکرو)به عنوانبه عنوان ورودی تعریف شود باید انرا از حالت 1 خارج تا در عملکرد مسترمشکلی به وجود نیایدو اگر این پین از خارج 0 شدخواه ناخواه به مد اسلیو میرویم! و میکرو شروع به دریافت داده میکند پس برای جلوگیری از به وجود امدن این درد سرها بایدحواسمون حسابی جمع باشه تا یک موقع به خاطر این مسائل سر کار نریم! پرچم spifدر رجیسترspcrبالا رفته و اگر وقفه فعال باشه سرویس وقفه به اجرا در میاد حال زمانی که در مد مسترهستیم و امکان 0 شدن ssوجود داشته باشد باید مدام بیتmstrمدام باید بیت چک شود
  8. elmi

    رابط وسایل جانبی spi

    هوالعالم باسلام به دوستای عزیز: این واسط ابتدا توسط شرکت موتورولا تدوین شده ارسال اطلاعات به صورت سریال هست از خصوصیات آن: 1-ارسال اطلاعات به صورت دوطرفه یعنی دو میکرو میتوانند به طور همزمان باهم تبادل اطلاعات میکنند 2-قابلیت انتخاب سرعت 3-وجود علامتی که میتوانند تداخل را نمایش بدهند 4-توانایی دو برابر کردن سرعت چند تعریف: :master در این بخش سیستم دارای یک شیفت رجیستر 8بیتی است مولد پالس ساعت به ان متصل میباشد به این صورت که با ارسال پالس ساعت میکروی اول که مسترمی نامیم شروع به ارسال اطلاعات به اسلیو میکندکه خوب ما با تنظیماتی که در برنامه انجام میدیم میتوان مثلا به میکرو فرمان داد که با هر بار امدن یک لبه پالس ساعت بالارونده اطلاعات را ارسال کنه یادتون نره ما فقط یک مستر میتونیم داشته باشیم یعنی فقط یک مغز متفکر و این مسئله را در نظر بگیرید که هردو بخش مستر و slave میتونن دستور بدهندتفاوتشان در داشتن یک خط کلاک هست آغاز کننده ارسال داده ها مستر است این خط کلاک به منظور سنکرون کردن مستر و slave با هم دیگه هست :slave میکرو دوم دارای یک شیفت رجیستر 8بیتی است و می توان در طراحی یک برنامه ی واسط وسایل جانبی از چند slave استفاده کرد این دو قسمت مستر و slave باسه سیم به هم متصل هستند Miso خط انتقال اطلاعات از مستربهslave Mosi خط انتقال اطلاعات ازslave به مستر Sck خط انتقال پالس ساعت از طرف مستر که این نشون میده که اتصالات باید از طریق سیم صورت بگیره پس برای برنامه ی فرستنده گیرنده های بی سیم نمیتونید از واسط وسایل جانبی استفاده کنید باید از یک بخش دیگه ی میکرو کنترلر ها استفاده بشه مثل Usart ss خط انتخاب slave که اگه یادتون باشه گفتم میشه چند تا slave داشت با این خط میتوان مسیر ارسال دلده به slave مورد نظر را مشخص نمود امیدوارم مطالب براتون قابل فهم بوده باشه سری بعدی رجیستر ها ومدهای کاری رابراتون میگم موفق باشید
  9. elmi

    رابط وسایل جانبی spi

    با سلام خدمت دوستان محترم با توجه به درخواست دوستای محترم تصمیم گرفتیم این بخش را برات.ن بگذاریم تا شاید بتونیم تا حدی جواب گوی سوالاتتون باشه در این مبحث البته من سخت افزار این قسمت را براتون توضیح میدم وچندبرنامهی ساده براتون مثال میزنم دیگه پیگیری ادامه ی بحث به شما استقبالتون از این بحث و سواد من در این بحث مربوط میشه:) فعلا این رو از این بحث بدونین که یک ارتباط دو طرفه هست .برای اتصال سخت افزازها استفاده میشه یکی از مفید ترین بخشهای میکرو هست مثلا توی فرستنده گیرنده ها استفاده میشه دارای دو بخش اصلی master,slaveهست موفق باشید
  10. elmi

    آموزش زبان c

    هوالمحبوب باسلام: امیدوارم دوستانی که با میکرو کارنکردن برنامه ی led را نوشته باشن و اجرا کرده باشن =D>چون تا برنامه را خودتون ننویسید نمیتونید بفهمین که من چی میگم برنامه داره واقعا چی کار میکنه خوب حالا از نصیحت کردن بگذریم بریم سر اصل مطلب......:-> cزبان کوچکی است تعداد کلمات کلیدی این زبان محدود است حدودسی کلمه ی کلیدی دارد و فراموش نکنید که کم بودن کلمات کلیدی دلیل بر ضعف یا کم سرعت بودن برنامه نیست وگاهی چند کلمه ی کلیدی به این زبان اضافه شده است که من چند تااز اونها را نام میبرم که بعدا توی نوشتن برنامه ی میکرو به اون نیاز دارم (بعدا نگید توی زبان cاز این دستورات نداشتیم)asm وinterrupt. همانطور که در قسمت قبل هم گفته شد ما پنج نوع داده داریم: charکه برای کاراکترهایی به کار میرود مثل a,l intبرای ذخیره ی اعداد صحیح floatبرای ذخیره ی اعداد اعشاری doubleذخیره ی اعداد اعشاری بزرگتر ازfloat راستی بچه ها من چند تا عملگر را از قلم انداختم مثل =>به معنای کوچکتر یا مساوی علامت عکس ان هم متعاقبا عمل عکس یعنی بزرگتر یا مساوی را نشان خواهد داد x!=y هم یعنی xنسبت به yنامساوی خواهد بود در ضمن علامت~هم نشانه ی نقیض است مثل علامت ! اما زمانی به کار میبریم که بخواهیم مقایسه ی بیتی انجام دهیم فراموش نکنید اگر این علامت را در جای نادرست بکار برید یا نتییجه ی اشتباه خواهید داشت یا برنامه به شما پیام خطا خواهد داد اگر علامت ;در انتهای هر خط قرار نگیرد باز هم متاسفانه شما پیام خطا دریافت خواهید کرد علامت مورد استفاده ی دیگر علامت >> میباشد به معنای شیفت به چپ وعلامت<< شیفت به راست خواهد بود طرز نوشتن ان به این صورت است(تعدادشیفت>>متغیر)و حالا میریم سر یه سری از دستورات کلیدی به فرض مثال دستور forکه می توان به این صورت نوشت البته این دستورات را میتوان به صورت های دیگر هم نوشت اما بهتر است زیاد به شکل برنامه نویسی کاری نداشته باشید و خودتون را گیج نکنید for( سپس به ترتیب از چپ به راست اول مقدار اولیه متغیر; را بنویسید سپس شرط حلقه; ودر نهایت گام حرکت)مثلا for(i=0;i<8; i ++) i حالا میریم سر ساختار whileکه قسمت قبل هم توضیح مختصری از اون گفته شداین دستور برای تکراراجرای دستورات بکار میرود و شکل نوشتاری این دستور while(......){ دستور } به جای نقطه چین در پرانتز باید شرط را قرار بدین یادتون نره اخر دستور باید ;قرار بدین و خوب در برنامه ی قسمت قبل این حلقه بینهایت بار تکرار میشد چون در پرانتز تنها یک عدد 1 موجود بودو در اکثر مواقع ما نیاز داریم که برنامه بینهایت بار تکرار بشه دستور بعدی دستور do ...whlieاست که مثل دستور while میباشد اما شرط حلقه برعکس whileدر اخر کار نوشته میشود پس دستورات داخل حلقه حداقل یک بار انجام میشوند do{ دستور; }whlie(....); امیدوارم مطالب مفید واقع شوند موفق باشید
  11. elmi

    آموزش زبان c

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

    آموزش زبان c

    include include void main(void){ DDRA=0X00; while(1){ PINA.0=1; delay_ms(1000); PINA.0=1; delay_ms(1000); } } بچه ها شرمنده اما هر کاری کردم جای این علامتها درست نشد قول میدم هروقت تونستم این اشکال رابرطرف کنم موفق باشید
  13. elmi

    آموزش زبان c

    با سلام خدمت دوستان اول طبق قولی که دادم یک برنامه ی روشن کردن ledکه برای همتون خیلی ساده و قابل فهم هست را میگم این صرفا برای اینه که شما کمی با برنامه نویسی اشنا بشین و بدونید که برنامه نویسی زیادم درس خشکی نیست و اگر بتونین اون را درک کنیدکارتون توی برنامه نویسی راحت میشه خوب حالا میریم سر برنامه خط اول برای فراخوانی کتابخانه هاست که در واقع نرم افزار بدونه ما میخاهیم چه سخت افزاری را بهش وصل کنیم وباید چه دستوراتی را انجام بده و فراخوانی را با include شروع میکنیم وهمیشه همینطوره حالا با نوشتن void میایم و این بخش کتابخانه را از اصل برنامه جدا میکنیم تا اینجا فرم برنامه ثابته و برای همهی برننامه ها وجود داره تنها شاید اسامی فراخوانی کتابخانه ها با نام های دیگری باشه بازم اگر خوب درک نکردین به اموزش میکروکنترولر ها توی این سایت یه سری بزنید چون اونجا به طور واضح گفته شده راستی علامت } یادتون نره به این معنااست که تنها دستورات داخل قلاب مربوط به برنامه ی void هستش در این قسمت با این علامات ورودی و خروجی را تعیین میکنیم یادتون نره این علامات همیشه داخل قلاب } voidقراردارن همیشه بدون هیچ قیدو شرطی راستی علامتی که در انتهای هر برنامه ملاحظه میکنید سمیکلن نام داره و برای نشان دادن اینه که برنامه در این خط تموم شده و اگر نگذارین به احتمال زیاد برنامه ی شما بهتون پیام خطا میده خوب چون پایه ی میکروی ما قراره 0و1 ارسال کنه با pinمشخص میکنیم خط بعدی هم میزان مدت زمان خاموش و روشن بودن ledرا به ما نشان میده به اندازه ی میلی ثانیه که در این برنامه داره میگه پایه ی میکرو را یک کن تا ledروشن بشه به اندازه ی یک میلی ثانیه صبر کن دوباره پایه ی میکرو را صفر کن یک میلی ثانیه صبر کن وحالا چون توی قلاب } while قرار داره این دستور را بینهایت بار تکرار میکنه
  14. elmi

    آموزش زبان c

    با سلام خدمت دوستان محترم: اول قبل از اینکه برم سرمعرفی برنامه یc بابت تاخیرم معذرت میخوام متاسفانه برام مشکلی پیش اومد و امیدوارم مطالب براتون مفیدباشه ابتدا براتون انواع حافظه ها را توضیح میدم در زبان cچند نوع حافظه داریم که به نسبت استفاده ی ما با ید انتخاب شوند به طور مثال برای برنامه میخواهیم یک مقداری را توی برنامه قرار بدیم مثلا عدد5 که بعدا از ان توی برنامه استفاده کنیم اگر این عدد را به باینری تبدیل کنیم(101)خواهد شدمنفرض را بر این گذاشتم که تبدیل به باینری ری میدونی د در غیر این صورت اگر بخواهید براتون توضیح میدم خوب حالا انواع حاظه ها: 1-double حافظه ی 16بیتی(یعنی دقت حدود 15 رقم) 2-long duoble 80 بیتی 3-float 32بیتی 4-unsigned int 32بیتی 5-signed long int 32بیتی 6- long int 32بیتی 7-signed short int 16بیتی 8-unsigned short int 16بیتی 9- short int 16بیتی 10-signed int 16-32بیتی 11-int 16-32بیتی 12-signed char 8بیتی 13-unsigned char 8بیتی 14-char 8بیتی و حالا میریم سرمتغیر که به چه درد میخوره و چهطور ازش استفاده میکنیم متغیر را زمانی استفاده می کنیم که میخواهیم مقدار عددی دا خل ان بریزیم وحتما نباید این عدد یک مقدار ثابت باشه گاهی مقدار برای اینکه در حال تغییر است مثلا مدام در برنامه یک واحد به ان اضافه میشود از متغیر استفاده میکنی برای این که این مطلب را کاملا بفهمی در قست بدی مثال خواهم زد حالا میریم سر عملگر ها : عملگر ها در این برنامه مثل عملگر هایی است که در محاسباتمان از انها استفاده میکنیم و نسبت به هم تقدم تاخر دارند که با گذاشتن پرانتز می توان ترتیب انها را تعیین کرد برای علامت( جمع + ) (ضرب* ) ( تقسیم/ ) ( OR | ) (AND && ) و علامات دیگر ...... از دو عملگرORوAND زمانی استفاده میکنیم که بخواهیم دو متغیر را بخواهیم بررسی کنیم مسلما OR کردن دو عدد در برنامه نویسی کاری بی معنیست چون این عملگر برای مقایسه کردن دو چیز به کار میرود برای اضافه کردن یک واحد یک واحد به یک متغیر مثلi باید بنویسیم i++ برای کم کردن یک واحد یک واحد به یک متغیر مثلi باید بنویسیم i-- در ضمن برای سری بعد یه برنامه مینویسم تا با میکرو یه led را روشن خاموش کنید تا زیاد از مسایل تئوری خسته نشید موفق باشید
  15. elmi

    آموزش زبان c

    سلام به همه دوستان... از اونجایی که آموزش میکرو نیاز به یه زبان برنامه نویسی داره موازی با قسمت آموزش avr این تاپیک رو براتون گذاشتم ومیخوام به یاری خدا توی این قسمت آموزش زبان C رو قرار بدم امیدوارم به دردتون بخوره .
×
×
  • اضافه کردن...