![]() |
PIC16F877 và bài toán đo nhiệt độ hiển thị LCD, có realtime-clock và eeprom.
Tôi là tham gia là thành viên của picvietnam cũng khá lâu rùi, nhưng ít khi post bài. Lâu lâu ko thực hành mảng điện tử này thấy nhớ quá. Tiện thể, thầy cho bài tập. Tôi lôi ra làm, mong các anh em trên diễn đàn giúp đỡ.
Ở đây, tôi sẽ đi giải quyết một bài toán khá cơ bản. Nội dụng như sau: Trích:
|
Yêu cầu của bài toán là khá rõ ràng. Trước tiên, dùng Protel vẽ cái mạch nguyên lý cái nhể:
http://quangvinh3ik47.googlepages.com/temp1307.jpg File mạch nguyên lý (DXP): http://quangvinh3ik47.googlepages.com/TEMP1307.SchDoc Tiếp đến là vẽ mạch in http://quangvinh3ik47.googlepages.com/temp1307_pcb.jpg File PCB: http://quangvinh3ik47.googlepages.com/TEMP1307.PchDoc Hơi xấu, và hơi tiết kiệm, có một số dây phải đi bằng tay. Rồi, xong. Giờ đến phần gì nhỉ? Tìm hiểu datasheet của các linh kiện và vẽ cái proteus cho nó hoành tráng. http://quangvinh3ik47.googlepages.co...07_proteus.jpg File proteus: http://quangvinh3ik47.googlepages.com/temp1307.dsn |
ko thấy hình ji cả >_<,
|
I. Vấn đề đầu tiên cần giải quyết là linh kiện của mạch này tìm mua ở đâu? Hà hà, mấy cái này coi bộ dễ kiếm đây. Nhưng tui cũng vẫn đi lục trong diễn đàn dientuvietnam xem các anh em đánh giá thía nào?
1. Chợ trời: --> tạp phí lù 2. 17A Hàn Thuyên: 04.39721934 (Hàng Trống bán tool: 04.38265495) --> có nhiều hàng, nhân viên xinh. 3. 149 Đội cấn 4. 269 Đội cấn 5. 419 Đội cấn: 04.39180234 6. Lê Dương Electronic: ic-vn.com 7. Nguyễn Công Trứ 8. Cty RMT B10 ngõ 42 Giang Văn Minh - 04.2162596 9. Cửa hàng Loan - Giang - Tú 21 Trần Cao Vân - 048211037 --> anh em khen cửa hàng này lắm 10. Làm vỏ hộp - a Cường Cổ Nhuế - 0903227476 11. Thành viên có nick VNarmy - 0982083106 ..... Ui nhiều quá, ha ha... |
II. Giờ đi đặt mạch, lâu quá rùi ko làm nên giờ lại lục tìm xem ở HN này có chỗ nào đặt mạch tốt:
1. 485 Trần Khát Chân - 04 6227470 2. Thành Long - thanhlongpcb.com.vn - số 7 ngõ 100 Tây Sơn 3. Sao Kim - nhà 14 ngõ 11 Vương Thừa Vũ - Chú Công: 0903276367 4. M2 -> ko biết là gì, địa chỉ ở đâu 5. P105/Z9 ngõ 1 Tạ Quang Bửu 048684617 - 0904103179 6. Nhà 9 ngách 30 Thông Phong - Tôn Đức Thắng 7. LongPCB 0904277576 8. 27 Hoàng Sâm - Cầu Giấy (từ Hoàng Quốc Việt rẽ vào) - 047564591 9. GTH - 46 gác 3 Hàng Chuối - 0904253568 10. Viện Điện tử tin học - 156a Quán Thánh 11. Đức Việt Hà - số 868 ngõ 850 Đường Láng. .... Đặt ở đâu nhỉ? |
Trích:
Cái mạch trên, đặt từ thứ 6 tuần trc đến thứ tư tuần này mới lấy đc, thế mà chém mình 152K. Nhưng điều đó ko quan trọng. Nhờ anh em xem giúp xem tớ thiết kế thế có đc ko? dùng thạch anh 10M có vấn đề gì ko? |
III. Hiển thị lên LCD:
Như thiết kế, ở đây sử dụng LCD 16x2 kiểu truy nhập 4bit. Trong CCS có file mẫu lcd.c như sau: Trích:
Trong thiết kế của mình thì: Trích:
|
Theo em thì anh define lai mấy cái chân enable, rs, rw rồi sửa lại cái hàm lcd_send_nibble là ok mà
|
Trích:
Cần phải sửa được lệnh Trích:
|
em thấy anh không sử dụng một port chung cho LCD nên theo em cần phải sửa lại chỗ struct lcd_pin_map và sửa lại cái hàm lcd_send_nibble để gửi dữ liệu ra đúng cổng
|
ah cho em hỏi, mấy chỗ đặt mạch anh kể thì có chỗ nào làm lấy luôn được không, em đang cần làm cái mạch test cho máy con ic chân dán kiểu SOIC, kích thước mạch cũng nhỏ à
|
Bạn cho mình hỏi EEPROM24C256 để làm gì vậy ?
|
để lưu số mẫu đo đó....
|
chẳng lẻ bộ nhớ EEPROM trong chip không đủ để lưu hả bạn?
|
Trích:
|
Trích:
Hơn nữa, đây là yêu cầu của bài tập :D |
LCD bị lỗi, help!
Hjx, code cho LCD cuối cùng đã có!
Test trên proteus - ok. Nhưng nạp vào mạch vẫn ko chạy. Tôi đã kiểm tra chân nguồn, gnd, chỉnh ligh -> ok chân enable->A2 chân reset ->A3 chân R/W -> A1 4 đường data D4-D7 nối với chân B1-B4 Test thử bằng cách xuất output_high và output_low qua từng chân trên đều ok. nhưng nạp chương trình vào thì vẫn ko chạy. Có ai giúp tôi vụ này với! tưởng có vấn đề với chân 15, 16 nên đã cắt bỏ đường mạch nối tới 2 chân này. Nhưng nó vẫn chưa thèm chạy! Cái LCD này nó cứ ngủ mãi ko chịu dậy. Bực quá đi mất..... Trích:
|
Loay hoay với cái này mất gần 2 ngày trời rồi. Có ai xem giúp tôi với. Chứ thấy cái LCD này lì quá!!!!!
|
Trích:
http://www.picvietnam.com/forum/showthread.php?t=357 Thân, |
tôi viết code để test lcd như sau:
Code:
#include <16F877A.h> Tuy nhiên, mô phỏng với proteus thì chạy tốtt, còn nạp lên mạch thì LCD chỉ hiện một dòng đen xì. (với code trên, tôi đã nối châm RW của LCD với đất) kiểm tra điện áp trên lcd thì có Trích:
|
Trích:
Theo thông tin của bạn, phần cứng của bạn đang có vấn đề, vì chân D6 có trạng thái bất thường so với các chân còn lại. Bạn nên đưa sơ đồ mạch đã dùng lên diễn đàn, vì code chỉ có nghĩa khi dùng với một thiết kế phần cứng cụ thể. Thân, |
Trích:
|
Hjx, hóa ra chip PIC bị hỏng.
Nhưng ko phát hiện ra hỏng bởi vì dùng Pickit2 vẫn nạp và tẩy ngon lành. Test bằng cách nhấp nháy pin_b5 vẫn ok. Sau đó, tôi đã đo thông mạch của pic (gỡ pic ra khỏi mạch). Thấy chân 3-4-12-31 của PIC bị thông mạch. Bác cho hỏi, hỏng kiểu đó có chữa được ko... tiếc con pic quá! |
Trích:
Trong post #268 của luồng http://www.picvietnam.com/forum/showthread.php?t=357, tôi đã trình bày quy trình khởi tạo đầy đủ. Đối chiếu với code của bạn thì thấy dữ liệu để khởi tạo của bạn bị sai (0x03 thay vì một trong các giá trị 0x30 - 0x3F). Thân, |
Trích:
Tôi không nghĩ rằng bạn có thể chữa được nó, nhưng dùng cho các mạch khác thì vẫn được (chỉ cần không dùng hai chân đó, và thiết lập các chân đó là ngõ vào thôi). Thân, |
gởi Vinh3i tiền bối!!
em đang làm đề tài vi điều khiển gần giống như anh vậy!!! em học ĐTĐ khoa điện BKDN,mới vào nghề điện tử này không lâu như mấy huynh! nên gà trong lập trình !!! híc.... mong anh Vinh3i có thể up luôn cả code C về đề tài này cho mọi người cùng tham khảo!! cảm ơn đã đọc tin này!! Nhân tiện hỏi luôn ma trận phím của anh lập trình như thế nào!! thank!! |
Trích:
|
Chào anh Vinh3i!
1.Anh cho em hỏi là chân D0-D3 của LCD anh không sử dụng thì khi hiển thị lên LCD sẽ như thế nào? 2. Ma trận phím anh cho qua cổng AND thì khi thay đổi hay cài đặt thông số thời gian hay đặt ngưỡng cho nhiệt độ thì phải nhấn cả một tổ hợp phím à? Mong anh chỉ bảo! |
Thanks bài viết rất bổ ích cho những người đang làm đồ án về Pic
|
Anh có thể up file code của toàn bộ đề tài này ko? Em đang làm đồ án về Pic,nhưng phần lập trình gà wa.
|
chào các a.. e là thành viên mới...
e đang nghiên cứu làm đồng hồ vạn niên hiển thị lên LCD..dùng PIC6f877a viết code bằng ngôn ngữ asm ..chân thành. vinhjuri2310@yahoo.com |
share mình cái này mình nguyên cứu cái bạn . link die rồi
|
Anh chị nào có driver cho thằng 18B20 không? xài cho HTPIC hoặc CCS cũng dc?
em dang tìm mà chưa thấy. Thanks |
Trích:
|
Múi giờ GMT. Hiện tại là 03:29 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