PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Pic16f877a TỪ DỄ TỚi KhÓ (http://www.picvietnam.com/forum/showthread.php?t=238)

phandinh 12-02-2009 09:54 PM

À em hiểu rồi . đúng là bị chỗ đấy thật.
Chắc em nhớ mãi lệnh này ( ngồi từ sáng tới trưa)
Thanks bác nhiều

phandinh 15-02-2009 10:01 PM

1 Attachment(s)
Sợ thằng Proteus quá rồi.
Em vừa làm xong mạch test 16f877A.Mà không hiểu sao nó ko chạy.
Các bác có rảnh thì xem hộ em coi sơ đồ nguyên lí có gì sai ko.
Cảm ơn các bác nhiều.
-------------------------------------------------------------
À em dùng phần mềm WinPic 800 để nạp.
trên thanh công cụ có các nút sau mà em ko hiểu lắm:
Read All, Programe All và Verify All.
Như khi em nạp thì em chọn Programe All trước sau đó mới đến Verify All.
Mong các bác chỉ giáo

namqn 15-02-2009 11:31 PM

Trích:

Nguyên văn bởi phandinh (Post 22626)
Sợ thằng Proteus quá rồi.
Em vừa làm xong mạch test 16f877A.Mà không hiểu sao nó ko chạy.
Các bác có rảnh thì xem hộ em coi sơ đồ nguyên lí có gì sai ko.
Cảm ơn các bác nhiều.
-------------------------------------------------------------
À em dùng phần mềm WinPic 800 để nạp.
trên thanh công cụ có các nút sau mà em ko hiểu lắm:
Read All, Programe All và Verify All.
Như khi em nạp thì em chọn Programe All trước sau đó mới đến Verify All.
Mong các bác chỉ giáo

Mạch nguyên lý của bạn về nguyên tắc thì không có vấn đề, nhưng bạn không cho biết giá trị cụ thể của linh kiện, nên khó mà nhận xét mạch thử nghiệm của bạn. Bạn nên cho biết thêm:

- Tụ điện dùng cho thạch là bao nhiêu, tần số của thạch anh là bao nhiêu? Bạn đã cấu hình cho PIC như thế nào?
- Điện trở của mạch reset là bao nhiêu?
- Bạn có dùng các tụ ceramic 100 nF giữa các cặp chân VDD và VSS nằm gần nhau hay không? Nếu câu trả lời là không thì bạn nên bổ sung các tụ này.
- Nếu PIC của bạn còn mới tinh hoặc bạn cho phép nạp ở điện áp thấp (LVP), bạn nên có điện trở vài k từ chân RB3/PGM đến VSS.

Bạn nên đọc post #1 của luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=3451

Thân,

phandinh 16-02-2009 12:01 AM

Thạch anh em dùng 12 Mhz, tụ 33pF như hồi em làm 8051.
Điện trở kéo lên Reset là 10 k
Tụ ceramic 100 nF nối VDD và VSS thì em ko có.

phandinh 16-02-2009 12:13 AM

dạ để mai em sửa như bác hướng dẫn. mà sắp thi rồi ko biết có kịp sửa không.
có gì em nhờ bác tiếp.
thanks.

phandinh 17-02-2009 04:37 PM

bác namqn ơi
 
Em đang định làm đề tài truyền thông nối tiếp F877 với PC.
8 kênh ADC ( dùng 1 sensor nhiệt độ, còn lại chỉ dùng biến trở) --> RS232--->f877---> màn hình máy tính(dùng VB để viết).
bác cho em hỏi tí:
.Nguồn cho pic em có thể dùng chính nguồn (biến đổi) của cổng COM được không?
.Giao tiếp cổng COM thì vẫn dùng Max 232 như gt với 8051 hả bác?
BÁc chỉ dùm em đường link có liên quan với.
Em đang chuẩn bị thi nên mấy hôm nay ko học được
thanks!

namqn 17-02-2009 05:59 PM

Trích:

Nguyên văn bởi phandinh (Post 22667)
Em đang định làm đề tài truyền thông nối tiếp F877 với PC.
8 kênh ADC ( dùng 1 sensor nhiệt độ, còn lại chỉ dùng biến trở) --> RS232--->f877---> màn hình máy tính(dùng VB để viết).
bác cho em hỏi tí:
.Nguồn cho pic em có thể dùng chính nguồn (biến đổi) của cổng COM được không?
.Giao tiếp cổng COM thì vẫn dùng Max 232 như gt với 8051 hả bác?
BÁc chỉ dùm em đường link có liên quan với.
Em đang chuẩn bị thi nên mấy hôm nay ko học được
thanks!

- Đa số các cổng COM hiện đại có khả năng cấp nguồn rất hạn chế (các cổng này được thiết kế cho mục đích truyền thông, chứ không phải cho mục đích cấp nguồn). Do đó, bạn không nên dùng nguồn từ cổng COM để cấp cho PIC.

- Giao tiếp một vi điều khiển bất kỳ với máy tính đều có thể dùng MAX232 (hoặc một vi mạch tương thích), do đó với PIC bạn vẫn dùng như vậy. Sơ đồ cụ thể còn tùy thuộc vào việc bạn dùng module USART của PIC hay hiện thực bằng phần mềm (bit-banging). Nếu dùng USART của PIC thì nối như sau:
+ Chân TX (PIC) -> T1IN/T2IN (MAX232) -> T1OUT/T2OUT (MAX232) -> chân RD (chân 2) của cổng COM
+ Chân RX (PIC) <- R1OUT/R2OUT (MAX232) <- R1IN/R2IN (MAX232) <- chân TD (chân 3) của cổng COM.

Những chân còn lại của MAX232 được nối như trong datasheet.

Thân,

phandinh 19-02-2009 02:39 AM

bác cho em hỏi:
địa chỉ ngắt f877 là 004h. Nếu mình sử dụng 1 ngắt thì ko vấn đề gì.
Nhưng khi em sử dụng nhiều ngắt , Vậy thì mình phải làm gì
để nó phân biệt được đâu là ngắt ngoài , ngắt timer , counter.... hả bác

xuanhiendk2 19-02-2009 01:50 PM

Các bác ơi sao ko viết bằng C đi!! Em thấy viết bằng C dễ hiểu hơn.

phanhuuhoan 19-02-2009 02:40 PM

chào mọi người !theo em nhận thấy tại sao chúng ta không một dự án nhỏ từ a đến z giống như tụi nước ngoài luôn !Em thấy các cứ post kiểu em thấy xưa cũ quá rồi !nhai đi nhai lại hoài chán lắm !phải có cái gì mới lạ hơn và khó hơn để cùng nhau mổ xẻ !..........

phandinh 19-02-2009 08:25 PM

uh mình cũng thấy viết C thì đơn giản hơn nhiều.
mình đang học cả 2. mình muốn trước tiên phải hiểu
về cấu trúc PIC thật rõ ràng đã nên học ASM.
Muốn học lắm mà ko có nhiều thời gian.

phandinh 19-02-2009 08:29 PM

Trích:

Nguyên văn bởi phanhuuhoan (Post 22740)
chào mọi người !theo em nhận thấy tại sao chúng ta không một dự án nhỏ từ a đến z giống như tụi nước ngoài luôn !Em thấy các cứ post kiểu em thấy xưa cũ quá rồi !nhai đi nhai lại hoài chán lắm !phải có cái gì mới lạ hơn và khó hơn để cùng nhau mổ xẻ !..........

Đây là luồng căn bản về PIC mà bạn. Bạn có thể mở luồng PIC nâng cao .
Quyết định vậy đi. Hẹn bạn ở luồng nâng cao

robinson4u 23-02-2009 06:32 PM

các anh cho em hỏi với.Nếu muốn thêm bộ nhớ ram cho vi điều khiển PIC 16F877A thì làm thế nào nhỉ.em chưa biết sao,các anh giúp em với nhé.

namqn 24-02-2009 12:30 AM

Trích:

Nguyên văn bởi robinson4u (Post 22899)
các anh cho em hỏi với.Nếu muốn thêm bộ nhớ ram cho vi điều khiển PIC 16F877A thì làm thế nào nhỉ.em chưa biết sao,các anh giúp em với nhé.

PIC16F877A (và các vi điều khiển PIC nói chung) không được thiết kế để sử dụng RAM ngoài. Bạn vẫn có thể nối PIC16F877A với RAM ngoài thông qua các port I/O của PIC, nhưng tốc độ truy xuất RAM sẽ không cao hơn tốc độ vào ra dữ liệu của các port I/O này.

Bạn nên cho biết cần thêm bao nhiêu RAM, và tốt hơn nữa thì cho biết vì sao bạn cần bổ sung thêm RAM.

Thân,

lexuantien 24-02-2009 09:05 AM

anh ntc sao a không post bài tiếp đi . E đang theo dõi luồng này , nó rất hay với lại e cũng mới tiềm hiểu con 16f877A thôi. Nên rất cần tài liệu về con này mong a giúp đỡ.


Múi giờ GMT. Hiện tại là 11:11 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam