- Giới thiệu về ADC.
- Cách cấu hình sử dụng module ADC trong Code Vision cho Atmega32
- Ví dụ
1. Giới thiệu về ADC
Chúng ta biết rằng các tín hiệu ở thế giới xung quanh chúng ta tồn là các tín hiệu tương tự : dịng điện 220VAC, dịng điện 5V, sức gió, tốc độ động cơ, tuy nhiên vi điều khiển chỉ xử lí được các tín hiệu số : 10101, như vậy, cần phải có 1 thiết bị nào đó để chuyển đổi qua lại giữa 2 loại tín hiệu này, đó là lí do vì sao chúng ta có các bộ ADC và DAC.
ADC là 1 thiết bị dùng để chuyển đổi tín hiệu tương tự thành tín hiệu số. Cịn DAC thì ngược lại, chuyển tín hiệu số thành tín hiệu tương tự.
Atmega32 có 8 chân của PORTA sử dụng làm 8 kênh đầu vào ADC. Để sử dụng tính năng ADC của Atmega32 chúng ta cần phải thiết kế phần cứng của Vi điều khiển như sau :
- Chân AVCC chân này bình thường khi thiết kế mạch chúng ta đưa lên Vcc(5V) nhưng khi trong mạch có sử dụng các kênh ADC của phần cứng thì chúng ta phải nối chân này lên Vcc qua 1 cuộn cảm nhằm mục đích cấp nguồn ổn định cho các kênh (đầu vào) của bộ biến đổi.
- Chân AREF chân này cần cấp 1 giá trị điện áp ổn định được sử dụng làm điện áp tham chiếu, chính vì vậy điện áp cấp vào chân này cần ổn định vì khi nó thay đổi làm giá trị ADC ở các kênh thu được bị trôi (thay đổi ) không ổn định với 1 giá trị đầu vào chúng ta có cơng thức tính như sau: ADCx=(V_INT*1024)/ AREF
Chúng ta thấy giá trị ADCx tỉ lệ thuận với điện áp vào V_INT. Giá trị ADC thu được từ các kênh được lưu vào 2 thanh ghi ADCH và ADCL khi sử dụng chúng ta phải đọc giá trị từ các thanh ghi này, khi sử dụng ở ché độ 8 bít thì chỉ lưu vào thanh ghi ADCL.
GIÁO TRÌNH VI ĐIỀU KHIỂN AVR 37 www.dks.edu.vn
Các thanh ghi liên quan
ADMUX (ADC Mutiplexer Selection Register) : Là thanh ghi điều khiển việc
chọn điện áp tham chiếu, kênh và chế độ hoạt động của ADC.
ADCSRA (ADC Control and Status Register A) : Là thanh ghi điều khiển hoạt
động và chứa trạng thái của module ADC.
ADCL và ADCH (ADC Data Register) : Là 2 thanh ghi chứa giá trị của ADC
sau quá trình chuyển đổi.
Cụ thể về ý nghĩa của các bit trong các thanh ghi này, các bạn có thể tham khảo trong datasheet của Atmega32.
GIÁO TRÌNH VI ĐIỀU KHIỂN AVR 38 www.dks.edu.vn
2. Cách cấu hình ADC trong Code Vision cho Atmega32.
Sau đây là các bước cấu hình để module ADC hoạt động : - Chọn điện áp tham chiếu, kênh đọc ADC (ADMUX) - Cho phép module ADC hoạt động (ADCSRA)
GIÁO TRÌNH VI ĐIỀU KHIỂN AVR 39 www.dks.edu.vn
3. Ví dụ minh họa
Trong ví dụ sau, chúng ta sẽ đọc giá trị của ADC được nối vào chân A0, giá trị ADC sau khi chuyển đổi được xuất ra port B và D
GIÁO TRÌNH VI ĐIỀU KHIỂN AVR 40 www.dks.edu.vn
Bài tập
Bạn hãy phân tích chương trình trên và chỉ ra các chế độ hoạt động của module ADC được cấu hình như trên.
GIÁO TRÌNH VI ĐIỀU KHIỂN AVR 41 www.dks.edu.vn