طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
بر اساس رنج دمایی حداقل و حداکثر که توسط کاربر تعریف می شود می توان سرعت موتور را بین 1 تا 100 درصد به صورت خودکار تنظیم کرد.یک سیستم امنیتی که دارای یک کاربر اصلی می باشد و توسط این کاربر می توان کاربرهای متعددی با پسورد های مجزا تعریف نمود. می توان تا 100 کاربر و 100 پسورد مختلف را تعریف، و در قسمت ورود هر یک از اعضاء که نام کاربری و رمز عبور خود را بدرستی وارد کند یک رله به همراه LED روشن خواهد شد.در این پروژه با استفاده از یک ساعت نجومی و محاسبات ریاضی، دو عدد سروو موتور یکی در جهت XY و دیگری در جهت Z پنل خورشیدی را به صورت اتوماتیک در موقیعتی قرار می دهید که بیشترین تابش خورشید را دریافت کند.یک کنترل کننده موتور با جریان خروجی 2 آمپر شامل کنترل جهت چرخش و سرعت می باشد. این مدار دارای نمایشگر LCD متنی بوده که سرعت و جهت چرخش موتور را نمایش می دهد.ورودی این فرکانس متر قادر است با ولتاژهای 12 تا 500 ولت AC کار کند. ماکزیمم فرکانس اندازه گیری 20KHz می باشد. همچنین با تعیین نرخ نمونه برداری می توانید فرکانس را تا دو رقم اعشار اندازه گیری نمائید.
پروژه کنترل دور فن یا موتور توسط سنسور دما

MCP-41

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

MCP-12

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

MCP-25

پروژه کنترلر پنل خورشیدی با استفاده از ساعت نجومی
کنترل سرعت و جهت موتور DC

MCP-9

کنترل سرعت و جهت موتور DC
پروژه فرکانس متر صنعتی 500 ولت 20KHz با avr

MCP-1

پروژه فرکانس متر صنعتی 500 ولت 20KHz با avr

طرز كار LCD ماتريسي كدها و دستورالعمل ها و مثال lcd 1*16 , 2*20

 طرز كار LCD ماتريسي كدها و دستورالعمل ها و مثال (ال سي دي 1*16 و 2*20)
 
1
VSS
--
زمين
جدول 1
2
VCC
--
منبع تغذيه
3
VEE
--
منبع تغذيه منترل درخشندگي
4
RS
I
اگرRS=0 باشد ثبات براي دريافت دستورالعمل انتخاب مي شود. (جدول 2)
اگر RS=1 باشد ثبات براي دريافت داده انتخاب مي شود.
5
R/W
I
نوشتن بر روي LCD يا خواندن از LCD
6
E
I
گذرگاه داده 8 بيتي
7
DB0
I/O
 
 
 
 
گذرگاه داده 8 بيتي
8
DB1
I/O
9
DB2
I/O
10
DB3
I/O
11
DB4
I/O
12
DB5
I/O
13
DB6
I/O
14
DB7
I/O
 
پايه E: (فعال) LCD از اين پايه براي لچ كردن اطلاعات ارانه شده به پايه هاي داده اش استفاده مي كند. وقتي داده به پايه هاي داده اعمال شد، يك پالس بالا-پايين با اين پايه، اعمال مي گردد تا به اين وسيله LCD داده موجود در پايه هاي داده را لچ كند. اين پالس حداقل بايد 450 نانو ثانيه عرض داشته باشد.MGH

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


جدول2

