|
Tài trợ cho PIC Vietnam |
Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua |
|
Ðiều Chỉnh | Xếp Bài |
04-02-2007, 04:19 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jun 2006
Bài gửi: 5
: |
Những thắc mắc với PIC16F877
Chủ nhật rỗi rãi, e tổng hợp các chỗ mà mình còn thắc mắc về PIC, mong các bác hảo tâm giải đáp.Các bác giúp cho e và cũng là giúp cho nhiều bạn mới học
Xin cảm ơn các bác trước. 1... Em không hiểu PIC16F877 và PIC16F877A khác nhau chỗ nào? Dùng con nào thì tốt hơn? 2... Em hiện đang dùng thạch anh 4MHz, và định chuyển lên dùng thạch anh 20MHz. Nếu em không nhầm thì đây là giá trị thạch anh cao nhất cho PIC16F877. Không biết dùng thạch anh 20M thì PIC có chạy ổn định không, có cần phải chú ý điều gì không? (vì thằng bạn em đã thử dùng 20Mhz, nói là PIC cứ đơ đơ thế nào ấy). 3... Giá trị của tụ gốm đi cùng với thạch anh có nhất thiết phải chuẩn như trong datasheet không? Ví dụ với thạch anh 20MHz thì tụ gốm là từ 15-33p, với thạch anh 4Mhz là 15p (viết đến đây em xem lại thì thấy mình dùng tụ 33p với thạch anh 4MHz. Tuy vẫn chạy ngon nhưng thỉnh thoảng nó cũng điên điên. Lý do là đây chăng?) 4... Em cần dùng 2 con PIC16F877 trong mạch của mình. 2 PIC dùng chung 1 công tắc reset, và giao tiếp với nhau thông qua 2 chân RX và TX. Câu hỏi là: - Em dùng 2 PIC như vậy có cần chú ý gì không? - Em định dùng chung 1 thạch anh cho cả 2 PIC có được không? Nếu được thì e lại hỏi tiếp: 1 thạch anh có thể dùng chung cho tối đa bao nhiêu VĐK? 5... Nếu trong mạch của mình chỉ dùng 2 PIC thì có lẽ giao tiếp giữa chúng dùng 2 chân RX và TX là hợp lý. Nhưng nếu dùng từ 3 PIC trở lên thì sao? Em có nghĩ đến I2C, nhưng nếu dùng I2C thì 1 con sẽ là master và 1 con là slave. Theo cái kiến thức còn bé xinh xinh của e thì con master có thể đọc và ghi data đến con slave. Nhưng nếu con slave muốn chủ động gửi data đến con master thì ko được. Vậy muốn giao tiếp chủ động và công bằng giữa các PIC phải làm sao? 6... 16F877 có 2 chân VDD và 2 chân VSS. Sự khác nhau giữa 2 chân này ra sao? Trong mạch e cứ đấu cả 2 chân VDD lên +5V và 2 chân VSS xuống GND có sao không? 7... Có các sơ đồ mạch reset nào cho PIC? Loại nào ổn định nhất? Em đang dùng kiểu reset sơ đẳng : (ảnh dưới) Với kiểu reset này, em gặp trục trặc như sau: - Em cần điều khiển 2 động cơ độc lập về tốc độ, theo cả 2 chiều (thông qua mạch cầu H). PIC chỉ có 2 PWM nên em dùng 4 cổng AND của 7408 để mở rộng: (ảnh dưới) trục trặc thỉnh thoảng xảy ra, nhưng cũng không phải ít lần: mạch đang chạy, ấn reset, PIC vẫn bắt phím và hiển thị led 7 đoạn bình thường nhưng động cơ không chạy được (2 chân PWM hình như ko còn tác dụng). Phải tắt nguồn, đợi 1 tý xíu, bật trở lại thì động cơ mới chạy. Không hiểu tại sao nhỉ? 8... Nếu em dùng cả 2 PWM thì vẫn chỉ tốn timer 2 thôi đúng không? Như vậy em dùng cả timer0 và timer1 để làm counter có vấn đề gì ko? 9... E điều khiển 2 động cơ, mỗi động cơ có 1 encoder đưa về timer0 và timer1 để đếm (2 chân này đều được treo lên dương nguồn qua trở 10K). Đo điện áp từ encoder đưa về cũng gần 5V, vậy có cần thiết phải dùng IC để đệm đầu vào cho PIC không (như 74245, 74573...)? 10... Vấn đề treo trở. Thường thì đầu ra và đầu vào các IC phải treo trở lên dương nguồn. Tuy nhiên em dùng việc treo trở này khá bừa bãi. Ví dụ: tất cả các chân I/O của PIC đều treo trở băng 10K; các cổng I/O đều có đệm 1 con 74245, và đầu ra hay vào của các IC đệm cũng đều treo trở 10K hết... (cứ nghĩ đến treo trở là ốp luôn con 10K vào). Câu hỏi của em là: - Khi nào thì nên treo trở? (cực hở, tín hiệu vào biến đổi nhanh, encoder, đầu ra dòng cao ???) - Giá trị trở treo là bao nhiêu cho từng trường hợp? Một số mạch em thấy treo 2k2, 4k7, 10k .... , có lần còn thấy đầu ra con ULN2803 treo 10k ko được, phải treo lên 100k ??? Em đọc đâu đó thấy nói rằng, giá trị trở treo lớn thì tổn hao dòng nhỏ, nhưng thời gian để xung lên hoặc xuống hoàn toàn lớn; còn treo trở giá trị nhỏ thì ngược lại. Các bác nói rõ hơn chỗ này được không? - Với các IC logic như 7400, 7408..., 4050... thì có cần phải treo trở không? 11... Mạch ICD2-USB. Em thấy nhiều bác bán mạch nạp và gỡ rối này (như bác fall, bác TME,bác batbatdieu, minhha...) nhưng e chưa hiểu cái mạch này chức năng ra sao. Các bác nói hộ em chút: - Em dùng Winpic800 thấy rất tiện khi nạp kiểu ICSP trực tiếp trên bo mạch test, cứ nạp xong là PIC tự chạy luôn, rất sướng. Mạch này nạp ICSP xong PIC có tự chạy ko? - Tài liệu có nói không được dùng mạch này để cấp dòng cho mạch ngoài quá 100mA. Nếu e ko dùng nguồn 5V của mạch nạp mà dùng luôn nguồn của mạch phát triển thì nạp có vấn đề gì ko? - Chức năng gỡ rối trên mạch nghĩa là sao? Có phải là khi chip đang chạy trên thực tế, ta có thể theo dõi được các thanh ghi và các biến không? - Em muốn nạp trực tiếp trên mạch mà vẫn sử dụng 2 chân PGD và PGC thì làm sao? Nếu 2 chân này làm đầu vào, và trong quá trình nạp có tín hiệu vào 2 chân này thì sao? (chắc là toi nhỉ). Nếu 2 chân này dùng làm đầu ra, để điều khiển cái gì đó thì chắc vẫn nạp đươc ? 12... Mạch em dùng chỉ có nguồn cấp 12V (acquy). Nhưng bây giờ lại có 1 linh kiện đòi hỏi dùng điện áp >=24V. Nếu đấu 2 acquy thì không nói làm gì rồi. Vấn đề e cần hỏi là liệu có cách nào để nâng điện áp từ 12V lên 24V hoặc hơn dùng linh kiện không? - Em đã thấy cách tạo ra điện áp 13V dùng 7805 và 7808. Vậy có dùng 2 con 7812 để tạo ra 24V ko? - Max232 có thể nâng mức TTL 5V thành mức 13V. Vậy có dùng để nâng áp thành 24V đc ko? |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Xin tập lệnh của PIC16F877 | thanhdt | Cơ bản về vi điều khiển và PIC | 12 | 13-01-2011 09:37 PM |
Nguồn chuẩn cho ADC của PIC16F877 | mamen2006 | PIC - Thiết kế và Ứng dụng | 0 | 13-09-2006 05:23 PM |