3.2 Thiết kế MẠCH NẠP cho vi điều khiển
Để đưa chương trình đã viết trên máy vi tính vào trong Rom của vi điều khiển, cần có các phần mềm riêng (hay còn gọi là phần mềm nạp) và các mạch giao tiếp tương ứng với phần mềm đó (hay còn gọi là mạch nạp). Có rất nhiều phần mềm nạp và các mạch nạp dành cho vi điều khiển, mỗi loại vi điều khiển đều có phần mềm nạp và mạch nạp dành riêng cho vi điều khiển đó.
Bạn đang xem: Hướng dẫn làm mạch nạp 8051
Cũng có rất nhiều chương trình nạp cho vi điều khiển AT89Sxx (xx: hai số sau của mã vi điều khiển , ví dụ: AT89S52, AT89S53...), hiện nay phần mềm nạp ISP do "Mohammad Asim Khan" xây dựng được sử dụng rất phổ biến ở thế giới và Việt Nam. Mạch nạp kèm theo với phần mềm ISP rất đơn giản và được thiết kế theo kiểu nạp nối tiếp (các chương trình nạp trước đó thường là chương trình nạp song song, mạch nạp rất phức tạp,khó chế tạo). ISP có thể nạp chương trình cho vi điều khiển ngay trên board mạch hoạt động mà không cần phải chuyển vi điều khiển từ mạch hoạt động sang mạch khác để nạp như các chương trình nạp trước đây.
Địa chỉ cung cấp phần mềm ISP http://www.kmitl.ac.th/~kswichit/Isp
Pgm30a/ISP-Pgm30a.html
Dưới đây là sơ đồ nguyên lí của mạch nạp kèm theo phần mềm trên:
PRN PORT : đường kết nối đến cổng máy in, các số tương ứng trong ngoặc là số của chân trên cổng máy in.Nối ngắn mạch chân 2 và chân 12 của cổng máy in. 74HCT245 được cấp nguồn 5V vào chân 10 và chân 20.
Sơ đồ chân của cổng máy in
Sơ đồ này chỉ dùng cho mạch chỉ thực hiện công việc duy nhất là nạp chương trình cho vi điều khiển.
Để nạp trực tiếp cho mạch đang hoạt động, dùng sơ đồ sau
Nguồn cấp cho 74HTC541 được lấy từ mạch ổn áp trên board mạch vi điều khiển, điện thế dương 5V đưa vào chân 20, chân 10 nối với điện thế 0V (Ground). LED dùng báo hiệu trạng thái hoạt động của mạch Trên SPR PORT :chân số 1 nối với chân số 6 của vi điều khiển AT89Sxx, chân số 2 nối với chân số 7 của vi điều khiển AT89Sxx chân số 3 nối với chân số 8 của vi điều khiển AT89Sxx chân số 4 nối với chân số 9 của vi điều khiển AT89Sxx chân số 5 nối với chân - từ ngõ OUT của mạch ổn áp chân số 6 nối với chân + từ ngõ OUT của mạch ổn áp
Ngoài ra có thể dùng 74HC245 theo sơ đồ dưới:
3.3 CHƯƠNG TRÌNH NẠP vi điều khiển
Chương trình chạy không cần cài đặt, khởi động chương trình Isp
Pgm.exe với biểu tượng
Trước hết bấm vào danh sách sổ (trên hình là ô có chữ "MEGA8"), chọn "89S52" .Bấm vào nút "Open File" để chọn file chương trình (có đuôi".hex"). Sau đó bấm vào "Write" để nạp chương trình cho vi điều khiển.
Chú ý: Trước khi nạp cần đảm bảo mạch điện đã được kết nối chính xác đến vi điều khiển. Nếu đã kết nối đúng mà chưa nạp được thì nên rút các mạch giao tiếp ra khỏi P0, rồi thử nạp lại.
Trong các mạch led trái tim từ Version 1 đến 4 hay mạch cảm biến nhiệt độ, mạch đồng hồ đa số đều sử dụng vi xử lý 89s52 – đây là chip thuộc họ 8051. Ngoài vi xử lý 8051, còn có AVR. Với mỗi mạch, ta phải nạp chương trình (code) tương ứng. Hôm nay mình sẽ hướng dẫn các bạn cách nạp code cho vi xử lý nhé!
Chuẩn bị:
– Chip để nạp chương trình.
– Mạch nạp chương trình tương ứng với từng loại chip. Các bạn có thể tự làm mạch nạp hoặc mua mạch nạp tại các cửa hàng linh kiện.
– Phần mềm Progisp 1.68: Fshare Mediafire
Bước 1: Chạy chương trình nạp Progisp 1.68
Bước 2: B1: Khi cắm mạch nạp vào máy tính, chương trình nhận mạch nạp USBISP. B2:Chọn loại chip ( Ví dụ ở đây mình chọn 89S52 ). " />
Nạp code cho 8051 và avrCác thông số quan trọng khi nạp chương trình cho 8051 (Thông số quan trọng chương trình sẽ tự động Tích (V) khi bạn chọn chip tương ứng , bạn không cần thay đổi gì cả (Ở đây mình chỉ giải thích thêm cho các bạn hiểu thôi)
Nạp code cho 8051 và avrBước 3: Xóa chip ( Xóa chương trình cũ có trong chip ).
Bước 4:Nạp chương trình. B1:Click Load Flash B2:Tìm file hex trong chương trình của bạn B3:Open " />
Bước 5: Load chương trình. Click Auto : để load chương trình bạn vừa chọn. " />
Bước 6:Hoàn thành. Khi có dòng chữ : Erase,Write Flash,Verify Flash,Successfully done tức là bạn đã nạp xong chương trình.
" />1. Chuẩn Bị
Firmware tức file có đuôi .hexMạch nạp AVR (có rất nhiều mạch ở đây mình dùng mạch 89/AVR USBasp/USBisp).Chip cần nạp (chip này cần có giao tiếp SPI). Ở đây mình Attiny13 làm ví dụ.Phần mềm
Prog
ISP (mirror)
2. Kết nối
Các bạn nhìn trên thân USBasp có sơ đồ chân
Nạp code cho 8051 và avrvà xem data trên chip cần nạp ở đây mình lấy Attiny13 làm ví dụ
các bạn kết nối các chân VCC,GND, MISO, MOSI, SCK, RST giửa mạch nạp và chíp, cẩn thận chân VCC và GND kẻo mua chip mới.
3. Bắt đầu
Bước 1: Chạy chương trình nạp Progisp
" />
Bước 2
2.1: Chương trình nhận mạch nạp USBISP.
2.2: Chọn loại chip.
" />
Bước 3: Các thông số quan trọng khi nạp chương trình
(Thông số quan trọng chương trình sẽ tự động Tích (V) khi bạn chọn chip tương ứng , bạn không cần thay đổi gì cả (Bên dưới là giải thích) )
" />
Bước 4: Xóa chip (xóa chương trình cũ có trong chip)
" />
Bước 5: Nạp chương trình FLASH
5.1: Click Load Flash
5.2: Tìm file hex trong chương trình của bạn
5.3: Open thôi
" />
Bước 7 : Nạp chương trình Eeprom (Nếu có)
7.1:Click Load Eeprom
7.2:Tìm file .eep trong chương trình của bạn
7. 3:Open thôi
" />
Bước 8 : Load chương trình.
Click Auto: để load chương trình bạn vừa chọn.
" />
Bước 9:Hoàn thành
Khi có dòng chữ: Erase, Write Flash, Verify Flash, Verify Eeprom, Successfully done tức là bạn đã nạp xong chương trình.
" />
Khi các bạn Click vào button … thì sẻ đưa đến bảng cấu hình tần số hoạt động của chíp (fuse bit)
Các bạn nên cẩn thận vì nếu cấu hình sai thì chíp sẻ khó cứu.
Sau đây là cách fuse bit cho chip Atmega8
1. Defaut
Trở về cấu hình ban đầu.
" />
2. Read
Đọc tần số Thạch Anh từ chip vào chương trình.
Xem thêm: Hướng dẫn cách xăm hình cơ bản từ a, các bước xăm hình cơ bản từ a
" />
3. WTDON
WTDON luôn để là 1 khi cấu hình “Fuse And Lock Config” cho ATmega8.
(WTDON =1 : Chống Reset chip )
" />
4. Cấu hình Thạch Anh
(Trong code của bạn sử dụng tần số Thạch Anh nào thì bạn phải cấu hình đúng như vậy )
4.1. CKSEL0=1Sử dụng Thạch Anh 1 MHz
" />
4.2. CKSEL1=1Sử dụng thạch anh 2Mhz
" />
4.2. CKSEL0=1 và CKSEL1=1Sử dụng thạch anh 4Mhz
" />
4.3. CKSEL2=1Sử dụng thạch anh 8MHz
" />
4.4. CKSEL0=CKSEL1=CKSEL2=CKSEL3=1Sử dụng Thạch Anh ngoài
" />
5. Write
Cấu hình tần số Thạch Anh từ chương trình vào chip.( ở đây lấy ví dụ là 1MHz nội)
" />
Chúc các bạn thành công!
Posted in Học tập, Vi xử lý - vi điều khiểnTagged nạp chương trình 89s52, nạp chương trình vi xử lý, Nạp code cho 8051, Nạp code cho 8051 và avr, Nạp code cho 89s52, Nạp code cho avr, proisp, proisp168