7. ADC Conversion Flowchart
BerikutHere adalahis alurthe kerjacomplete lengkapworkflow penggunaanfor using the ADC padaon the ATmega328p:

FlowchartThe diflowchart atasabove menggambarkanillustrates the proses pembacaan ADC padareading process on the ATmega328p dalam modein single conversion denganmode metodeusing the polling method, denganwith konfigurasithe sebagaifollowing berikut:configuration:
-
Conversion Mode
konversi:
The ADCbekerjaoperatespadain single conversion mode,yaitumeaningsetiapeachkonversiconversiondimulaistartssecaramanuallymanualbydengansettingmengeset bitthe ADSC = 1.bit. -
MetodeSynchronizationsinkronisasiMethod:
StatusTheselesaiconversionkonversicompletiondiperiksastatusmenggunakanis checked using pollingterhadapofbitthe ADIFpadabitregisterin the ADCSRA,bukanregister,menggunakaninsteadinterupsi.of using interrupts. -
Auto
triggerTrigger:
FlowchartThisiniflowchartmengasumsikanassumes ADATE = 0,sehinggasokonversiconversionstidakdoberjalannototomatisrun automaticallydanandharusmustdimulaibeulangrestartedolehby the programsetiapeachkalitimepembacaanadilakukan.reading is taken. -
ADC Interrupt: This flowchart does not use ADC
:
Flowchartinterrupts,ini tidak menggunakan interrupt ADC, sehinggaso ADIE = 0. -
Input Channel
input:
ContohThekonfigurasiconfigurationpadaexample in the flowchartmenggunakanuses ADC0 (pin A0 / PC0)sebagaiaskanalthe analog inputanalog.channel. -
TeganganReferencereferensiVoltage:
FlowchartThisiniflowchartmengikutifollowscontohan assembly programassemblyexampleyangthatmenggunakanuses theteganganinternalreferensireferenceinternalvoltagemelaluiviakonfigurasithebitconfiguration of the REFS1:REFS0padabitsregisterin the ADMUX.register. -
Conversion Data Format
data hasil konversi:
HasilThe ADCdisimpanresultdalamisformatstored in right-justified format (ADLAR = 0),sehinggasonilaithe full 10-bitdibacavaluepenuhismelaluireadduathroughregister:two registers:- ADCL
sebagaias the low-byte - ADCH
sebagaias the high-byte
- ADCL
-
UrutanDatapembacaanRegisterregisterReadingdataOrder:
RegisterThe ADCLharusregisterdibacamustterlebihbedahuluread first,kemudianfollowed by ADCH,agarto ensure the conversion datahasilremainskonversi tetap konsisten.consistent. -
ADC Prescaler
ADC:
ContohThisiniexamplemenggunakanuses aprescalerCLK/128 prescaler (ADPS2:ADPS0 = 111).
JikaIf the system clocksistemis 16 MHz,makathe ADC clockADC menjadi:becomes:
NilaiThisinivalueberadaisdalamwithinrentangthekerjarecommended ADCyangoperatingdirekomendasikan.range.
RingkasanSummary Konfigurasiof yangConfiguration DigunakanUsed
- ADC Mode: Single Conversion
- Trigger Mode: Manual (
ADSC = 1) - Polling / Interrupt: Polling (
ADIF) - Auto Trigger:
NonaktifDisabled (ADATE = 0) - Interrupt ADC:
NonaktifDisabled (ADIE = 0) - Channel: ADC0 / A0 / PC0
- Data Alignment: Right-justified (
ADLAR = 0) - Prescaler: CLK/128
- ADC Clock
ADC: 125 kHz (jikaifF_CPU = 16 MHz)