Tài liệu học PIC cho người mới bắt đầu

NgoHungCuong

http://ngohungcuong.com
#21
Theo mình thì khi tìm hiểu bất cứ con chip nào đầu tiên là phải nắm được nguồn xung clock và nguồn reset. Cái này rất quan trọng.
Sau khi nắm được rồi thì xem trong DS xem nó cấu hình xung clock như thế nào, thông qua thanh ghi hay config, fuse... nào rồi ta cấu hình cho đúng ý của ta (nhất là avr fuse sai thì sửa lại cũng mất thời gian).
Tiếp đó đến IO, và làm cho nó on, off con led được đã là thành công rồi :)
tiếp theo thì cứ thế mà tiến...
Và nhớ thêm là tuyệt đối tin vào DS :))
 

chulinhtre

myselfHungNN
#22
Đọc đến đây thì thấy quan trọng nhất là học tiếng Anh cho ngon vào, đọc datasheet vừa nhanh hiểu, mà lại không bị hiểu nhầm, hiểu sai!
Và quan trọng hơn nữa là có thể tự học được nhiều môn khác nữa!
 

chocolet_90

Học sinh trung cấp
#23
có ai biet cho led chay nguoc lại tu port b va d doan cot nat ko ?
OUTPUT_B(0b00000001);
DELAY_MS(500);
for(i=1;i<0x80;i=i<<1,output_b(i),delay_ms(500));
OUTPUT_B(0);
DELAY_MS(500);
OUTPUT_D(0b00000001);
DELAY_MS(500);
for(i=1;i<0x80;i=i<<1,output_d(i),delay_ms(500));
OUTPUT_D(0);
DELAY_MS(500);
 

chulinhtre

myselfHungNN
#24
có ai biet cho led chay nguoc lại tu port b va d doan cot nat ko ?
Ưu tiên bạn nữ học kỹ thuật tí nhỉ!

OUTPUT_B(0b00000001);
DELAY_MS(500);
for(i=1;i<0x80;i=i<<1,output_b(i),delay_ms(500));
OUTPUT_B(0);
DELAY_MS(500);
OUTPUT_D(0b00000001);
DELAY_MS(500);
for(i=1;i<0x80;i=i<<1,output_d(i),delay_ms(500));
OUTPUT_D(0);
DELAY_MS(500);

Nhìn cho kỹ đoạn code bạn sẽ thấy hai vòng for, dùng cho việc dịch cái chuỗi bít trước khi xuất ra cổng
Nhớ là: 0x80 (hexa) = 0b 1000 0000 (binary)

Ban đầu i = 1 thì 0x01 = 0b 0000 0001
Lặp 1: i<<1
thì i = 2 tức là 0x02 = 0b 0000 0010
lặp 2 i<< 1
thì i = 4 0x04 = 0b 0000 0100
cứ như vậy, giá trị i nhận là 1, 2 4 8 16 32 64 128
hay chuỗi bít ra ở cổng lần lượt là:
(1) 0b 0000 0001
(2) 0b 0000 0010
(4) 0b 0000 0100
(8) 0b 0000 1000
(16) 0b 0001 0000
(32) 0b 0010 0000
(64) 0b 0100 0000
(128)0b 1000 0000

Bạn thấy số 1 sẽ dịch sang bên trái,
Như vậy, bạn muốn dịch theo chiều khác thì căn cứ vào logic ở trên mà gán giá trị i cho phù hợp thôi!
 

chocolet_90

Học sinh trung cấp
#25
pan co the noi ro hon dc khong minh thu lam roi no van , minh dinh làm mạch 32 led don chơi cho vui thôi
 

son_debugger

Học sinh phổ thông
#27
Dear bạn sgesvn,
Mình mạn phép mượn luồng của bạn để up cho anh em thêm một số tài liệu trước đây mình tổng hợp được bên PICVietnam.
Hi vọng nó hữu ích cho các bạn mới bắt đầu!
1. Tài liệu 1: Lập trình PIC bằng CCS
- Giúp các bạn các bước để làm quen với công cụ lập trình CCS (một công cụ mạnh, linh hoạt với các hàm xây dựng sẵn)
- Sau khi đọc xong tài liệu này, các bạn có thể biết cách tạo 1 project và bắt tay vào việc coding.
2. Tài liệu PIC Vietnam 01
- Giúp các bạn làm quen với một loại VDK phổ biến (PIC16F877A).
- Để có điều kiện thực hành nhanh mà không cần làm mạch các bạn có thể sử dụng phần mềm vẽ mạch, mô phỏng Proteus (Lưu ý nên dùng bản mới nhất để khi làm mạch in không bị lỗi via)

BRs,
 

Đính kèm

Quảng cáo Google