AVR trong robocon, các pác nghĩ sao
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
-
o vậy thì tốt quá đung món mình yêu thích rồi cho mình tham gia cùng tìm hiểuNguyên văn bởi ttyanhtu Xem bài viếtAVR trong robocon, các pác nghĩ sao
nha
Comment
-
Ảnh hưởng của thạch anh ngoài đến hoạt động của AVR
Sau một thời gian học AVR mh đã làm được một số ứng dụng đơn giản chủ chọn thạch anh 11.059 MHz vì khi sử dụng không thấy gặp lỗi khi nạp, khi chọn 4 MHz thì chip bị die liên tục. Các bác có thể giải thích thạch anh ngoài có giá trị khác nhau có ảnh hưởng gì đến hoạt động trong mạch???. Thanks!!!
Comment
-
Tôi dùng thạch anh ngoài 4Mhz nạp bao nhiêu con đâu có chết con nào đâu nhi.Nguyên văn bởi mice Xem bài viếtSau một thời gian học AVR mh đã làm được một số ứng dụng đơn giản chủ chọn thạch anh 11.059 MHz vì khi sử dụng không thấy gặp lỗi khi nạp, khi chọn 4 MHz thì chip bị die liên tục. Các bác có thể giải thích thạch anh ngoài có giá trị khác nhau có ảnh hưởng gì đến hoạt động trong mạch???. Thanks!!!
Thạch anh bên ngoài có ảnh hưởng đến tốc độ nạp ISP chứ không làm chết AVR đâu. Thạch anh có tần số lớn sẽ làm tăng tốc độ xử lý của AVR. Tốc độ này được giới hạn tùy theo loại AVR. Thông thường thạch anh hay sử dụng là từ 0-8MHz đối với AVR có đuôi L và 0-16MHz đối với AVR không có đuôi L hoặc V.n
ĐT: 0986 492 489
Tham khảo:
Comment
-
Ngày trước mình cũng hay ngộ nhận những hiện tượng kiểu như thế này( nào là nguồn điện, nào là loại chíp, nào là đến cả thằng bán hàng đểu cho mình...), cuối cùng rồi thì trình cao dần, vẫn mạch vậy, vẫn những linh kiện vậy, nạp con nào là được con đó, thạch anh nào cũng nạp ráo hết cả....Nguyên văn bởi mice Xem bài viếtSau một thời gian học AVR mh đã làm được một số ứng dụng đơn giản chủ chọn thạch anh 11.059 MHz vì khi sử dụng không thấy gặp lỗi khi nạp, khi chọn 4 MHz thì chip bị die liên tục. Các bác có thể giải thích thạch anh ngoài có giá trị khác nhau có ảnh hưởng gì đến hoạt động trong mạch???. Thanks!!!
Comment
-
phần "interrupt [TIM0_OVF]" là cú pháp của chương trình và phải giữ đúng như vậy, cũng giống như bạn không thể thay "if" bằng "nếu"Nguyên văn bởi huanuteChào các bạn,mình tên Huân.Có ai giúp mình việc này được không?
Mình đang lập trình cho ATMEGA16, khi sử dụng timer0 làm bộ đếm, trong codevision, khi muốn nhảy đến địa chỉa ngắt của timer 0 ta dùng cú pháp như sau:
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
Trong đó: interrupt [TIM0_OVF] là khai báo để nhảy đến địa chỉ ngắt của timer0
Còn void timer0_ovf_isr(void) là hàm thực hiện khi có sự kiện ngắt xảy ra.
Vậy bây giờ mình không muốn khai báo là interrupt [TIM0_OVF] mà muốn khai báo bằng 1 tên khác, ví dụ: ngat [TIM0_OVF]
Mình có thể làm việc này được không? nếu có thể thì chỉnh sửa gì đó trog thư viện mega16.h cũng được.
Có bạn nào có thể giúp mình được không? mình xin cảm ơn.
mail của mình: nguyenhuanute@yahoo.co.ukMore friends more foods
Comment
-
Chả có ai nói về Ram ngoài của AVR nhỉ ?
Mấy bác có sao cho em hỏi về Ram ngoài của AVR với, em cũng biết làm chút ít về con amega128 rồi nhưng chỉ là học mò thôi. Bây giừ em đang làm bảng quang nên cần mở rộng Ram nhưng chưa bít nó làm việc thế nào, phần cứng và phần mềm bó vào nhau như thế nào
Ai làm rồi thì chia sẻ với ?.Có bài mẫu thì càng tốt
Comment
-
Bạn tham khảo luồng này xem: http://dientuvietnam.net/forums/showthread.php?t=26491Nguyên văn bởi khuyenbkChả có ai nói về Ram ngoài của AVR nhỉ ?
Mấy bác có sao cho em hỏi về Ram ngoài của AVR với, em cũng biết làm chút ít về con amega128 rồi nhưng chỉ là học mò thôi. Bây giừ em đang làm bảng quang nên cần mở rộng Ram nhưng chưa bít nó làm việc thế nào, phần cứng và phần mềm bó vào nhau như thế nào
Ai làm rồi thì chia sẻ với ?.Có bài mẫu thì càng tốt
Thân mến,
blackmoon.
Comment
-
Tôi không hiểu bạn tại sao bạn cần dùng pointer cho các thanh ghi, khi mà việc truy xuất các thanh ghi đều có tên riêng trực tiếp, và thông thường đều là truy xuất riêng lẻ, không phải truy xuất mảng.Nguyên văn bởi huanuteTrong codevison có dòng định nghĩa PORTD là: sfrb PORTD=0x12;
Như vậy PORTD có địa chỉa là 12h.
Bây giờ mình khai báo 1 con trỏ:
unsigned char *c_tro;
Mình muốn địa chỉ của con trỏ c_tro mang giá trị là 12h thì làm thế nào?
có phải là như vậy không: c_tro = &PORTD
Sau đó mình muốn PORTD chớp tắt thì mình làm thế này có được không?
//chương trình chớp tắt PORTD
*c_tro=~*ctro;
delay_ms(200);
*c_tro=~*ctro;
delay_ms(200);
Sau đó mình cũng muốn PORTC chớp tắt, mình có thể làm như thế này được không?
c_tro = c_tro + 3 //15h là địa chỉ của PORTC
//chương trình chớp tắt PORTC
*c_tro=~*ctro;
delay_ms(200);
*c_tro=~*ctro;
delay_ms(200);
Sau đó mình cũng muốn PORTB chớp tắt, mình có thể làm như thế này được không?
c_tro = c_tro + 3 //18h là địa chỉ của PORTB
//chương trình chớp tắt PORTB
*c_tro=~*ctro;
delay_ms(200);
*c_tro=~*ctro;
delay_ms(200);
Cho hỏi, trong diễn đàn này có ai biết mình làm thế này có đúng hay không, nếu làm không đúng thì có ai có cách khác giúp mình hay không, mình chủ yếu là muốn xuất giá trị của biến thông qua địa chỉ của biến đó. Cảm ơn nhiều
Bạn có thể thử thế này:
PORTD = ~PORTD;
PORTC = ~PORTC;
...
Thân mến,
blackmoon.
Comment
-
RAM của vi điều khiển được C compiler dùng cho nhiều mục đích: biến, stack, ... Người dùng trong đa số trường hợp đều ko can thiệp đến việc sử dụng RAM của compiler, vì mục đích tối ưu của nó. Với trường hợp của bạn, sử dụng CodeVisionAVR, có lẽ chỉ có cách khai báo biến đặt tại địa chỉ ô nhớ đó (giống như mong muốn của bạn ở phía dưới) thì C compiler sẽ ko dùng ô nhớ đó vào việc khác.- Khi mình không muốn cho chương trình sử dụng vùng Ram nội từ 60H đến 100H (ATMEGA16) thì làm thế nào?
Trong Help của CodeVision có đề cập đến vấn đề này, sử dụng toán tử @:- Mình muốn khai báo 1 mảng gồm 160 phần tử mà địa chỉ đầu tiến là 60H và địa chỉ cuối cùng là 100H thì làm thế nào?
unsigned char k[160] @0x60;
Các bạn sẽ học được rất nhiều điều từ Help của phần mềm, vậy hãy dành thời gian cho điều đó.
Thân mến,
blackmoon.
Comment
-
Cảm ơn bác blackmoon !! .Em làm được rồi
Nhưng có vấn đề nữa xin hỏi bác tí :
Em dùng Codevision để làm , và dùng CodewiZard để thiết lập giống như người ta. Nhưng đến chỗ I2C chọn DS1307 để hiện thời gian thực ,thì ko hiểu sao em ko làm so để móc được cho ra cái DS1307.h để thực hiện. Trong khi đó em thấy họ làm ngon lành, em ko biết là do phiên bản Code hay là thế nào. Thiết lập cho I2C thì vẫn được , nhưng DS1307 thì ko thể
Em cũng đã thử các phiên bản Code khác nhưng đề ko được.
Ai biết rồi giúp em với.
Cảm ơn nhìu nhìu!!!!!
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment