TIMER/COUNTER1 là bộ Đếm/định thời 16-bit thiết kế để cho phộp chương trỡnh định thời một cỏch chớnh xỏc (quản lý sự kiện), tạo súng và đếm tớn hiệu thời gian với cỏc tớnh chất chớnh như sau:
9 Thiết kế 16-bit thực ( vớ dụ cho phộp 16-bit PWM) 9 Ba đơn vị so sỏnh ra độc lập
9 Gấp đụi bộđệm so sỏnh ra
9 Xoỏ bỏ nhiễu đầu vào được phỏt hiện
9 Xoỏ bộđếm khi đạt giỏ trị so sỏnh (Tựđộng nạp lại)
9 Xung tự do được tự động chữa bởi bộ điều chế độ rộng chuỗi xung (PWM)
27 9 Tạo tần số
9 Đếm sự kiện bờn ngoài
9 nguồn ngắt độc lập (TOV1, OCF1A, OCF1B, v à ICF1)
2.3.6 Bộ biến đổi A/D bờn trong
Atmega 128 cung cấp bộ biến đổi tương tự số với độ phõn giải 10 bit. Ngoài ra, bờn cạnh bờn cạnh bộ biến đổi ADC cũn cú một bộ dồn kờnh 8 nối vào, mỗi lối cú thể được dẫn riờng lẻ tới bộ hiển thị ADC. Bộ biến đổi ADC được sử dụng ở
PORTF. Nú cú khả năng kết hợp 16 đầu vào điện ỏp khỏc nhau. Hai đầu vào khỏc là ( ADC0 với ADC1 và ADC2 với ADC3) là cú thể lập trỡnh được hệ số khuếch
đại, nú cung cấp cỏc bước hệ số khuếch đại 0 dB(1x), 20 dB(10x) hoặc 46 dB(200x)
điện ỏp đầu vào khỏc nhau trước khi biến đổi A/D. Nếu 1x hoặc 10x được chọn thỡ
nờn chọn độ phõn giải là 8 bit cũn nếu 200x được chọn thi độ phõn giải nờn là 7 bit. Hỡnh 2.9 biểu diễn sơđồ khối của bộ biến đổi A/D.
28
Hỡnh 2.9 : Sơđồ khối của bộ biến đổi A/D
2.3.7 Bộ truyền/nhận UART
Hỡnh 2.10 minh họa sơ đồ khối của bộ truyền/nhận UART. Việc truyền dữ
liệu được khởi tạo bằng cỏch ghi dữ liệu vào thanh ghi dữ liệu I/O USART, ký hiệu là UDR. Dữ liệu được truyền từ UDR đến thanh ghi dịch truyền khi :
29
Hỡnh 2.10 : Sơđồ khối của bộ truyền/nhận UART
Một ký tự mới đó được ghi vào UDR sau khi bit stop từ ký tự trước đú đó dịch chuyển ra. Thanh ghi dich chuyển ra được nạp ngay lập tức. Ở thời điểm này bit UDRE trong thanh ghi trạng thỏi USART, USR, được đặt khi bit này đặt thành “1”, bộ USART đó sẵn sàng nhận ký tự tiếp theo. Vào cựng thời điểm khi dữ liệu
được truyền từ UDR đến thanh ghi dịch bộ truyền 10 (11) bit, bit 0 của thanh ghi dịch bị xúa (start bit) và bit 9 (10) được đặt (stop bit). Nếu như một dữ liệu 9 bit
được lựa chọn (bit CHR9 trong thanh ghi điều khiển USART, UCR được đặt), bit TXB8 trong thanh ghi UCR được truyền vào bit 9 trong thanh ghi dịch bộ truyền. Theo nhịp của đồng hồ tốc độ baud sẽ diễn ra cuộc truyền đến thanh ghi dịch, bit start bị dịch chuyển ra chõn TXD. Sau đú kế tiếp là dữ liệu, LSB trước tiờn. Khi bit
30
stop đó được dịch chuyển ra, thanh ghi dich được nạp nếu bất kỳ dữ liệu nào đó
được ghi vào thanh ghi UDR trong khoảng thời gian truyền. Trong thời gian nạp, bit UDRE được đặt thanh “1”. Nếu như khụng cú dữ liệu mới trong thanh ghi UDR để
truyền di khi bit stop được dịch chuyển ra, cờ UDRE sẽ giữ nguyờn trạng thỏi được
đặt cho đến khi thanh ghi UDR được ghi một lần nữa. Khi khụng cú dữ liệu mới cần
được ghi, và bit stop đó cú mặt trờn TxD đối với một chiều dài bit, cờ TX complete, TXC, trong thanh ghi USR được đặt thành “1”. Khi bit này được xúa thành “0”, thỡ
chõn PDI cú thểđược sử dụng cho thao tỏc I/O chung. Khi đặt thành “1”, bộ truyền trong USART sẽ được nối với PDI, chõn này bị bắt buộc trở thành một chõn nối ra khụng đếm xỉa gỡđến việc đặt của bit 1 trong DDRD. Một ký tự mới đó được ghi vào UDR trước khi bit stop từ ký tự trước đó được dịch đi. Thanh ghi dịch được nạp khi bit stop của ký tự đang được truyền đó được dich chuyển ra. Nếu bộ truyền 10 (11) bit đang trống thỡ thỡ dữ liệu được truyền UDR đến thanh ghi dịch.