Thảo luận Giới thiệu về VĐK N76E003AT20

NgoHungCuong

http://ngohungcuong.com
#1
Hôm nay mình sẽ giới thiệu sơ lược về các tính năng của VĐK N76E003AT20.
Datasheet có thể tải từ trang nuvoton.com (phiên bản hiện tại 1.04)
Microcontroller,MCU,8051,8-bit,N78,N79,W77,W78,W79 - Low Pin Count 8051 Series
- Điều kiện làm việc
* Điện áp hoạt động dải rộng từ 2.4 đến 5.5v
* Tốc độ tối đa 16MHz
* Nhiệt độ từ -40 đến 105 độ C
- Bộ nhớ
* Bộ nhớ chương trình tối đa 18KB
* Bộ nhớ RAM 256 byte
* Bộ nhớ XRAM 768 byte
- Dao động
Chip có thể sử dụng các nguồn dao động sau
* Dao động nội tốc độ cao 16MHz, sai số 2%
* Dao động nội tốc độ thấp 10KHz
* Nguồn dao động bên ngoài
Chuyển đổi các nguồn dao động bằng phần mềm
Bộ chia dao động từ 1/1 đến 1/512
- Ngoại vi
* 17 chân vào ra (cộng thêm 1 chân chỉ có thể chọn làm đầu vào)
* 02 chân ngắt ngoài: ngắt ngoài 0 và ngắt ngoài 1
* 2 timer 16 bit tương thích với 8051 chuẩn: timer 0 và timer 1
* 1 timer 16 bit: timer 2;
* 1 timer 16 bit: timer 3; có thể dùng để tạo Baud rate cho UART
* 1 timer 16 bit PWM
* 2 UART
* 1 SPI tối đa 8Mb khi clock hệ thống là 16MHz
* PWM 6 kênh
* ADC 12 bit
 

NgoHungCuong

http://ngohungcuong.com
#2
Để lập trình cho chip thì cần có trình biên dịch để dịch mã nguồn tạo thành file hex nạp cho chip; trình soạn thảo để viết mã nguồn...
Hiện tại có khá nhiều trình biên dịch mã cho 8051 như Keil C, SDCC...
Tuy nhiên Keil C là sản phẩm thương mại trả phí nên mình chọn SDCC. Đây là compiler miễn phí, mã nguồn mở, có thể chạy trên nhiều hệ điều hành như Windows, Linux...
Mình sử dụng SDCC trên linux (bản phân phối lubuntu), mọi người sử dụng phiên bản linux khác hoặc dùng sdcc trên các hệ điều hành khác hoàn toàn tương tự.
- Cài đặt sdcc
mở terminal gõ
Mã:
sudo apt-get install sdcc
sau khi cài đặt xong kiểm tra bằng cách gõ sdcc -v thấy như sau là OK
2018-03-17-161059_1366x768_scrot.png
 

NgoHungCuong

http://ngohungcuong.com
#3
Trình soạn thảo mã nguồn: tùy thuộc vào thói quen của mỗi người.
Mình sử dụng geany
Cài geany bằng cách vào terminal gõ
Mã:
sudo apt-get install geany
Giao diện geany như sau:
2018-03-17-161506_1366x768_scrot.png
 

NgoHungCuong

http://ngohungcuong.com
#4
Sử dụng geany tạo file main.c và thử biên dịch
nội dung file main.c
Mã:
int main(void) {
    return 0;
}
2018-03-17-162034_1366x768_scrot.png

Mở terminal biên dịch thử
Mã:
sdcc main.c
2018-03-17-162142_1366x768_scrot.png

Biên dịch xong và tạo ra file main.ihx
Như vậy là code không lỗi, compiler hoạt động.
 

NgoHungCuong

http://ngohungcuong.com
#5
Dưới đây là 1 project để test.
nội dung file main.c
Mã:
#include "N76E003.h"

void delay(void);

void delay(void) {
    int i;
    for(i=0; i<100; ++i) {
     
    }
}

void main(void) {
 
    P0M1=0x00;
    P0M2=0xFF;
 
    P1M1=0x00;
    P1M2=0xFF;
 
    P3M1=0x00;
    P3M2=0xFF;
 
    while(1) {
        P0=0xFF;
        P1=0xFF;
        P3=0xFF;
        delay();
        P0=0x00;
        P1=0x00;
        P3=0x00;
        delay();
    }
}
Để biên dịch chỉ cần gõ trong terminal
Mã:
make
2018-03-17-211644_1366x768_scrot.png

Như vậy là đã có file hex để nạp.
Cần chỉnh sửa gì thì chỉ cần mở file main.c
- Sau khi chỉnh sửa xong gõ make để biên dịch
- hoặc từ geany chọn Menu: Build -> Make
- hoặc trong geany ấn Shift + F9 để biên dịch
 

Đính kèm

Sửa lần cuối:

NgoHungCuong

http://ngohungcuong.com
#6
Sau khi có file hex thì sử dụng mạch nạp để nạp chip
Cần kết nối đủ các chân
2018-03-17-212210_1366x768_scrot.png

- Chân 9 nối với nguồn
- Chân 7 nối với GND
- Chân 6 nối với chân DATA của mạch nạp
- Chân 18 nối với chân CLK của mạch nạp
- Chân 4 nối với chân RESET của mạch nạp
Mình sử dụng mạch nạp VN Pro
- Chạy phần mềm nạp
- Ấn Browse chọn đến file hex cần nạp
- Ấn Write và chờ nạp xong
2018-03-17-212758_1366x768_scrot.png

- Có thể dùng logic analyzer để đo xung tại các chân VĐK kiểm tra kết quả, debug...
Như hình là tín hiệu tại 1 chân của chip đang chạy sau khi nạp chương trình ở trên.
2018-03-17-213135_1366x768_scrot.png
 

Vũ Tăn Tân

Học sinh phổ thông
#7
Quá hay anh ơi! tiếp tục làm các bài hướng dẫn khác đi anh. nhưng mà em dùng keil c và cũng đã build dc GIPIO :D
 

Quảng cáo Google