Logo 150Logo 150Logo 150Logo 150
  • صفحه اصلی
  • میکروکنترلرها
    • میکروکنترلرهای AVR
      • آموزش AVR در CodeVision
      • آموزش Atmel Studio
      • AVR بیسیک
    • میکروکنترلرهای PIC
    • میکروکنترلرهای ARM
      • خانواده STM32
    • میکروکنترلر 8051
    • برنامه نویسی گرافیکی
      • LabView
  • مقالات
    • قطعات و نکات فنی
    • خواندنی ها
    • کتاب-جزوه-مجله
  • نرم افزار
    • کتابخانه آلتیوم
      • Microchip
  • پروژه های آماده
  • خرید پروژه
  • حل تمرینات
  • تماس با ما
  • کانال ها
    • کانال تلگرام
    • اینستاگرام
    • آپارات
    • یوتیوب

پروژه ولت متر دیجیتال با 8051 به زبان اسمبلی

  • صفحه نخست
  • مطالب سایت میکروکنترلرها میکروکنترلر 8051
  • پروژه ولت متر دیجیتال با 8051 به زبان اسمبلی
آموزش میکروکنترلر PIC به زبان بیسیک
21 بهمن, 1388
راه اندازي استپ موتور با 8051 (STEPER MOTOR)
21 بهمن, 1388
منتشر شده توسط مدیر در 21 بهمن, 1388
موضوعات
  • میکروکنترلر 8051
برچسب ها
  • ADC804
  • آنالوگ در 8051
  • اسمبلی
  • اندازه گیری ولتاژ
  • تبدیل به دیجیتال در 8051
  • کار با ADC به زبان اسمبلی
  • کار با مبدل آنالوگ به دیجیتال
  • محافظ الکترونیکی
  • محافظ برق با 8051
  • محافظ دیجیتال
  • محافظت از نوسان برق
  • ولت متر
  • ولت متر دیجیتال با 8051
پروژه ولت متر دیجیتال با 8051 به زبان اسمبلی

بازدیدها: 146

در دنياي امروزي يعني دنياي ديجيتال همه آيسي ها و يا ميكرو كنترولرها و ساير پردازنده عمده مصرف آنها در طراحي مدارتي است كه با سنسور ها سروكار دارند. همانطور كه مي دانيم خروجي تمامي سنسور ها يا جريان هستند و يا ولتاژ كه دامنه جريان و ولتاژ آنها بسيار پايين بوده و حتي در مواردي آنها را با استفاده از تقويت كننده هاي عملياتي تا يك محدوده اي تقويت مي كننده و بعدا تقويت شده آن را به ADC مي دهند. ADC يك مبدل آنالوگ به ديجيتال مي باشد كه با استفاده از پايه 9 يعني Vref مي توان مقدار دامنه سيگنال ورودي را با توجه به مقدار ولتاژ اين پايه تنظيم كرد.
به اين صورت كه اگر اين پايه را رها كنيم و به جايي وصل نكنيم ولتاژ دامنه سيگنال ورودي مي تواند در محدوده 0 تا 5 ولت باشد كه در اين صورت گام هر پله برابر با 19.23=256÷5 ميلي ولت خواهد شد. براي ديگر ولتاژ ها هم در زير مشخص شده است:

Verf=2v        -> vin=0v-4v   4/255=15.62mv
Verf=1.5v     -> vin=0v-3v   3/255=11.71mv
Verf=1.28v    -> vin=0v-2.56v   2.56/255=10mv
Verf=1v        -> vin=0v-2v   2/255=7.81mv
Verf=.5v       -> vin=0v-1v   1/255=3.90mv

