ATmega32 cho phép ta lựa chọn 1 trong 2 cách sau để chuyển đổi 1 tín hiệu tương tự thành tín hiệu số:
− Khi bit ADSC được đặt lên 1 thì ADC bắt đầu chuyển đổi. Bit này luơn giữ ở mức cao khi quá trình chuyển đổi đang cịn tiếp diễn và được xĩa về 0 bằng phần cứng khi chuyển đổi đã hồn thành. Nếu cĩ 1 kênh khác được lựa chọn trong khi quá trình chuyển đổi cịn đang tiếp diễn thì ADC vẫn tiếp tục và hồn thành chuyển đổi đang thực hiện trước khi lựa chọn chuyển đổi kênh tiếp theo.
− Sự biến đổi cĩ thể lựa chọn bằng chế độ tựđộng trigger bằng cạnh lên dựa trên sự lựa chọn các nguồn trigger khác nhau. Chế độ tựđộng trigger được cho phép khi thiết lập bit ADATE trong thanh ghi ADCSRA lên 1. Nguồn trigger được lựa chọn bởi sự thiết lập và xĩa các bit ADTS trong thanh ghi ADCSRB. Khi cạnh dương của tín hiệu trigger xuất hiện thì tần số chuyển
ADC tự động trigger
Việc kết thúc quá trình biến đổi, nghĩa là thời điểm mà một tín hiệu analog đã
được số hố và sẵn sàng chờ xử lý tiếp tục, sẽ được báo hiệu qua cờ ngắt ADIF trong thanh ghi điều khiển và trạng thái ADC (ADCSRA).
Khi 1 chuyển đổi hồn thành và thanh ghi dữ liệu đã cập nhật kết quả thì bit này
được đặt lên 1. Kết quả của quá trình biến đổi A/D được đặt ở các thanh ghi dữ
liệu ADCH và ADCL.
Người dùng cịn cĩ thể lựa chọn một trong hai chế độ hiển thị kết quả chuyển
đổi:
− Nếu bit ADLAR trong thanh ghi ADMUX được xĩa về 0: ADCL (bit 0 đến bit 7) và ADCH (bit 8 và bit 9).
− Nếu bit ADLAR trong thanh ghi ADMUX được thiết lập lên 1: ADCL (bit 6 và bit 7) và ADCH (bit 8 đến bit 15).
Kết quả của chuyển đổi A/D: ADC = REF IN V V *1204
3.9 Bộ định thời Watchdog bên trong
Bộđịnh thời Wachdog là một bộđịnh thời điều khiển, được sử dụng làm thiết bị đánh thức trong trường hợp phần mềm bị rơi vào một hoặc một số vịng lặp vơ tận hoặc việc thực thi chương trình bị mắc lỗi. Bộ định thời Watchdog cĩ một lối ra, cĩ khả năng đặt lại bộđiều khiển.
Hình 2.10: Sơđồ khối bộđịnh thời Watchdog
Mạch định thời Watchdog timer được giữ nhịp từ một bộ giao động RC riêng biệt trên chip. Bằng cách điều khiển mạch chia tần số Watchdog timer, khoảng thời gian reset mạch Watchdog cĩ thểđiều chỉnh được, các khoảng Reset mạch Watchdog cũng phụ thuộc vào điện áp nguồn nuơi.
Chếđộ hoạt động tiết kiệm năng lượng:
ATmega32 cĩ nhiều khả năng làm giảm năng lượng tiêu thụ để chuyển sang trạng thái ngủ (sleep mode), bit SE trong thanh ghi MCUCR phải được đặt lên 1, lệnh Sleep sẽ được thực thi. Nếu một ngắt đã cho phép xuất hiện trong khi MCU đang ở
trạng thái ngủ, thì MCU sẽ thức dậy thực thi đoạn chương trình ngắt và lại tiếp tục thực thi từ lệnh kế tiếp theo lệnh Sleep. Nội dung của tệp thanh ghi, SRAM, và bộ nhớ
hệ thống tiếp tục hoạt động. Đặc tính này cho phép MCU đánh thức các ngắt được trigger từ bên ngồi cũng như ngắt bên trong giống như ngắt tràn bộđịnh thời và đặt lại watchdog. Nếu sựđánh thức từ ngắt bộ so sánh analog khơng được yêu cầu, thì bộ
so sánh analog cĩ thể bị ngắt nguồn nuơi bằng cách đặt bit ACD vào thanh ghi điều khiển và trạng thái so sánh analog ACSR. Biện pháp này làm giảm dịng tiêu thụ trong chếđộ nghỉ.
Khi bit SM được đặt lên một, lệnh Sleep bắt buộc MCU chuyển sang chế độ
tiết kiệm năng lượng hay giảm dịng tiêu thụ (power-down). Trong chếđộ này, bộ dao
động ngồi bị ngưng hoạt động, trong khi các ngắt ngồi và mạch Watchdog vẫn tiếp tục hoạt động hoặc ngắt theo mức ngồi lên INT0 hoặc INT1 mới cĩ thể đánh thức MCU.