Đối với chip ATmega32, nguồn xung nội 1MHz được set mặc định trên các chip mới. Xem lại hình 1 bạn thấy CKSEL3=0 (được checked), CKSEL2=0 (được checked), CKSEL1=0 (được checked), CKSEL0=1 (không check). Các hình 1, 2, 3 và 4 bên dưới gợi ý bạn cách chọn nguồn xung nội bằng phần mềm nạp PonyProg, chú ý sau khi chọn các bits bạn phải nhấn bút “Write” để ghi vào chip.
Hình 1. Chọn nguồn xung nội 1MHz (đồng thời tắt JTAG, Boot Loader, BOD).
Hình 2. Chọn nguồn xung nội 2MHz (đồng thời tắt JTAG, Boot Loader, BOD).
Hình 3. Chọn nguồn xung nội 4MHz (đồng thời tắt JTAG, Boot Loader, BOD).
Hình 4. Chọn nguồn xung nội 8MHz (đồng thời tắt JTAG, Boot Loader, BOD).
Xung giữ nhịp từ mạch thạch anh bên ngoài (Crystal): dùng xung nội có nhược điểm là tấn số xung đã được giữ cố định trong 4 mức và tấn số cao nhất có thể đạt là 8MHz trong khi AVR cho phép làm việc ở 16Mhz, mặc khác sai số cũng tương đối lớn khi xùng xung nội. Dùng thạch anh để tạo xung giữ nhịp là một giải pháp tốt, có thể tạo một mạch thạch anh đơn giản và nối với 2 chân XTAL1 và XTAL2 của AVR như trong hình 5.
Hình 5. Mạch tạo xung ngoài bằng thạch anh.
Để “báo” cho AVR biết là chúng ta muốn sử dụng thạch anh ngoài làm mạch tạo xung, hãy set các Fuse bits CKSEL3:0 thành 1 trong 2 giá trị: 1111 hoặc 1010 (nhị phân). Trong trường hợp này, Fuse bit CKOPT có tác dụng chọn giữa 2 chế độ khuyếch đại, chế độ CKOPT = 0 (programmed) thích hợp với thạch anh có tần số lớn nhất là 16MHz và CKOPT=1 (unprorgammed) khi tần số thạch anh nhỏ hơn hoặc bằng 8MHz. Các hình 6 và 7 gợi ý cách set Fuse bits để chọn nguồn xung nhịp là mạch thạch anh ngoài với các tần số lớn nhất 8MHz và lớn nhất 16MHz.
Hình 6. Chọn xung giữ nhịp từ thạch anh ngoài với tần số lớn nhất là 8MHz.
Hình 7. Chọn xung giữ nhịp từ thạch anh ngoài với tần số lớn nhất là 16MHz.
Sau khi đã chọn các Fuse bits, việc cuối cùng và rất quan trọng là ghi các Fuse bits này vào chip bằng cách nhấn nút “Write” (PonyProg).