گام پله يعني اينكه به ازاي چه مقداري از دامنه ورودي خروجي يك واحد باينري بالا يا پايين برود. مثلا با ولتاژ پايه 2ولت خروجي ديجيتال ما به ازاي هر 15.62 ميلي ولت ورودي يك واحد افزايش مي يابد يعني 18.62=00000001B و 37.24=00000010B خواهد شد و در ساير ولتاژ ها هم همين طور مي باشد. البته اگر قادر به توليد اين ولتاژ هاي پايه نباشيم مي توانيم توسط يك پتانسيومتر 10 كيلو و با تنظيم آن يك ولتاژ مبنا ايجاد كرد.
تشريح پايه ها:
1)     CS اين پايه در واقع انتخاب كننده چيپ مي باشد. كار برد اين پايه در مدارتي كه نياز به دو يا چند سنسنور باشد كه براي هر سنسور يك ADC استفاده مي كنيم و در ميكرو ما مي توانيم توسط اين پايه مشخص كنيم كه كدام يك از ADC ها انتخاب شوند و ميكرو زير برنامه چه سنسوري را اجرا كند. البته در مداراتي كه از يك سنسور استفاده مي كنيم چون ما يك آيسي داريم مي توانيم آن را زمين كنيم.
2)     RD همون طوري كه از معني آن پيدا است يعني خواندن. وقتي ما مي خواهيم يك سيگنال آنالوگ را به ديجيتال تبديل كنيم اگر پايه CS=0 باشد و پايه RD را هم صفر كنيم آيسي معادل ديجيتال سيگنال ورودي را در خروجي قرار مي دهد يعني D0-D7 . البته بايد از قبل توسط پايه WR كه در زير توضيح داده شده است سيگنال آنالوگ را براي تبديل آماده كنيم.
3)     WR يعني نوشتن. اگر پايه CS=0 باشد و WR را در يك لحظه صفر كنيم در واقع آغاز روند تبديل را به ADC اطلاع مي دهد. كه ADC بعد از متوجه شدن به سراغ سيگنال ورودي رفته و آن را تبديل كرده و در يك ثبات داخلي ذخيره مي كند تا زماني كه RD=0 شود و محتواي اين ثبات را به خروجي انتقال مي دهد.
4)     CLK IN اگر بخواهيم از يك منبع پالس ساعت بيروني استفاده كنيم پالس ساعت را به اين پايه اعمال مي كنيم و اگر بخواهيم از پالس ساعت داخلي خود ADC استفاده كنيم بايد اين پايه و پايه 19 را به يك مقاومت و خازن متصل كنيم. فركانس آن از طريق فرمول زير مي باشد: f=1/(1.1*RC)  مقادير پيشنهادي براي اين آيسي مقاومت 10 كيلو اهم و خازن 150 پيكو فاراد مي باشد كه زمان تبديل ADC با توجه به فرمول بالا 110 ميكرو ثانيه خواهد شد. يعني در زمان 110 ميكرو ثانيه اي مي تواند يك سيگنال را از ورودي بخواند و معادل ديجيتال آن را تحويل دهد.
5)     INTR همون وقفه هست. اين پايه هميشه در وضعيت يك قرار دارد و هرگاه سيگنالي در ورودي باشد و CS=0 و WR=0 باشد پس از پايان تبديل اين پايه صفر مي شود كه اگر اين پايه را به پايه وقفه بيروني 8051 وصل كنيم و آن را برنامه ريزي كنيم در اين صورت مي توانيم از CPU ميكرو كارهاي ديگري انجام دهيم و هرگاه عمل تبديل به اتما رسيد ميكرو متوجه مي شود و براي خواندن خرجي ADC مي رود و بعد از خواندن به كار قبلي خود خواهد برگشت. در كل براي صرفه جويي در وقت ميكرو مي باشد شما مي تواند اصلا استفاده نكنيد.(منظورم روش وقفه هست) البته من در اين مثال از روش وقفه سركش استفاده كردم يعني CPU كل خود را روي اين پايه مي گذارد و هرگاه صفر شده عمل فرائت را انجام مي دهد.
6)     VIN(+)
7)     VIN(-) اين دو پايه ورودي هاي تفاضلي هستند كه خروجي برابر با VIN=VIN(+)-VIN(-) خواهد بود. ولي ما اغلب از ورودي تفاضلي استفاده نمي كنيم و VIN(-) را به زمين وصل كرده و VIN(+) را هم سيگنال ورودي را به آن متصل مي كنيم.
8)     A GND زمين آنالوگ كه به زمين وصل مي كنيم.
9)     Vref/2 كه در بالا توصيح داديم
10)GND زمين آيسي
11)پايه 11 تا 18به ترتيب D0-D7 خطوط داده 8 بتي هستند. (D0=18…D7=11).
19)CLK R كه در بالا توضيح داديم.
20)VCC تغذيه آيسي.
قسمتي از برنامه را براي خواندن سيگنال آنالوگ و در نهايت تبديل به داده 8 بيتي و خواندن اين داده 8 بيتي و تبديل آن به مقدار ده دهي يعني دسيمال را نوشته ام در صورتي كه كل برنامه و سخت افزار كامل اين پروژه را بخواهيد با ايميل من تماس بگيريد. اين برنامه و شكل مداري در واقع يك نماي از اين پروژه هست. نام اين پروژه، محافظ ديجيتالي مي باشد كه ضمن اندازه گيري ولتاژ برق شهر و نمايش آن بر روي يك ال سي دي16*1 در صورتي كه برق شهر از 180 ولت پايين تر بيايد خروجي يعني رله را قطع مي كند و اگر از 240 ولت هم بالا تر رود باز هم خروجي را قطع مي كند. به طور كلي به ولتاژ هايي در محدوده 180تا 240 اجازه عبور مي دهد.
برنامه خواندن از ADC:

START:    CLR     P3.7        ;WR
          SETB    P3.7
LOOP:     JB      P3.6,LOOP   ;INTR
          CLR     P3.5        ;RD
              ACALL   DELAY
                  MOV     A,P1
برنامه تبديل هگز به دسيمال:
CONVERT: MOV     B,#0AH
                         DIV     AB
                         MOV     43H,B
                         MOV     B,#0AH
                         DIV     AB
                         MOV     42H,B
                         MOV     41H,A
فایل های سورس این برنامه (سورس اسمبلی و هگز و ..) همراه با فایل شبیه سازی آن که با پروتیوس 7.2 به بالا قابل اجرا می باشد در تاریخ 1390/10/19 به صورت رایگان برای دانلود عموم قرار گرفت.
Icon

دانلود پروژه ولت متر دیجیتال با 8051 به زبان اسمبلی

1 file(s) 54.38 KB
Download
Share
85
مدیر
مدیر

مطالب مرتبط

6 خرداد, 1389

تولید اعداد طبیعی با چهار بیت و نمایش روی 4 تا 7 سگمنت


اطلاعات بیشتر
6 خرداد, 1389

شمارنده 4 رقمي به زبان اسمبلی با 8051


اطلاعات بیشتر
6 خرداد, 1389

شمارنده سه رقمی همراه با بوق


اطلاعات بیشتر

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی برای PicPars.com محفوظ است. شماره همراه 09335751032 جهت ارتباط با خرید پروژها در تلگرام و واتساپ