كد HEX فرمان دستور العمل كد HEX فرمان دستور العمل
1 پاك كردن صفحه نمايش E نمايش روشن مكان نما روشن
2 بازگشت به مكان اول(شروع) F نمايش روشن مكان نما روشن چشمك بزند
4 كاهش مكان نما (جابجايي مكان نما به چپ) 10 جابجايي محل مكان نما به چپ
6 افزايش مكان نما (جابجايي مكان نما به راست) 14 جابجايي محل مكان نما به راست
5 جابجايي نمايش به راست 18 كل صفحه نمايش به چپ جابجا شود
7 جابجايي نمايش به چپ 1C كل صفحه نمايش به راست جابجا شود
8 نمايش خاموش مكان نما خاموش C0 مكان نما به آغاز خط دوم برود
A نمايش خاموش مكان نما روشن 38 سازمان دهي 2 خط و ماتريس 5*7
C نمايش روشن مكان نما خاموش -- --

    آدرس مكان نما در بعضي از LCD ها (كدها در مبناي هگز مي باشد)

 

8F تا 83 82 81 80 آدرس شروع خط اول LCD 2*16
CF تا C3 C2 C1 C0 خط دوم
93 تا 83 82 81 80 خط اول LCD 1*20
93 تا 83 82 81 80 خط اول LCD 4*20
D3 تا C3 C2 C1 C0 خط دوم
93 تا 83 82 81 80 خط اول LCD 2*16
D3 تا C3 C2 C1 C0 خط دوم
A7 تا 97 96 95 94 خط سوم
E7 تا D7 D6 D5 D4 خط چهرم
A7 تا 83 82 81 80 خط اول LCD 2*40
E7 تا C3 C2 C1 C0 خط دوم

مثال LCD 1*16 برنامه اي بنويسيد كه ال سي دي عبارت MOHSEN GHASEMIAN را بر روي LCD نمايش دهد؟ سخت افزار: پايه هاي ديتا D0-D7 را به پورت ميكروكنترلر 8051 وصل مي كنيم و پايه هاي كنترلي را به صورت زير اتصال مي دهيم: E=P3.2 و R/S=P3.0 البته ما در طراحي سخت افزار آزادايم تا هر پورتي را به هر نحوي كه بخواهيم برنامه ريزي كنيم.MGH ابتدا برنامه را به صورت جزء به جزء مي نويسيم:

برنامه اصلي:

START:   CALL    LCD   
                        MOV     DPTR,#600H 
                        MOV     R5,#00H
                        MOV     R7,#80H
LOOP:    CALL    DATALCD
                        INC     R7
    INC     R5              
                        CJNE    R7,#90H, LOOP
             SJMP    START 
زير برنامه ها:
LCD:       MOV A,#01H
                        CALL WRT
                        CALL DELAY
                        MOV A,#0EH
                   CALL WRT    
                        CALL DELAY
                        RET
DATALCD:   MOV A,R7
                            CALL WRT
                            CALL DELAY
                            MOV A,R5
                    MOVC A,@A+DPTR       
                            CALL DATAWRT
                            CALL DELAY
                            RET
WRT:       MOV    P2,A
          CLR    P3.0             
                          SETB   P3.2
                          CLR    P3.2
                          RET       
DATAWRT:   MOV    P2,A
                             SETB   P3.0
                             SETB   P3.2
                             CLR    P3.2
                             RET           
DELAY:     MOV     R3,#08FH
MGH1:      MOV     R4,#0FFH
MGH2:      DJNZ    R4,MGH2
                          DJNZ    R3,MGH1
                          RET
           ORG    600H
       "DB     "MOHSEN GHASEMIAN
           END

