ATMEGA128L là vi điều khiển 8bit hiệu suất cao, công suất thấp của hãng Microchip dựa trên kiến trúc vi mạch AVR RISC. Bộ vi điều khiển này không phổ biến đối với những người đam mê và nhà phát triển nhưng nếu đang tìm kiếm bộ vi điều khiển công suất trung bình và giá cả hợp lý từ dòng Microchip AVR, thì đây có thể là một lựa chọn tuyệt vời cho bạn.
ATMEGA328P là chip 64 chân như trong sơ đồ chân ở trên. Nhiều chân của chip ở đây có nhiều hơn một chức năng. Chúng tôi sẽ mô tả các chức năng của từng chân trong bảng dưới đây.
Số chân | Tên chân | Chức năng chân | Mô tả và các chức năng phụ |
1 | Chân kích hoạt chế độ Lập trình serial | ||
2 | PE0 | RXD0 / (PDI) |
PDI / RXD0 (Nhận dữ liệu hoặc UART0) |
3 | PE1 | TXD0 / PDO |
PDO / TXD0 (Đầu ra dữ liệu) hoặc chân truyền UART0 |
4 | PE2 | XCK0 / AIN0 | Bộ so sánh analog đầu vào dương hoặc đầu vào / đầu ra xung nhịp bên ngoài USART0 |
5 | PE3 | OC3A / AIN1 | So sánh Analog Đầu vào hoặc Đầu ra Âm So sánh và Đầu ra PWM A cho Bộ hẹn giờ / Bộ đếm 3 |
6 | PE4 | OC3B / INT4 | Chân Ngắt ngoài 4 đầu vào So sánh hoặc đầu ra và đầu ra PWM B cho bộ định thời / bộ đếm 3 |
7 | PE5 | OC3C / INT5 | Chân Ngắt ngoài 5 đầu vào So sánh hoặc đầu ra và đầu ra PWM C cho bộ định thời / bộ đếm 3 |
8 | PE6 | T3 / INT6 | Chân Ngắt ngoài 6 Đầu vào hoặc Đầu vào xung clock timer / Bộ đếm 3 |
9 | PE7 | ICP3 / INT7 | Chân Ngắt ngoài 7 Đầu vào hoặc Chân chụp đầu vào Bộ định thời / Bộ đếm 3 |
10 | PB0 | Chọn đầu vào SPI Slave | |
11 | PB1 | SCK | Xung clock nối tiếp bus SPI |
12 | PB2 | MOSI | SPI Bus Master Output / Slave Input |
13 | PB3 | MISO | SPI Bus Master Input / Slave Output |
14 | PB4 | OC0 | Đầu ra So sánh và Đầu ra PWM cho Bộ định thời / Bộ đếm 0 |
15 | PB5 | OC1A | Đầu ra so sánh và PWM Đầu ra A cho Bộ định thời / Bộ đếm 1 |
16 | PB6 | OC1B | Đầu ra So sánh và PWM Đầu ra B cho Bộ định thời / Bộ đếm 1 |
17 | PB7 | OC2 / OC1C | Đầu ra So sánh và Đầu ra PWM cho Bộ định thời / Bộ đếm 2 hoặc So sánh đầu ra và Đầu ra PWM C cho Bộ định thời / Bộ đếm 1 |
18 | PG3 | TOSC2 | Bộ hẹn giờ / Bộ đếm dao động RTC0 |
19 | PG4 | TOSC1 / PG4 | Bộ hẹn giờ / Bộ đếm dao động RTC0 |
20 | Chân reset | ||
21 | VCC | VCC | Điện áp cấp nguồn |
22 | GND | GND | Đất |
23 | XTAL2 | XTAL2 | XTAL2 (Chân dao động xung clock chip 2) |
24 | XTAL1 | XTAL1 | XTAL1 (Chân dao động xung clock chip 1) |
25 | PD0 | SCL / I NT0 | Đầu vào Ngắt ngoài 0 hoặc chân nối tiếp TWI) |
26 | PD1 | SDA / I NT1 | Ngắt ngoài 1 đầu vào hoặc dữ liệu nối tiếp TWI |
27 | PD2 | RXD1 / I NT2 | Đầu vào Ngắt ngoài 2 hoặc chân nhận dữ liệu UART1 |
28 | PD3 | TXD1 / I NT3 | Đầu vào Ngắt ngoài 3 hoặc Chân truyền dữ liệu UART1 |
29 | PD4 | ICP1 | Chân capture tín hiệu đầu vào của bộ đếm thời gian / bộ đếm 1 |
30 | PD5 | XCK1 | Đầu vào / Đầu ra xung clock USART1 Bên ngoài |
31 | PD6 | T1 | Đầu vào clock Timer / Counter1 |
32 | PD7 | T2 | Đầu vào clock Timer / Counter2 |
33 | PG0 | Chân Ghi vào bộ nhớ ngoài | |
34 | PG1 | Chân Đọc bộ nhớ ngoài | |
35 | PC0 | A8 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
36 | PC1 | A9 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
37 | PC2 | A10 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
38 | PC3 | A11 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
39 | PC4 | A12 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
40 | PC5 | A13 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
41 | PC6 | A14 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
42 | PC7 | A15 | Chế độ tương thích có thể được sử dụng cho Giao diện bộ nhớ ngoài |
43 | PG2 | ALE | ALE là tín hiệu Kích hoạt chân địa chỉ bộ nhớ dữ liệu ngoài. |
44 | PA7 | AD7 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 7 |
45 | PA6 | AD6 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 6 |
46 | PA5 | AD5 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 5 |
47 | PA4 | AD4 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 4 |
48 | PA3 | AD3 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 3 |
49 | PA2 | AD2 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 2 |
50 | PA1 | AD1 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 1 |
51 | PA0 | AD0 | Địa chỉ giao diện bộ nhớ ngoài và bit dữ liệu 0 |
52 | VCC | VCC | Điện áp cấp |
53 | GND | GND | Chân nối đất |
54 | PF7 | ADC7 / TDI | Đầu vào ADC kênh 7 hoặc Đầu vào Dữ liệu Kiểm tra JTAG |
55 | PF6 | ADC6 / TDO | Kênh đầu vào ADC 6 hoặc Đầu ra Dữ liệu Kiểm tra JTAG |
56 | PF5 | ADC5 / TMS | Kênh đầu vào ADC 5 hoặc Chọn Chế độ Kiểm tra JTAG |
57 | PF4 | ADC4 / TCK | Kênh đầu vào ADC 4 hoặc JTAG Test ClocK |
58 | PF3 | ADC3 | Kênh đầu vào ADC 3 |
59 | PF2 | ADC2 | Kênh đầu vào ADC 2 |
60 | PF1 | ADC1 | Kênh đầu vào ADC 1 |
61 | PF0 | ADC0 | Kênh đầu vào ADC 0 |
62 | AREF | AREF | AREF là chân tham chiếu analog cho Bộ chuyển đổi A / D |
63 | GND | GND | Chân nối đất |
64 | AVCC | AVCC | AVCC là chân điện áp cấp cho Cổng F và Bộ chuyển đổi A / D. Được kết nối với VCC thông qua một bộ lọc lowpass. |
ATmega8, ATmega88, ATmega8L, ATmega328L
ATmega128L là một vi điều khiển cần được lập trình nếu không nó sẽ không hoạt động giống như mọi vi điều khiển khác ngoài đó. Nếu không có chương trình, vi mạch này sẽ không làm gì khác ngoài việc tiêu thụ dòng điện để chạy các chức năng bên trong.
Có nhiều cách khác nhau để lập trình vi điều khiển ATmega128L, cách phổ biến nhất là sử dụng Trình lập trình USBasp với AVRDude làm giao diện lập trình, bạn có thể xây dựng và biên dịch chương trình của mình để lấy tệp HEX.
Khi nhận được tệp HEX, bạn có thể kết xuất HEX trên vi mạch này với sự trợ giúp của Chương trình AVRDUDE. Một cách khác để lập trình thiết bị này là sử dụng Arduino làm Lập trình viên ISP, nếu bạn có Arduino trong tay, bạn có thể tìm kiếm trên web để tìm nhiều ví dụ về cách làm như vậy.
Lựa chọn tiếp theo dành cho những người không có Arduino hoặc USBasp Programmer, quá trình này được gọi là Lập trình song song, bạn phải sử dụng Cổng song song chỉ có ở các PC cũ hơn, nếu không có cổng, bạn phải sử dụng Cổng song song. Có thể mua một bộ chuyển đổi cổng song song PCI với giá rẻ.
Như chúng tôi đã nói trước đó Atmega128L không phổ biến so với Arduino, mặc dù có một phiên bản Arduino cũ sử dụng ATmega128L làm Bộ điều khiển chính của nó.
Vì giá của bộ điều khiển này thấp hơn ATmega328P cùng với bộ nhớ chương trình 32 Kbyte. Bộ vi điều khiển này có thể được sử dụng trong nhiều ứng dụng sử dụng pin với bộ đếm thời gian của cơ quan giám sát để đặt lại khi có lỗi.
Nó có thể được sử dụng trên các hệ thống có sự can thiệp của con người tối thiểu và cũng có đầu ra PWM đa chế độ tiên tiến có thể được sử dụng cho nhiều ứng dụng khác nhau. Sơ đồ khối của ATmega128L được hiển thị bên dưới-
>> Mời anh em xem thêm