Translate

Cara Mengubah Resolusi ADC Mikrokontroller 10 Bit (1024) Menjadi 8 Bit (256) Bascom AVR

Cara Mengubah Resolusi ADC Mikrokontroller 10 Bit (1024) Menjadi 8 Bit (256) Bascom AVR


       Kali ini saya akan menjelaskan mengenai bagaimana cara merubah resolusi ADC mikrokontroller ATMega menggunakan bahasa Bascom AVR, jadi prinsip kerjanya merubah resolusi adc yang dari 0 - 1023 menjadi resolusi 0 - 255. Disini dicontohkan menggunakan potensiometer sebagai sensor yang akan membuktikan resolusi adc, jika biasanya setting default adc adalah 10 bit harusnya 0 - 1023 maka sekarang dirubah menjadi 0 - 255. Kegunaan adc resolusi ini yaitu bisa digunakan untuk setting pwm 8 bit atau untuk setting port 8 bit sesuai kebutuhan. untuk lebih jelasnya berikut adalah skema dan programnya.



a. Minimum System 

 


b. Potensiometer




c.  Rangkaian RS232




d. Program Bascom AVR

$regfile = "m8535.dat"
$crystal = 11059200
$baud = 9600

$hwstack = 64
$swstack = 64
$framesize = 64

'map(value, fromLow, fromHigh, toLow, toHigh)
Declare Function Map(byval X As Word , Byval In_min As Word , Byval In_max As Word , Byval Out_min As Word , Byval Out_max As Word ) As Word

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Dim H As Word
Dim Dataadc As Word

Start Adc

Do
Dataadc = Getadc(0)

   H = Map(dataadc , 0 , 1023 , 0 , 255)
   Print H

Waitms 200

Loop
End

Function Map(byval X As Word , Byval In_min As Word , Byval In_max As Word , Byval Out_min As Word , Byval Out_max As Word ) As Word
   Local A As Single
   Local B As Single
   A = X - In_min
   B = Out_max - Out_min
   A = A * B
   B = In_max - In_min
   A = A / B
   Map = A + Out_min
End Function




e. Video Hasilnya









No comments:

Post a Comment