Orodha ya maudhui:
- Hatua ya 1: ADC ni nini?
- Hatua ya 2: Jinsi ADC inavyofanya kazi katika AVR- Microcontroller
- Hatua ya 3: Mfumo wa Uongofu wa ADC
- Hatua ya 4: Jinsi ya kusanidi ADC katika ATmega8?
- Hatua ya 5: Uteuzi wa ADLAR
- Hatua ya 6: Uteuzi wa ADCSRA
- Hatua ya 7: Ikiwa Unataka Kuchukua Thamani ya ADC Lazima Uhitaji Kazi Iliyofanywa Iliyoorodheshwa Hapa chini
- Hatua ya 8: Weka Thamani ya ADC
- Hatua ya 9: Sanidi Pembe ya LED ya Pato
- Hatua ya 10: Sanidi vifaa vya ADC
- Hatua ya 11: Wezesha ADC
- Hatua ya 12: Anza Analog kwa Ubadilishaji wa Dijiti
- Hatua ya 13: WAKATI MILELE
- Hatua ya 14: Mwishowe Nambari kamili ni
Video: Utangulizi wa ADC katika AVR Microcontroller - kwa Kompyuta: Hatua 14
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Katika mafunzo ya thid utajua kila kitu ADC katika avr microcontroller
Hatua ya 1: ADC ni nini?
ADC, au Analog to Digital Converter, inaruhusu mtu kubadilisha voltage ya analog kuwa dhamani ya dijiti ambayo inaweza kutumiwa na mdhibiti mdogo. Kuna vyanzo vingi vya ishara za analog ambazo mtu anapenda kupima. Kuna sensorer za analog zinazopatikana ambazo hupima joto, kiwango cha mwanga, umbali, msimamo, na nguvu, kwa kutaja chache tu.
Hatua ya 2: Jinsi ADC inavyofanya kazi katika AVR- Microcontroller
ADR ADC inaruhusu mdhibiti mdogo wa AVR kubadilisha voltages za Analog kuwa maadili ya dijiti na chache kuwa sehemu za nje. ATmega8 ina alama ya kulinganisha AD-10 mfululizo. ADC ina pini tofauti ya usambazaji wa analog, AVCC. AVCC haipaswi kutofautiana zaidi ya ± 0.3V kutoka VCC.. Rejeleo la voltage linaweza kung'olewa nje kwenye pini ya AREF. AVCC hutumiwa kama kumbukumbu ya voltage. ADC pia inaweza kuweka kuendelea kuendelea (hali ya kukimbia bure) au kufanya uongofu mmoja tu.
Hatua ya 3: Mfumo wa Uongofu wa ADC
Ambapo Vin ni voltage kwenye pini ya pembejeo iliyochaguliwa na Vref rejeleo la voltage iliyochaguliwa
Hatua ya 4: Jinsi ya kusanidi ADC katika ATmega8?
Rejista zifuatazo zinatumika kwa utekelezaji wa ADC katika ATmega8
Uchaguzi wa ADC Multiplexer
Hatua ya 5: Uteuzi wa ADLAR
ADC Kushoto Kurekebisha Matokeo Kidogo cha ADLAR huathiri uwasilishaji wa matokeo ya ubadilishaji wa ADC katika Sajili ya Takwimu ya ADC. Andika moja kwa ADLAR kushoto kurekebisha matokeo. Vinginevyo, matokeo ni sawa kubadilishwa
Wakati ubadilishaji wa ADC umekamilika, matokeo hupatikana katika ADCH na ADCL Wakati ADCL inasomwa, Daftari la Takwimu la ADC halijasasishwa hadi ADCH itakaposomwa. Kwa hivyo, ikiwa matokeo yameachwa yamebadilishwa na hakuna zaidi ya usahihi wa 8-bit inahitajika, inatosha kusoma ADCH. Vinginevyo, ADCL lazima isomwe kwanza, kisha ADCH. Biti ya Uteuzi wa Kituo cha Analog Thamani ya bits hizi huchagua ni pembejeo gani za analogi zimeunganishwa na ADC.
Hatua ya 6: Uteuzi wa ADCSRA
• Kidogo 7 - ADEN: ADC Wezesha Kuandika kidogo hii kwa moja kuwezesha ADC. Kwa kuiandika kwa sifuri, ADC imezimwa
• Kidogo cha 6 - ADSC: ADC Anza Ubadilishaji Katika Njia ya Ubadilishaji Moja, andika kidogo hadi moja kuanza kila uongofu. Katika hali ya Kuendesha Bure, andika kidogo hii ili kuanza uongofu wa kwanza.
• Kidogo 5 - ADFR: ADC Bure Mbio Chagua Wakati kipengee hiki kimewekwa (moja) ADC inafanya kazi katika hali ya Kuendesha Bure. Kwa hali hii, sampuli za ADC na husasisha Rejista za Takwimu kila wakati. Kufuta kidogo (sifuri) Kumaliza Njia ya Kuendesha Bure.
• Kidogo 4 - ADIF: Bendera ya Usumbufu wa ADC Kidogo hiki kinawekwa wakati ubadilishaji wa ADC unakamilisha na Rejista za Takwimu zinasasishwa. Usumbufu kamili wa Uongofu wa ADC unafanywa ikiwa ADIE kidogo na I-bit katika SREG zimewekwa. ADIF inafutwa na vifaa wakati wa kutekeleza usumbufu wa Kushughulikia Vector. Vinginevyo, ADIF inafutwa kwa kuandika moja ya mantiki kwa bendera.
• Kidogo 3 - ADIE: Kukatizwa kwa ADC Wezesha Wakati kidogo hii imeandikwa kwa moja na I-bit katika SREG imewekwa, ADC Conversion Complete Interrupt imeamilishwa.
Bits 2: 0 - ADPS2: 0: Prescaler ya ADC Chagua Bits Kulingana na data, data hii inahitaji kuwekwa ili mzunguko wa uingizaji wa ADC uwe kati ya 50 KHz na 200 KHz. Saa ya ADC inatokana na saa ya mfumo kwa msaada wa ADPS2: 0 Biti hizi huamua sababu ya mgawanyiko kati ya masafa ya XTAL na saa ya kuingiza kwa ADC.
Hatua ya 7: Ikiwa Unataka Kuchukua Thamani ya ADC Lazima Uhitaji Kazi Iliyofanywa Iliyoorodheshwa Hapa chini
- Weka dhamana ya ADC
- Sanidi pini ya pato la LED
- Sanidi Vifaa vya ADC
- Washa ADC
- Anza Analog kwa Ubadilishaji wa Dijiti
- WAKATI Milele
Ikiwa ADC Thamani ya Juu kisha Weka thamani, Washa LED Nyingine Zima LED
Hatua ya 8: Weka Thamani ya ADC
Nambari: uint8_t ADCValue = 128;
Hatua ya 9: Sanidi Pembe ya LED ya Pato
Nambari: DDRB | = (1 << PB1);
Hatua ya 10: Sanidi vifaa vya ADC
Sanidi Vifaa vya ADC
Hii imefanywa kupitia kuweka bits kwenye rejista za kudhibiti kwa ADC. Kwanza, wacha tuweke kiunga kwa ADC. Kulingana na hati ya data, uangalizi huu unahitaji kuwekwa ili masafa ya kuingiza ADC iwe kati ya 50 KHz na 200 KHz. Saa ya ADC imetokana na saa ya mfumo. Na masafa ya mfumo wa 1MHz, daktari mkuu wa 8 atasababisha masafa ya ADC ya Khz 125. Usimamizi umewekwa na bits za ADPS kwenye rejista ya ADCSRA. Kulingana na data, data zote tatu za ADPS2: 0 lazima ziwekwe kwa 011 kupata daktari 8.
Nambari: ADCSRA | = (0 << ADPS2) | (1 << ADPS1) | (1 << ADPS0);
Ifuatayo, wacha tuweke voltage ya kumbukumbu ya ADC. Hii inadhibitiwa na bits za REFS kwenye rejista ya ADMUX. Yafuatayo huweka voltage ya kumbukumbu kwa AVCC.
Nambari: ADMUX | = (1 << REFS0);
Ili kuweka kituo kilichopita kupitia multiplexer kwenda kwa ADC, vipande vya MUX kwenye rejista ya ADMUX vinahitaji kuwekwa ipasavyo. Kwa kuwa tunatumia ADC5 hapa
Nambari: ADMUX & = 0xF0; ADMUX | = 5;
Ili kuweka ADC katika hali ya bure, weka kitufe kilichoitwa kwa jina la ADFR katika rejista ya ADCSRA:
Nambari: ADCSRA | = (1 << ADFR);
Mabadiliko ya mipangilio ya mwisho yatafanywa ili kufanya usomaji wa dhamana ya ADC iwe rahisi. Ingawa ADC ina azimio la bits 10, habari hii mara nyingi sio lazima. Thamani hii kidogo imegawanywa kwenye sajili mbili za 8, ADCH na ADCL. Kwa chaguo-msingi, bits 8 za chini kabisa za thamani ya ADC zinapatikana katika ADCL, na mbili za juu zikiwa bits mbili za chini kabisa za ADCH. Kwa kuweka kipengee cha ADLAR kwenye rejista ya ADMUX, tunaweza kushoto kulinganisha thamani ya ADC. Hii inaweka vipande 8 vya juu zaidi vya kipimo katika rejista ya ADCH, na zingine kwenye rejista ya ADCL. Ikiwa tutasoma rejista ya ADCH, tunapata thamani kidogo ya 8 ambayo inawakilisha kipimo chetu cha voliti 0 hadi 5 kama nambari kutoka 0 hadi 255. Kimsingi tunageuza kipimo chetu cha ADC 10 kuwa 8 kidogo. Hapa kuna nambari ya kuweka kidogo ADLAR:
Nambari:
ADMUX | = (1 << ADLAR); Hiyo inakamilisha usanidi wa vifaa vya ADC kwa mfano huu. Biti mbili zaidi zinahitaji kuwekwa kabla ya ADC kuanza kuchukua vipimo.
Hatua ya 11: Wezesha ADC
Ili kuwezesha ADC, weka ADEN kidogo katika ADCSRA:
Nambari: ADCSRA | = (1 << ADEN);
Hatua ya 12: Anza Analog kwa Ubadilishaji wa Dijiti
Ili kuanza vipimo vya ADC, ADSC kidogo katika ADCSRA inahitaji kuwekwa:
Nambari: ADCSRA | = (1 << ADSC);
Kwa wakati huu, ADC ingeanza kuendelea kuchukua sampuli ya voltage iliyowasilishwa kwenye ADC5. Nambari ya kufikia hapa itaonekana kama hii:
Hatua ya 13: WAKATI MILELE
Kitu pekee kilichobaki kufanya ni kujaribu thamani ya ADC na kuweka LEDs kuonyesha dalili ya juu / chini. Kwa kuwa usomaji wa ADC katika ADCH una thamani ya juu ya 255, thamani ya jaribio la th ilichaguliwa kuamua ikiwa voltage ilikuwa kubwa au ya chini. Taarifa rahisi ya IF / ELSE katika matanzi ya FOR itaturuhusu kuwasha taa sahihi ya LED kwenye:
Kanuni
ikiwa (ADCH> ADCValue)
{
PORTB | = (1 << PB0); // Washa LED
}
mwingine
{
PORTB & = ~ (1 << PB0); // Zima LED
}
Hatua ya 14: Mwishowe Nambari kamili ni
Nambari:
# pamoja
kuu (batili)
{
uint8_t ADC Thamani = 128;
DDRB | = (1 << PB0); // Weka LED1 kama pato
ADCSRA | = (0 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); // Weka mapema ya ADC kuwa 8 - // 125KHz kiwango cha sampuli 1MHz
ADMUX | = (1 << REFS0); // Weka kumbukumbu ya ADC kwa AVCC
ADMUX | = (1 << ADLAR); // Kushoto rekebisha matokeo ya ADC ili kuruhusu usomaji rahisi wa 8 kidogo
ADMUX & = 0xF0;
ADMUX | = 5; // Thamani za MUX zinahitajika kubadilishwa ili kutumia ADC0
ADCSRA | = (1 << ADFR); // Weka ADC kwa Njia ya Kuendesha Bure
ADCSRA | = (1 << ADEN); // Wezesha ADC
ADCSRA | = (1 << ADSC); // Anza Ubadilishaji wa A2D wakati (1) // Kitanzi Milele
{
ikiwa (ADCH> ADCValue)
{
PORTB | = (1 << PB0); // Washa LED1
}
mwingine
{
PORTE & = ~ (1 << PB1); // Zima LED1
}
}
kurudi 0;
}
Kwanza Chapisha mafunzo haya Bonyeza Hapa
Ilipendekeza:
Ubunifu wa Mchezo katika Flick katika Hatua 5: Hatua 5
Ubunifu wa Mchezo katika Flick katika Hatua 5: Flick ni njia rahisi sana ya kutengeneza mchezo, haswa kitu kama fumbo, riwaya ya kuona, au mchezo wa adventure
Kompyuta ya Raspberry Pi PC-PSU ya Kompyuta na Diski Ngumu, Shabiki, PSU na Zima ya Kuzima: Hatua 6
Kompyuta ya Raspberry Pi PC-PSU ya Kompyuta na Diski Ngumu, Shabiki, PSU na Zima ya Kuzima: Septemba 2020: Raspberry Pi ya pili iliyowekwa ndani ya kesi ya kusambaza umeme ya PC iliyokusudiwa, ilikuwa imejengwa. Hii hutumia shabiki juu - na mpangilio wa vifaa ndani ya kesi ya PC-PSU ni tofauti. Imebadilishwa (kwa saizi 64x48), Tangazo
Arduino Kama ISP -- Choma Faili ya Hex katika AVR -- Fuse katika AVR -- Arduino kama Mpangaji: Hatua 10
Arduino Kama ISP || Choma Faili ya Hex katika AVR || Fuse katika AVR || Arduino Kama Mpangaji: ……………………… Tafadhali SUBSCRIBE Kwenye kituo changu cha YouTube kwa video zaidi …….. Nakala hii yote ni kuhusu arduino kama isp. Ikiwa unataka kupakia faili ya hex au ikiwa unataka kuweka fuse yako katika AVR basi hauitaji kununua programu, unaweza kufanya
Jinsi ya Kufunga Programu-jalizi katika WordPress katika Hatua 3: 3 Hatua
Jinsi ya kusanikisha programu-jalizi katika WordPress katika Hatua 3: Katika mafunzo haya nitakuonyesha hatua muhimu za kusanikisha programu-jalizi ya WordPress kwenye wavuti yako. Kimsingi unaweza kusanikisha programu-jalizi kwa njia mbili tofauti. Njia ya kwanza ni kupitia ftp au kupitia cpanel. Lakini sitaweka orodha kama ilivyo kweli
Usanidi wa Baiti ya Fuse ya AVR Microcontroller. Kuunda na Kupakia katika Kumbukumbu ya Flash ya Microcontroller Programu ya Kuangaza ya LED. 5 Hatua
Usanidi wa Baiti ya Fuse ya AVR Microcontroller. Kuunda na Kupakia katika Kumbukumbu ya Flash ya Microcontroller Programu ya Blinking LED. Tutaandika programu yetu na kukusanya faili ya hex, tukitumia Studio ya Atmel kama jukwaa la maendeleo jumuishi. Tutasanidi fuse bi