Học Avr Từ Cơ Bản Đến Nâng Cao

mta_cdt

Super Moderator
Thành viên BQT
#1
Mình thấy box AVR chưa có bài nào đăng nên cũng muốn khơi thông cho anh em trao đổi.
Cũng như các dòng vi điều khiển khác thì để lập trình cho AVR thường sử dụng 2 ngôn ngữ cơ bản là ASM và C do ASM không còn nhiều người có thể viết được nên sử dụng C cho tiện và dễ quản lý mặc dù tốn thời gian sử lý và cả bộ nhớ.
Để bắt đầu các bạn phải có 1 trình biên dịch AVR như codevison AVR hoặc AVR studio... để tiện và phổ thông thì mình chọn codevison AVR.
Nếu như không có điều kiện làm mạch thật thì tốt nhất nên cài phần mềm mô phỏng proteus là 1 sự lựa chọn không tồi.
Mình xin post link download 2 phần mềm này để bạn nào chưa có có thể down về trong quá trình cài đặt nếu có khó khăn gì có thể liên hệ với mình.
đây là bộ cài proteus 7.8

Hoang_Ha_Proteus_7.8_SP2.rar

còn đây là bộ cài codevison AVR 2.03.4

CodeVisionAVR V2.03.4.rar

còn đây là hướng dẫn thực hành
giaotrinhAVR_tech24.vn.pdf

để hiểu sâu và kỹ về AVR các bạn nên đọc trang Cùng học AVR (AVR tutorial) - Tài liệu AVR tiếng Việt

 

mta_cdt

Super Moderator
Thành viên BQT
#2
diễn đàn mới nên ít thành viên quá.
Bắt đầu với bất kỳ vi điều khiển nào cũng vậy cũng đi từ IO
vớ AVR để điều khiển vào ra phải nắm được 3 thanh ghi là DDR, PORT, và thanh ghi PIN cụ thể giá trị ở những chế độ là đầu vào, đầu ra và có treo trở kháng hay không các bạn đọc trong tài liệu hoặc hocavr.com nói rất rõ.
mình xin post linhk video hướng dẫn thực hành thôi. Sau bài này các bạn có thể tự mình làm được 1 chiếc led trái tim nhỏ nhỏ làm quà tặng người ấy khá ý nghĩa vừa thể hiện trình độ của dân điện vừa thể hiện được tình cảm của mình.
io led.wmv
 

mta_cdt

Super Moderator
Thành viên BQT
#9
Xin cảm ơn hai bạn đã góp ý!
  • Để hiểu được code bạn phải đọc hai tài liệu:
giaotrinhAVR_tech24.vn.pdf
  • Để biết về thực hành trong codevisonAVR và đọc hướng dẫn trong:
Cùng học AVR (AVR tutorial) - Tài liệu AVR tiếng Việt.
  • Trang này đã viết đầy đủ cụ thể và tỉ mỉ đến tường bit. Nếu ai mà đã đọc và hiểu lý thuyết trong trang này rồi thì không có gì mà không hiểu được code cả.
Trong codevison đã chú thích từng chế độ hoạt động rồi.
ví dụ như thế này
Mã:
// Timer/Counter 1 initialization
 
// Clock source: System Clock
 
// Clock value: Timer 1 Stopped
 
// Mode: Normal top=FFFFh
 
// OC1A output: Discon.
 
// OC1B output: Discon.
 
// Noise Canceler: Off
 
// Input Capture on Falling Edge
 
// Timer 1 Overflow Interrupt: Off
 
// Input Capture Interrupt: Off
 
// Compare A Match Interrupt: Off
 
// Compare B Match Interrupt: Off
  • Nếu có gì vẫn không hiểu được thì liên hệ với mình theo chữ ký bên dưới mình trao đổi.
 

mta_cdt

Super Moderator
Thành viên BQT
#10
phần IO với lcd khá dễ chỉ cần khởi tạo xong là có thể sử dụng đươc.
1 số lệnh lcd:
lcd_gotoxy(tọa độ x,tọa độ y);// đến vị trí x y trên màn hình lcd
lcd_putsf("ký tự");// hiển thị chuỗi ký tự nên màn hình lcd
lcd_putchar(number+48);// lệnh này dùng để hiển thị 1 số nên lcd. cộng thêm 48 để đổi số sang mã ascii mới hiển thị được nên lcd.
Mình xin gửi tài liệu timer của avr (atmega8) về cơ bản thì những chip avr không khác nhau là mấy chỉ khác nhau về số lượng bộ timer và số chân băm xung còn hoạt động thì giống hệt nhau.
projec mẫu thì mình đã post projec timer bên trên rồi. 1 ứng dụng đơn giản để làm đồng hồ bằng timer
 

Đính kèm

Quảng cáo Google