การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 15:06, 16 สิงหาคม 2552 โดย Chaiporn (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย '== สัญญาณแอนะล็อกและการบันทึกค่า == [[Image:analog-signal.png|150px|thumb|ต…')
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

สัญญาณแอนะล็อกและการบันทึกค่า

ตัวอย่างสัญญาณแอนะล็อก
การบันทึกข้อมูลแบบดิจิทัล 2 ระดับ (1 บิต)
การบันทึกข้อมูลแบบดิจิทัล 1024 ระดับ (10 บิต)

การอ่านสัญญาณแอนะล็อก

ใช้ฟังก์ชันต่อไปนี้ในการอ่านสัญญาณแอนะล็อก โดยระบุหมายเลขขาเป็นพารามิเตอร์ของฟังก์ชัน

uint16_t read_adc(uint8_t channel)
{
    ADMUX = 0x40;
    ADMUX |= channel;
    ADCSRA = 0xC6;
    while ((ADCSRA & (1<<ADSC)))
        ;
    return ADCL + ADCH*256;
}

ไมโครคอนโทรลเลอร์เบอร์ ATMega168 รุ่นที่เป็นขา DIP 28 ขานั้นสามารถประมวลผลอินพุทที่เป็นสัญญาณแอนะล็อกผ่านทางขา ADC0 ถึง ADC5 (ซึ่งคือขา PC0 ถึง PC5) เท่านั้น