طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه در اصل یک ساعت زنگ دار می باشد که قابلیت برنامه ریزی آلارم صبحگاهی و تنظیم 5 برنامه یادآور را دارد. با تنظیم آلارم هر روز راس ساعت تنظیمی آلارم پخش می شود، همچنین با تنظیم یادآور ها در ساعت و تاریخ مشخص نیز آلارم پخش می شود. از امکانات آن می توان برای هر یادآور یک نام تعیین کرد (20 کاراکتر اسکی) با قابلیت تایپ حروف کوچک و بزرگ انگلیسی با کیبورد 3×4 و ...این پروژه یک مدار واسط I/O می باشد که دارای 4 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر چهار رله را به صورت مجزا فعال و غیر فعال کرد.در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و به صورت پیوسته توان مصرفی اندازه گیری و نمایش داده می شود.این پروژه یک ساعت آنالوگ، تاریخ شمسی و روزه هفته به زبان فارسی به همراه ساعت دیجیتال می باشد. قابلیت تنظیم ساعت و تاریخ توسط سه عدد میکروسوئچیک سیستم امنیتی که دارای یک کاربر اصلی می باشد و توسط این کاربر می توان کاربرهای متعددی با پسورد های مجزا تعریف نمود. می توان تا 100 کاربر و 100 پسورد مختلف را تعریف، و در قسمت ورود هر یک از اعضاء که نام کاربری و رمز عبور خود را بدرستی وارد کند یک رله به همراه LED روشن خواهد شد.
پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr

MCP-7

پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr
پروژه کنترل رله توسط پورت USB با AVR و C شارپ

MCP-31

پروژه کنترل رله توسط پورت USB با AVR و C شارپ
پروژه محافظ برق و اندازه گیری توان مصرفی با avr و نمایشگر سون سگمنت

MCP-43

پروژه محافظ برق و اندازه گیری توان مصرفی با avr و نمایشگر سون سگمنت
ساعت آنالوگ با AVR و lcd گرافیکی به زبان c

MCP-36

ساعت آنالوگ با AVR و lcd گرافیکی به زبان c
پروژه سیستم امنیتی با قابلیت تعریف کاربر و رمز عبور با avr

MCP-12

پروژه سیستم امنیتی با قابلیت تعریف کاربر و رمز عبور با avr

C

آموزش ميكرو كنترلر 8051 قسمت اول (سخت افزار)

در مورخه : يكشنبه، 27 دي ماه، 1388 موضوع : اسمبلی8051

قبل از همه چيز چرا 8051 ؟
ميكرولنترلر 8051 پايه و اساسي است براي يادگيري ديگر ميكروكنترلر ها دستورات اسمبلي اين ميكرو نسبت به AVR خيلي كمتر هست و داراي امكانات كمتري نسبت به ديگر ميكرو ها است به همين دليل يادگيري و فهم آن خيلي راحت و آسان مي باشد كه براي شروع ابتدا بايد مفاهيم منطق و ديجيتال را خوب فهميده باشيد و بعد از آن بايد سخت افرار 8051 و RAM و ROM داخلي آن را درك كرده باشيد تا بتوانيد يك برنامه كاربردي بنويسيد تا يك پروسه را كنترل كند. خيلي ها براي يادگيري ميگن كه ما كه مي خواهيم برنامه نويسي ميكرو را ياد بگيرم پس بهتر بالاترين ميكرو يعني AVR يا PIC ياد بگيريم در صورتي كه به نظر من كاملا اشتاه بوده و كار غلطي است كه اگه بخواهيد تا آخر ادامه دهيد كاري طاقت فرسا خواهد بود. مثل اين خواهد بود كه سقف طبقه اول يك ساختمان را درست نكرده باشيم و بخواهيم طبقه دوم را درست كنيم. در اين وبلاگ من تا بتوانم به زبان ساده و روان مطالب را بيان خواهم كرد كه البته اگه يكم علاقه و پشتكار داشته باشد مطمئن باشيد به ميكرو مسلط خواهيد شد و مي توانيد آن را به راحتي برنامه ريزي كنيد. قيمت اين ميكرو خيلي ارزان مي باشد در حدود 1000 تومان و حافظه ROM آن قابل پاك كردن و استفاده مجدد مي باشد پس شما به راحتي مي توانيد در خانه يا محل كار براي راحتي خود و افراد خانواده چيزهايي با آن بسازيد كه آدم باورش نشه كه اينو خودش ساخته و طراحي كرده.



 بیشتر

آموزش ميكرو كنترلر 8051 قسمت سوم (معرفي دستورات)

در مورخه : پنجشنبه، 1 بهمن ماه، 1388 موضوع : اسمبلی8051

دستورات JUMP , LOOP , CALL
دستور LOOP
LOOP به معناي حلقه مي باشد كاربرد آن در 8051 براي تكرار يك رشته دستورات مي باشد به كمك اين دسور مي توان تعداد خيلي زيادي از دستورات را تكرار كرد كه اگر بخواهيم آن دستورات را تك تك بنويسيم هم طول برنامه زياد مي شود و حجم برنامه كه باعث مي شود ROM 8051 به راحتي پر شود.قالب دستور به اين صورت مي باشد: DJNZ   REG,LABEL
از اين دستور بيشتر براي ايجاد حلقه هاي تاخيري و شمارنده بكار مي رود. براي مثال كاربرد آن را در تاخير با يك مثال روشن مي كنيم:


            MOV  R1,#09H
LOOP:   MOV  R2,#05H
MGH1:  DJNZ  R2,MGH1
            DJNZ  R1,LOOP



 بیشتر

آموزش ميكرو كنترلر 8051 قسمت چهارم (معرفي دستورات)

در مورخه : يكشنبه، 4 بهمن ماه، 1388 موضوع : اسمبلی8051

جمع و تفريق بي علامت دستور (ADD)
از اين دستور براي جمع دو داده 8 بيتي استفاده مي شود. براي عمل جمع حتما بايد يكي از داده ها در انباره A باشد و ديگري مي تواند در يكي از ثباتها يا داده فوري باشد.
قالب دستور:  ADD  A,SOURCE
مثال عدد 10H را با E5 جمع كنيد؟
ابتدا يك از اعداد را به طور دلخواه در انباره ريخته و سپيس عدد ديگر را با انباره جمع مي كنيم


MOV    A,#10H                  10H
ADD   A,#0E0H                 +E5H  =F5H        A=F5H


نكته: اگر بعد از علامت پوند # عددي در مبناي هگز باشد كه بايت سنگين آن يكي از حروفهاي A تا  F باشد بايد حتما بين اين حروفها و # صفر قرار دهيم تا كامپايلر آن را يك عدد در مبناي هگز بشناسد نه يك حرف انگليسي.
بعد از عمليات جمع نتيجه حاصل جمع در خود انباره قرار مي گيرد.



 بیشتر