Nguyên văn bởi lion_king
Xem bài viết
Thông báo
Collapse
No announcement yet.
AVR cho người mới bắt đầu
Collapse
This is a sticky topic.
X
X
-
Cứ bảo là IC không tốt, em vẫn mua hàng chợ trời kia, mua chắc cũng đến hàng trăm con rồi, về cắm vào mạch là chạy, không đến nỗi chân cẳng chết đứ đừ.....
Cho dù chúng không phải hàng tốt, nhưng khi sản xuất ra chắc chắn chúng đã phải qua kiểm tra nghiêm ngặt rồi! Ừ, thôi thì datasheet ghi nạp được 100.000 lần, con avr mua về nạp được bằng 10% số đó, đã tốt lắm rồi...Cũng không đến nỗi lắp vào mạch là nhiễu tùm lum, không chạy được.
Chuyện chết chân cẳng AVR, hay nhiễu AVR , trước hết, xem lại lập trình, rồi xem lại mạch, đọc lại datasheet.
Comment
-
Tôi gặp phải trường hợp mua con mới tinh. nạp chương trình không được, Bó tay. Lấy con khác nạp chương trình vẫn bình thường, mạch nạp của tôi tốt. Như vậy mới tinh vẫn có con chết. Chắc tại hàng lởm. C828 thay vào mạch không hoạt động, rút ra đo tĩnh vẫn tốt. Thay bằng C828 mua đợt trước thì hoạt động bình thường. Báo hại test mạch lòi mắt. Bây giờ test mạch còn phải xét xem hàng tốt hay không.
Comment
-
Bạn có thể bắt đầu với các con như: atmega8515, atmega16, atmega8535. Con 8515 chân cẳng giống họ 8051 nhưng lại không có ADC.Nguyên văn bởi tallht Xem bài viếtCho Em Hỏi Cái: Mới Bắt đầu Học Avr Thì Nên Bắt đầu Với Con Nào? Và Mạch Nạp Nào Tốt Cho Con đó Ah?
Mạch nạp thì dùng loại kết nối song song với PC. Mạch này cực đơn giản: chỉ có 1 DB25 đực + 4 con trở 330ôm + 1 đế + 1 nguồn 5V.
Mạch nạp có ở trang: qsl.net/ba1fb
Phần mềm nạp thì dùng ispprog --> dùng với mạch nạp trên cũng được rất nhiều loại AVR.
Nếu cần thì liên hệ, tôi gửi cho.
email:mahaco@fpt.vn
Comment
-
Các bác cho em hỏi về bộ nhớ EEPROM của ATMEGA16 với!
em dọc trong sách có cái In_system Programable Flash EEPROM (16K)và Byte Addressable EEPROM (512 bytes) ! Hai cái nay khac nhau thế nào nhỉ?
Dùng lệnh gì để lưu dữ liệu vào Rom và RAM nhỉ ?
Comment
-
Có bác nào làm về điều khiển led ma trận 2 màu hay RGB thì cho em hỏi về giá của các
loại led ma trận sau: ma trận led 2 màu 8x8 hay 16x16
ma trận RGB 8x8 hay 16x16
Nếu có địa chỉ mua giá rẻ thì càng tốt (ở Hà Nội nhé!)
Nếu có tài liệu về cách điều khiển màu sắc hiển thị thì post attachments hộ em nhé!
Thanks!
Comment
-
Cái 21k chắc là ma trận đơn sắc thôi bạn ạ! Mình cần led đa sắc cơ! Led đơn sắc chắc chỉ để làm bài tập lớn thôi! Năm sau mình phải làm đồ án tốt nghiệp mà bây giờ chưa biết
gì cả! Trước chỉ làm bài tập lớn về 8051 thôi dùng ASM (làm cái đếm giờ led 7đoạn)! Bây học AVR lại học C nên thấy hơi lạ! Mới đọc dc có mấy hôm chỉ tìm hiểu chung về ngắt và định thời thôi! Đến cách viết code sao cho chuẩn mình cũng chưa biết nên chưa thử dc cái gì! Nếu bạn biết thì chỉ cho mình nhé!
Comment
-
Bộ nhớ Flash để lưu trữ chương trình, RAM để lưu dữ liệu, còn EEPROM ..đứng giữa, lưu trữ thông tin cài đặt hoặc dữ liệu thu thập trong quá trình hoạt động mà không bị xóa khi tắt nguồn. Các sản phẩm hoàn chỉnh mới cần nhiều đến EEPROM, ví dụ bạn làm một mạch khóa mã hóa có pasword là 1234 gì đó thì thông tin này nên ghi vào EEPROM để thay đổi dễ dàng mà không bị xóa đột ngột.Các bác cho em hỏi về bộ nhớ EEPROM của ATMEGA16 với!
em dọc trong sách có cái In_system Programable Flash EEPROM (16K)và Byte Addressable EEPROM (512 bytes) ! Hai cái nay khac nhau thế nào nhỉ?
Dùng lệnh gì để lưu dữ liệu vào Rom và RAM nhỉ ?
Cách dùng EEPROM khá đơn giản với C và Codvision, bạn chỉ việc khai báo 1 biến với tiền tố eeprom đứng đầu, sau đó truy cập như một biến bình thường, tuy nhiên chỉ nên đọc hoặc ghi nó thôi, nếu đem nó ra cộng trừ nhân chia có lẽ không được hoặc nếu được thì sẽ tốn nhiều chu kỳ máy vì thời gian ghi một byte lên eeprom cũng khá cao so với một chu kỳ máy. Nếu dùng ASM thì bạn tham khảo tập lệnh AVR, mình không biết!
Nguyên văn trong Codevision help:
Accessing the AVR internal EEPROM is accomplished using global variables, preceded by the keyword eeprom.
Example:
/* The value 1 is stored in the EEPROM during chip programming */
eeprom int alfa=1;
eeprom char beta;
eeprom long array1[5];
/* The string is stored in the EEPROM during chip programming */
eeprom char string[]="Hello";
void main(void) {
int i;
/* Pointer to EEPROM */
int eeprom *ptr_to_eeprom;
/* Write directly the value 0x55 to the EEPROM */
alfa=0x55;
/* or indirectly by using a pointer */
ptr_to_eeprom=&alfa;
*ptr_to_eeprom=0x55;
/* Read directly the value from the EEPROM */
i=alfa;
/* or indirectly by using a pointer */
i=*ptr_to_eeprom;
}
Pointers to the EEPROM always use 16 bits.
Còn ROM thì cũng có thể khai báo biến ROM bằng cách tương tự
flash int i;
tuy nhiên đây là hằng số, chỉ đọc chứ không ghi được.Đẹp từng kilomét
Comment
Bài viết mới nhất
Collapse
-
bởi mylinhattChào anh em cơ khí,
Trong quá trình tư vấn đầu tư thiết bị cho xưởng, mình gặp rất nhiều câu hỏi kiểu: “Nên mua máy phay CNC cũ để tiết kiệm, chọn máy mới phổ thông cho yên tâm, hay cố gắng lên máy chất lượng cao để làm hàng khó?”. Thực tế, đây không phải câu hỏi chỉ về...-
Channel: Máy công cụ
hôm nay, 13:38 -
-
bởi torasungChào anh em,
Mình đang tìm hiểu và cấu hình một con biến tần Delta model VFD037E43A dùng cho động cơ công suất nhỏ, ứng dụng băng tải và quạt. Trước đây mình chủ yếu làm với vài dòng khác của Delta nhưng chưa dùng nhiều model này, nên muốn...-
Channel: Điện tử công nghiệp
Hôm qua, 09:13 -
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
14-12-2025, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -

Comment