توضيح: زير برنامه LCD با توجه به اعدادي كه در جدول 2 گفته شده برنامه ريزي شده وظيفه اين زير برنامه پاك كردن صفحه نمايش است.MGH زير برنامه  :DATALCDوظيفه اين زير برنامه اين است كه به حافظه ROM ميكرو رفته و با توجا به آدرس هاي كه ما به او ميدهيم اطلاعات اين خانه ها براي فرستادن به LCD از حافظه مي آورد. نكته هر بار وفقط يك خانه 8 بيتي كه معادل يك كاراكتر است را براي ما مي آورد پس ما بايد به تعدا كاراكتر هاي LCD اين برنامه تكرار نمايم كه در اين مثال با توجه به جدول خانه اولي يعني 80H را در R7 قرار داديم و به كمك يك دستور مقايسه اين زير برنامه را 16 بار تكرار مي كنيم تا جمله را براي ما بنويسد.MGH زيربرنامهWRT: وظيفه اين زير برنامه با توجه به جدول2 ثبات RS ال سي دي را صفر مي كند و اين بدين معني است كه LCD را براي گرفتن دستور العمل آماده مي كند.MGH زيربرنامهDATAWRT: وظيفه اين زير برنامه با توجه به جدول2 ثبات RS ال سي دي را يك مي كند و اين بدين معني است كه LCD را براي گرفتن ديتا آماده مي كند.(يك عدد كاراكتر)MGH زيربرنامهDELAY:اين زير برنامه برنامه تاخيري مي باشد كه در اصل مي توان با آن سرعت نوشت كاراكتر ها را تنظيم كرد.MGH مثال LCD 2*20 برنامه اي بنويسيد كه در خط اول عبارت MOHSEN GHASEMIN را بنويسد و در خط دوم عبارت WWW.PICPARS.COM را بنويسد؟ برنامه طبق مثال قبلي مي باشد و تنها دو زير برنامه به آن اضافه شده كه عبارت اند از: يك زير برنامه اي براي سازمان دهي LCD دوخطي. و زير برنامه دوم براي نوشتن روي خط دوم LCD مي باشد!MGH

برنامه اصلي:

                        ORG       100H
START:    CALL     LINE1 
          CALL    LCD   
                        MOV     DPTR,#600H
                        MOV     R5,#00H
                        MOV     R7,#80H
              WRFAST8: CALL    DATALCD
                        INC     R7            
                        INC     R5
                        CJNE    R7,#94H,WRFAST8            
                        CALL    LINE2
                        MOV     DPTR,#700H                          
                        MOV     R5,#00H
                        MOV     R7,#0C0H
WRFAST9: CALL    DATALCD
                        INC     R7
                        INC     R5
                        CJNE    R7,#0D0H,WRFAST9
                         SJMP   START
زير برنامه ها:
LCD:       MOV A,#01H
                        CALL WRT
                        CALL DELAY
                        MOV A,#0EH
              CALL WRT         
                        CALL DELAY
                        RET
DATALCD:   MOV A,R7
                            CALL WRT
                            CALL DELAY
                            MOV A,R5
                    MOVC A,@A+DPTR       
                            CALL DATAWRT
                            CALL DELAY
                            RET
WRT:       MOV    P2,A
                          CLR    P3.0              
                          SETB   P3.2
                          CLR    P3.2
                          RET       
DATAWRT:   MOV    P2,A
                             SETB   P3.0
                             SETB   P3.2
                             CLR    P3.2
                             RET            
DELAY:     MOV     R3,#08FH
MGH1:      MOV     R4,#0FFH
MGH2:      DJNZ    R4,MGH2
                          DJNZ    R3,MGH1
                          RET
         
LINE1:     MOV    A,#38H
          CALL   WRT           
                          CALL   DELAY
                         MOV    A,#0EH
                         CALL   WRT
                         CALL   DELAY
                         MOV    A,#80H            
                         CALL   WRT             
                         CALL   DELAY
                         RET
LINE2:     MOV    A,#38H
                         CALL   WRT
                         CALL   DELAY
                         MOV    A,#0EH
                         CALL   WRT
                         CALL   DELAY
                         MOV    A,#0C0H
                         CALL   WRT
                         CALL   DELAY
                         RET
ORG    600H
DB     "MOHSEN GHASEMIAN"
        
ORG 700H
DB       "WWW.PICPARS.COM"
END

 

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال چهارشنبه، 21 بهمن ماه، 1388    نویسندهنویسنده: مدیریت    نظرات 0 نظر    بازدید بازدید [ 9657 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان