08 Maret 2010

Menggunakan Komparator Internal AT89C2051 Sebagai Analog / Digital Converter

Artikel ini menjelaskan cara menggunakan komparator internal dari mikrokontroler AT89C2051 menjadi sebuah Analog / Digital converter. Anda semua mungkin tahu bahwa mikrokontroler AT89c2051 memiliki komparator internal yang terhubung ke pin P1.0 dan P1.1 dan output komparator internal terhubung ke P3.6 .

Pada beberapa aplikasi kita mungkin memerlukan sebuah indikasi level tegangan sederhana dengan tingkat akurasi yang rendah. Pada saat itulah kita tidak memerlukan high-end Analog / Digital converter. Pada saat itu juga ide untuk membuat Analog / Digital converter dari komparator internal AT89c2051 dapat kita lakukan . Hal Ini hanya membutuhkan tambahan kapasitor dan sebuah resistor.

Prinsip operasi
Tegangan yang tidak diketahui diumpankan ke P1.0, kemudian dibandingkan dengan komparator tegangan yang dihubungkan dengan kapasitor dan resistor. Resistor dihubungkan dengan Vcc yang digunakan untuk mengisi kapasitor. Muatan dapat dihentikan oleh Internal Transistor T1.

Transfer dimulai setelah discharge kapasitor C1 dari output P1.1 (transistor T1, waktu t1 dalam grafik). Setelah pemutusan T1 mulai mengisi C1 melalui resistor R1. Pada saat yang sama counter internal (CT0) dimulai, CT0 mulai mengukur waktu sampai saat komparator internal P1 mengalami perubahan output. Ini berarti bahwa saat ini Uc = Uvst. Keadaan ini ini ditunjukkan dalam tabel sebagai waktu t2. Waktu t2-t1 adalah proporsional Uvst.


Source Code:

;------------------------------------------------- --------------------

; Integration AD converter
, Using an internal comparator
;
, Capacitor 22nF and resistor 22Kis connected to the P1.1 
; and the unknown voltage(0 to 5V) is fed to the P1.0
, Input voltage Ux (comparator). Time is proportional to the voltage
, For more accurate measurements would be necessary to charge the capacitor the source
, Control is transferred after the measurement content CT0-TL0
, The ports P1 and P3, so that the P3.0 and P3.3 protruded lower
, Nibble and P1.4 to P1.7 higher nibble
;
 
setCT equ 00000001b; counter settings
 
org 0000h
mov TMOD,#setCT; settings Counters
again P1.1; discharge capacitor
nop
nop
nop; delay in discharge
setb P1.1 ; start charging
setb TR0  ; start counting
Wait: jb P3.6,wait ;wait for rollover Comparator
Clr TR0 ; stop counters
mov A,TL0 ; transmission status counters
orl A,#0F0h ; upper nibble
mov P3,A  ; and transfer to P3
mov A,TL0 ; transmission status counters
orl A,#0Fh ; lower nibble
mov P1,A  ; and transfer to the P1
mov TL0,#0 ; reset counters
ajmp opposite ; Jump again
end

Sumber: http://www.8051projects.info/blogs/post/Using-AT89C2051-Internal-comparator-as-AD-converter.aspx

Ikuti Blog ini

Langganan

Mau dapet Update-an Blog ini lewat e-mail? Masukkin aja alamat Email kamu disini:

Dikirim Oleh FeedBurner