ผลต่างระหว่างรุ่นของ "การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์"
ไปยังการนำทาง
ไปยังการค้นหา
Chaiporn (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย '== สัญญาณแอนะล็อกและการบันทึกค่า == [[Image:analog-signal.png|150px|thumb|ต…') |
Chaiporn (คุย | มีส่วนร่วม) |
||
แถว 6: | แถว 6: | ||
== การอ่านสัญญาณแอนะล็อก == | == การอ่านสัญญาณแอนะล็อก == | ||
− | + | ใช้ฟังก์ชันต่อไปนี้ในการอ่านสัญญาณแอนะล็อกจากขาของพอร์ท C โดยระบุหมายเลขขาเป็นพารามิเตอร์ของฟังก์ชัน | |
uint16_t read_adc(uint8_t channel) | uint16_t read_adc(uint8_t channel) |
รุ่นแก้ไขเมื่อ 15:09, 16 สิงหาคม 2552
สัญญาณแอนะล็อกและการบันทึกค่า
การอ่านสัญญาณแอนะล็อก
ใช้ฟังก์ชันต่อไปนี้ในการอ่านสัญญาณแอนะล็อกจากขาของพอร์ท C โดยระบุหมายเลขขาเป็นพารามิเตอร์ของฟังก์ชัน
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) เท่านั้น