|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
|
04-12-2005, 01:28 PM | #1 |
Đệ tử 8 túi
|
Pic16f877a TỪ DỄ TỚi KhÓ
Chào cả làng!
Luồng thứ hai là luồng “PIC16F877A! Nào ta cùng chat!”. Rút kinh nghiệm cái luồng “Học PIC trong vòng một ngày” của bác Falleaf, tui tạo ra them một luồng nữa để cho các bạn thảo luận, thắc mắc và … nói nhảm. Như vậy các bạn sẽ dễ dàng theo dõi các bài viết trong luồng “PIC16F877A TỪ DỄ TỚI KHÓ”, đồng thờI giảm bớt sự luộm thuộm, lung tung cho các luồng trong trang web của chúng ta. Rất mong các bạn tuân thủ đúng qui định trên để đảm bảo mục đích chung của các luồng. Qyuết định như vậy đi. Hehe. trị thấy tui làm vậy có được không vậy? Nhớ cho biết ý kiến nghe. Chào thân ái! Chúc cả làng PICVietnam một ngày chủ nhật vui vẻ! thay đổi nội dung bởi: falleaf, 26-06-2006 lúc 05:03 PM. |
04-12-2005, 08:13 PM | #2 |
PIC Bang chủ
|
Tuần tới, anh sẽ cung cấp mạch phát triển của PIC16F877A cho nhóm PIC ở HCM làm, sau khi có các kết quả thực hành, anh sẽ cung cấp các bài viết chi tiết về mạch phát triển cho PIC16F877A.
Tuy nhiên, trong giai đoạn này, em nên đưa ra một số mạch ứng dụng cụ thể, theo từng bài học cụ thể, các source code và các mạch cần phải cung cấp theo từng bài liên tục, không viết tràn lan, và tránh đi sai mục tiêu. Trước tiên, em nên chỉ rõ hướng em sẽ đi, để người đọc dễ theo dõi, khi luồng này phát triển và có nhiều người quan tâm, em dán nó lên để cho mọi người dễ thấy. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
04-12-2005, 10:45 PM | #3 |
Đệ tử 8 túi
|
OK! Phản hồi như vậy là được rồi. Tui sẽ làm tới nới tới chốn cái dzụ này.
Nói thiệt là tui cũng chẳng phải là tiền bối gì, chỉ có biết tới đâu thì viết tới đó thôi. Ghi nhận ý kiến của bác falleaf. Em sẽ tổ chức lại cái tài liệu em gửi cho bác thành từng bài nhỏ có liên quan cụ thể với nhau, chuyển qua pdf và post lên. Việc này cứ để em làm, bác chỉ cần viếng thăm đều đều để có ý kiến ý cò là được rồi. Mục đích của luồng này trước hết là giúp các bạn làm quen từ từ với PIC16F877A. Trong thời gian đầu, tui sẽ cố gắng viết bài càng chi tiết càng tốt (từ mạch test cho tới chương trình cụ thể) để các bạn có thể làm quen với con PIC này một cách dễ dàng. Sau bước đầu làm quen, các bài viết sẽ mang tính chất đặt vấn đề để tất cả cùng giải quyết, chúng ta sẽ đi theo hướng làm việc dựa trên quá trình tìm hiểu các datasheet của cái mà mình muốn điều khiển, rồi sau đó mới đưa ra phương pháp điều khiển cụ thể cho nó. Các bài viết sẽ đi theo trình tự từ dễ tới khó, và để tiện cho việc thảo luận, các bài viết sẽ được đánh số rõ ràng, như vậy bên cái luồng "PIC! Nào ta cùng chat!", muốn thảo luận về bài nào ta chỉ cần nói số thứ tự của cái bài đó ra là mọi người sẽ biết. Mỗi bài sẽ chỉ đi sâu vào một ứng dụng cụ thể, các thông tin cung cấp trong mỗi bài sẽ có tính tập trung cao để các bạn dễ theo dõi. |
03-04-2009, 11:22 PM | #4 |
Nhập môn đệ tử
Tham gia ngày: Mar 2009
Bài gửi: 3
: |
anh ơi anh có mạch lịch vạn niên không anh giúp em với. anh post cho em được không
|
05-12-2005, 09:14 PM | #5 |
Đệ tử 8 túi
|
Bài tui viết xong rồi, nhưng dang chờ mấy tiền bối xét duyệt và điều chỉnh. Trong khi chờ đợi, tui sẽ đưa ra cái mục lục của các bài sắp được post lên. Trong quá trình viết bài có thể sẽ có vài điều chỉnh nhỏ, nhưng định hướng các bài viết sẽ là như vậy. Bài nào có điều chỉnh khác với mục lục tui sẽ đề cập cụ thể:
Bài 1 Điều khiển các port I/O Bài 2 Chương trình delay Bài 3 Một số ứng dụng xuất/nhập qua các port của vi điều khiển (bài này khá dài nên có khả năng sẽ được chia ra thành nhiều bài nhỏ). Bài 4 Điều khiển IC ghi dịch 74HC595 Bài 5 PIC16F877A và LED 7 đoạn (bài này cũng khó khả năng được chia ra) Bài 6 Ngắt và cấu trúc của một chương trình ngắt dành cho vi điều khiển PIC16F877A Bài 7 Các Timer của vi điều khiển PIC16F877A Bài 8 Timer và hoạt động định thời Bài 9 Ứng dụng tổng hợp (coi như là một bài tập để ôn lại tất cả các bài trước, tui cho rằng bài này sẽ khá thú vị, hehe) Bài 10 Điều khiển LCD Tạm thời là như vậy cái đã. Các bạn thấy cái mục lục như vậy đã đủ hấp dẫn chưa?? Hay phải thêm bớt cái gì nữa?? |
08-12-2005, 01:07 PM | #6 |
Đệ tử 2 túi
Tham gia ngày: Jun 2005
Bài gửi: 33
: |
Theo tôi nên bổ xung thêm phần Serial Communication
__________________
I'm beginner. thay đổi nội dung bởi: falleaf, 29-05-2006 lúc 01:52 PM. |
09-12-2005, 04:16 AM | #7 |
Nhập môn đệ tử
Tham gia ngày: Nov 2005
Bài gửi: 5
: |
Và thêm phần AD converter, giáo trình PIC tiếng Anh và những thứ liên quan, kể cả một cuốn note book cho 16F877 tui có nhiều, có điều không hiểu giữa A và không A, có khác nhau gì không hả bác ntc
__________________
Đầu như đầu bò, óc như kiến gió. |
03-09-2006, 12:30 PM | #8 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2006
Bài gửi: 9
: |
Trích:
|
|
05-09-2006, 11:47 PM | #9 |
Đệ tử 8 túi
|
Hi all!
Mình quay lại diễn đàn với một tutorial mới đây. Đây là một bài tập ứng dụng để thiết kế một real time clock sử dụng IC thời gian thực DS12c887, bao gồm các hướng dẫn xây dựng các module ứng dụng và hoàn tất ứng dụng. Trong bài tập này, mình chưa đặt ra yêu cầu hoàn thiện ứng dụng. Công việc này chúng ta sẽ cùng làm, cùng xây dựng. Như vây sẽ tốt hơn. Mình để trống một số chỗ chưa hoàn thiện, với ý đồ, làm chạy được rồi, nhưng mà thấy hơi ngứa mắt, thì mọi người sẽ tìm cách làm cho nó đỡ ngứa mắt hơn. Những điểm chưa hoàn thiện, và những chỗ cần hoàn thiện cho ứng dụng, mình sẽ chỉ ra sau. Chúng ta sẽ xây dựng ứng dụng theo cách suy nghĩ "củ chuối" nhất, và dễ hiểu nhất. Sau khi đã thực hiện thành công, vấn đề hoàn thiện sẽ được đặt ra sau, từ chương trình đến mạch ứng dụng. Thôi, nói nhiều quá. Nó đây! Hy vọng có người chịu thực hành, và hi vọng nó giúp ích cho các thành viên của PICVIETNAM. thay đổi nội dung bởi: ntc, 05-09-2006 lúc 11:51 PM. |
03-12-2007, 10:06 AM | #10 | |
Nhập môn đệ tử
Tham gia ngày: Nov 2007
Bài gửi: 1
: |
Trích:
Tôi cũng đang rất quan tâm về Pic bạn có thể gởi cho mình xin tài liệu này được ko? Cảm ơn nhiều! mail. buithanhluan@gmail.com |
|
11-05-2008, 07:03 PM | #11 |
Đệ tử 2 túi
Tham gia ngày: Apr 2008
Bài gửi: 38
: |
Trùi ui !! các bác up bài này mấy chục năm rồi mà bây giờ em bắt đầu đọc, lạc hậu quá
mong các bác chỉ bảo thêm nhe, mới đọc tiêu đề đã thấy hay rồi, cái mình cần học đây rùi, cám ơn bác nhe, trong quá trình học hỏi có điều chi thắc mắc mong các bác trả lời giúp, em có hỏi những câu ngớ ngẩn cũng đừng chê nhe, beginner mà. Thanks.
em đọc hết chương 3, đọc cũng hiểu và có thể viết cho nó chạy đc, mà vẫn chưa biết nãy giờ các anh viết bằng cái gì? ( ngôn ngữ gì, chương trình gì?) cho em xin luôn đc không? thay đổi nội dung bởi: dinhthem, 11-05-2008 lúc 09:19 PM. |
09-12-2005, 06:00 PM | #12 |
Đệ tử 8 túi
|
Cai A hay khong A thi bac Falleaf da tra loi roi. Co A thi bo nho chuong trinh cua no la bo nho Flash, con khong co A thi bo nho chuong trinh cua no la bo nho EEPROM.
Hehe, bai dau tien chinh sua hoi nhieu (vi chua the lam hai long cac vi tien boi) nen cac ban chiu kho doi mot hai bua nua di. Con viec nay nua, lam on chuyen qua cai luong "PIC16F877A!Nao ta cung chat". Hehe, tui bat dau thay cai luong nay hoi lon xon roi do. |
09-12-2005, 08:18 PM | #13 |
PIC Bang chủ
|
Em dang làm mod của box này mà, em có quyền sử dụng các chức năng điều khiển trong box của em, để di chuyển bài viết, cắt dán bài viết....
Các bạn cố gắng chuyển luồng để post bài, để tránh mod phải làm việc nhiều. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
10-12-2005, 12:55 PM | #14 |
Đệ tử 8 túi
|
NÓ ĐÂY! Hehe. Bài đầu tiên.
Hy vọng sau khi đọc xong bài này, các bạn sẽ nhận ra rằng đây không phải là tài liệu dịch hay copy từ đâu đó. Các bạn đọc xong nhớ cho biết ý kiến nghe, cách viết của tui như vậy đọc có thấy dễ hiểu không. Bài này là bài cơ bản và khá đơn giản và được viết khá kĩ, hy vọng các bạn có thể hiểu được một cách dễ dàng và thực hiện thành công ứng dụng trong bài. Còn nữa, tui nhắc lại lần cuối cùng, qua cái luồng "PIC16F877A!NÀO TA CÙNG CHAT" rồi mình cùng thảo luận, hehe, nếu không thì tui bắt buộc phải dùng tới ... vũ lực à nghe. |
05-02-2006, 10:55 PM | #15 |
Nhập môn đệ tử
Tham gia ngày: Feb 2006
Bài gửi: 1
: |
Trong bài 2, có một đoạn code mình không hiểu cho lắm?
Code:
Đoạn chương trình 2: MOVLW d’255’ MOVWF delay‐reg1 ; đưa giá trị 255 vào thanh ghi “delay‐reg1” loop DECFSZ delay‐reg1,0 ; giảm giá trị thanh ghi “delay‐reg1”và so sánh với 0 GOTO loop1 ; nếu chưa bằng 0 nhảy tới label “loop1” GOTO next ; nếu đã băng 0 chương trình delay hoàn tất loop1 MOVLW d’255’ MOVWF delay‐reg2 ; đưa vào thanh ghi “delay‐reg2” giá trị 255 DECFSZ delay‐reg2,0 ; giảm giá trị thanh ghi “delay‐reg2” và so sánh với 0 MOVWF loop1 ; nếu chưa bằng 0 thì nhảy đến label “loop1” GOTO loop ; nếu bằng 0 thì nhảy đến label “loop” next Code:
MOVLW d’255’ MOVWF delay‐reg1 ; đưa giá trị 255 vào thanh ghi “delay‐reg1” loop DECFSZ delay‐reg1,0 ; giảm giá trị thanh ghi “delay‐reg1”và so sánh với 0; GIÁ TRỊ ĐƯỢC GHI TRONG DELAY-REG1 GIẢM 1 THÀNH 244, SAU ĐÓ GIÁ TRỊ 244 ĐƯỢC GHI VÀO W-REGISTER, CÒN GIÁ TRỊ ĐƯỢC GHI TRONG DELAY-RED1 VẪN GIỮ NGUYÊN LÀ 255 GOTO loop1 ; nếu chưa bằng 0 nhảy tới label “loop1” GOTO next ; nếu đã băng 0 chương trình delay hoàn tất loop1 MOVLW d’255’ MOVWF delay‐reg2 ; đưa vào thanh ghi “delay‐reg2” giá trị 255 DECFSZ delay‐reg2,0 ; giảm giá trị thanh ghi “delay‐reg2” và so sánh với 0. TƯƠNG TỰ NHƯ TRÊN, GIÁ TRỊ ĐƯỢC DÁN CHO DELAY-REG2 SAU KHI THỰC HIỆN LỆNH NÀY VẪN LÀ 255 MOVWF loop1 ; nếu chưa bằng 0 thì nhảy đến label “loop1” GOTO loop ; nếu bằng 0 thì nhảy đến label “loop” next Đoạn code sau sẽ đúng ghi ta thay đổi 0 thành 1 để sau khi thực hiện kệnh, giá trị sẽ được ghi vào file register. Ngoài ra, còn một chỗ không ổn ở chỗ loop1. Thử phân tích: - Đầu tiên gán giá trị 255 vào dalay-reg2. - giảm giá trị của delay-reg2 và so sánh với 0, nếu khác 0 thì thực hiện lệnh tiếp theo. (do ban đầu giá trị là 255 nên giảm 1 còn 254, khác 0 nên sẽ thực hiệ lênh tiếp theo, tức goto loop1) - lại set giá trị của delay-reg2 là 255. - giảm gias trị đi 1 và so sánh với 0. .... như vậy, riêng loop1 cũng thực với với thời gian là infinity dù ở lệnh DECFSZ có để giá trị tham số là 1 hay 0. vì vậy, ngoài sửa lại giá trị tham số của lệnh DECFSZ từ 0 thành 1, cần đưa phần gán giá trị 255 cho delay-reg2 ra ngoài vòng lặp, đặt nó ở cùng vị trí với chỗ gán giá trị 255 cho delay-reg1. chắc là NTC đau chân quas nên không chú ý chỗ này ;D Btw, cho mình hỏi một câu rất dở hơi, thạch anh tên tiếng Anh là gì vậy? có bạn nào giải thích cho mình biết thạch anh là gì không, mình hiểu nó là dùng để tạo xung, nhưng cụ thể hơn thì không biết. Mong được giúp đỡ. |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
TUT ve I2C ( pic16f877a ) | mafd_47a | MPASM | 26 | 07-05-2024 08:55 AM |
TUT về USART trong PIC16F877A | mafd_47a | MPASM | 11 | 04-05-2024 04:43 AM |
Lập nhóm PIC16F877A | nhh | Cơ bản về vi điều khiển và PIC | 285 | 08-03-2017 11:08 PM |
Bộ so sánh và PWM cho PIC16F877A | anhquangngai | Cơ bản về vi điều khiển và PIC | 24 | 08-09-2012 09:00 AM |
CCS C for PIC16F877A | nhh | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 405 | 24-04-2008 12:00 PM |