PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 15-07-2006, 06:45 PM   #1
Dang Khoa
Nhập môn đệ tử
 
Tham gia ngày: Jan 2006
Bài gửi: 3
:
xin cho minh hoi: cac ban dung chuong trinh gi ma mo phong duoc cac mach dien dem len vay, hay dong ho do ma. cam on nhieu
Dang Khoa vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-07-2006, 09:39 AM   #2
dohoangnam
Đệ tử 1 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 22
:
tôi thấy tất cả các diễn đàn đều rất hay. Cả chuyện bác F muốn giúp các bạn học qua một công việc cụ thể nữa. Tất cả đều là ý tưởng tốt. Nhưng tôi có chút ý kiến. Học về 1 con 16f877a này cũng tốt. Nhưng chúng ta học bằng các dự án như bác F làm thì tốt hơn học "chay" thế này. Nhưng mới cái bắt đầu mà bác F đã yêu cầu nặng anh em quá. Anh em sv chủ yếu là ít tiền. Đấy là cái thứ nhất (kể cả vài trăm ngàn thôi cũng khó khăn), thứ 2 tôi thấy công việc ấy cũng hơi nặng so với sức chung của mọi người. Hy vọng các anh em admin quan tâm hơn nữa.
Thân.
dohoangnam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-09-2006, 09:21 PM   #3
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi dohoangnam View Post
tôi thấy tất cả các diễn đàn đều rất hay. Cả chuyện bác F muốn giúp các bạn học qua một công việc cụ thể nữa. Tất cả đều là ý tưởng tốt. Nhưng tôi có chút ý kiến. Học về 1 con 16f877a này cũng tốt. Nhưng chúng ta học bằng các dự án như bác F làm thì tốt hơn học "chay" thế này. Nhưng mới cái bắt đầu mà bác F đã yêu cầu nặng anh em quá. Anh em sv chủ yếu là ít tiền. Đấy là cái thứ nhất (kể cả vài trăm ngàn thôi cũng khó khăn), thứ 2 tôi thấy công việc ấy cũng hơi nặng so với sức chung của mọi người. Hy vọng các anh em admin quan tâm hơn nữa.
Thân.
Câu chuyện học PIC của F, chắc F cũng đã kể cả trăm lần rồi, trên chat và cả trên diễn đàn. Lúc trước F học PIC, hoàn toàn là học chay, không có con PIC trong tay, tự ngồi nghĩ tự viết chương trình, tự làm mô phỏng với MPLAB, tự nhìn các con số nhảy để mà hình dung.

Đó là chuyện hồi trước F học, bây giờ các bạn có nhiều công cụ để học, thoải mái hơn, thông tin nhiều hơn. Điều đó là tốt hơn rất nhiều. Như vậy học chay hay không chay, tùy thuộc vào mỗi người. Có người thì thông minh theo kiểu tưởng tượng (vd F cũng là kiểu đó, cho nên ngồi tưởng tượng tốt). Có người thông minh theo kiểu trực quan (vd như F nhìn vào cái máy mà nó dập bụp bụp bụp, F khó mà học hiểu cái đó, nhưng có nhiều người nhìn vào cái máy thôi, lại hiểu ngay và có thể chế cái máy tương tự).... Đó là cách người ta nói về trí thông minh của loài người, mỗi người có một khả năng thông minh khác nhau.

Do vậy, F không cho rằng cách học nào tốt hơn cách học nào, mà chỉ khuyên mọi người chọn cách học tốt nhất cho chính mình.

Về vấn đề tài chính để học. Sự thực là picvietnam đã hỗ trợ 120K (theo giá thị trường) cho một đề tài nghiên cứu của các bạn, mà đề tài đó theo kinh nghiệm thực hành của các bạn kể trên khi khoảng 200 - 300K.

Đúng là con số khá lớn đối với một số bạn sinh viên. Nhưng nếu các bạn không nhân những cơ hội này đầu tư vào để học, để thực hành, thì các bạn sẽ tốn nhiều cái 100K vào những việc vô bổ khác. Hãy can đảm nói với bạn gái của mình rằng, anh muốn dành một chút tiền để đầu tư vào việc học.

Nếu các bạn thực sự học và làm việc, khi các bạn kết thúc dự án, và có kết quả khả dĩ vì những tìm hiểu học tập của các bạn. F sẽ mua lại mô hình đó cho các bạn. (miễn sao đừng bán mắc cho F, vì F không có tiền nhiều đâu, chỉ là giúp đỡ các bạn thực sự khó khăn thôi, hihi..).

Nói để các bạn thấy việc này. Để làm cái mô hình của F ở bên Hàn, giáo sư đã phải bỏ 5000$ tới thời điểm này mà chưa ra cái hình thù gì cả. Trong khi đó, ở VN mà làm thì cái mô hình F đang làm về haptics 1 bậc tự do, thì thực ra chỉ là 2 cái động cơ, mấy miếng nhôm lớn. Cùng lắm chỉ 3 triệu động là căng. Tất nhiên động cơ và driver mua mới thì tốn kém, còn mua ở nhà mình chơi đồ cũ, nhưng có ảnh hưởng gì nhiều đâu.

Vậy nên việc nghiên cứu ở nước ngoài, còn khó khăn hơn ta nhiều, về nhiều khía cạnh, nhất là chi phí đầu tư thử nghiệm. Có những cái quá cao cấp, thì chúng ta không làm được, nhưng tốn 500K đi nữa, để học một bộ điều khiển mà 90% các bộ điều khiển công nghiệp phải sử dụng thì F không nghĩ nó là quá nhiều. Và nó rẻ ngang với việc theo một lớp học PIC. Trong khi học cái này thì có thể giữ được mô hình, lại có thêm 2 con PIC...

Các bạn tính toán thật kỹ vì cơ hội không có lần thứ hai đâu . Đây là lần đầu tiên, F thực hiện việc này, chủ yếu để thử nghiệm mô hình dự án mở trên mạng, sau đó, tất nhiên, nếu có thể, F sẽ kêu gọi những nhà tài trợ cho các dự án kiểu như thế này. Lúc đó sẽ tốt hơn cho các bạn, nhưng bây giờ tiếng nói của F chưa đủ mạnh với những nhà tài trợ, vì ... các bạn chưa làm xong dự án .

Chúc vui.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-08-2006, 09:10 AM   #4
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
Trích:
Nhờ các bác cho em hỏi về cách định địa chỉ gián tiếp, thanh ghi SFR, INDF và những vấn đề liên quan
FSR là nơi chứa địa chỉ (tương đương R0 và R1 nếu bạn học 8051)
INDF là nơi chứa kết quả hoặc giá trị mà FSR trỏ đến (tương tự @R0 hoặc @R1).

thay đổi nội dung bởi: newuser, 19-08-2006 lúc 07:12 PM.
newuser vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-09-2006, 07:19 PM   #5
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Giup em ve bus trong Proteus

Anh nhh chỉ giúp em cách vẽ bus nhiều tín hiệu cùng đi chung với nhau như dây màu xanh nước biển anh vẽ trong proteus với, em đang bí phần đó
Thanks
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-09-2006, 11:12 AM   #6
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Trích:
Nguyên văn bởi spirit View Post
Anh nhh chỉ giúp em cách vẽ bus nhiều tín hiệu cùng đi chung với nhau như dây màu xanh nước biển anh vẽ trong proteus với, em đang bí phần đó
Thanks
Ví dụ như bạn muốn nối bus chung từ VDK đến led 7 đoạn:
Sau khi đưa 2 linh kiện ra, bạn nhấp vào biểu tượng bus.Click vào điểm 1, rồi double click vào điểm 2 để kết thúc.Nếu muốn vẽ điểm trung gian thì cứ click vào điểm đó là được.Sau đó nối dây bình thường.
Để chương trình nhận ra chân nào của VDK nối đến chân nào của led 7 thanh, bạn cần đặt nhãn cho các cặp chân tương ứng trên 2 linh kiện này.

Vào biểu tượng wire label:
]
Click vào 1 dây bạn muốn đặt label:
]
Làm tương tự cho dây còn lại:
Tiếp tục cho các cặp chân khác.

Chúc thành công !
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-09-2006, 05:44 PM   #7
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Cám ơn anh rất nhiều
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2006, 12:13 PM   #8
sonny
Nhập môn đệ tử
 
Tham gia ngày: Aug 2006
Bài gửi: 3
:
Bác nào biết về A/D converter trong PIC16F877A xin chỉ dùm. Tui đã đọc rồi nhưng thấy khó hiểu quá, nhất là chế độ sleep của nó và cơ chế biến đổi từ tín hiệu analog thành 10 bit đầu ra.
Cám ơn các bác nhiều!
sonny vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-10-2006, 09:21 AM   #9
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
Trích:
Ngắt ngoài có 2 kiểu, bằng thay đổi trạng thái chân:
+ Ngắt cạnh xuống: low to high

Code:
BCF OPTION_REG,INTEDG ;interrupt cạnh xuống+ Ngắt cạnh lên: high to low

Code:
BSF OPTION_REG,INTEDG ;interrupt cạnh lênKhi khai báo ngắt, ta phải khai báo cho pic biết sử dụng ngắt nào.

Vậy ở đây, khi thả button lên, tuy có thay đổi trạng thái chân RB0, vẫn không có ngắt xảy ra.
Nếu mình nhớ không nhầm thì bit INTEDG chỉ xác định sườn tác động cho ngắt ngoài thôi mà! Đâu có liên quan gì đến ngắt thay đổi đâu.
Theo đúng nghĩa của ngắt thay đổi, sườn lên hay sườn xuống đều phải gây ngắt và việc lựa chọn sườn tác động nào để gây ngắt là do người lập trình quyết định. Các bạn có thể tham khảo ở một appnote của Microchip vận dụng ngắt onchange để dùng như ngắt ngoài sẽ rõ.
newuser vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2006, 07:43 PM   #10
picpicpic
Đệ tử 2 túi
 
picpicpic's Avatar
 
Tham gia ngày: Jan 2006
Bài gửi: 36
:
Sao không thấy bác nào viết về ADC, PWM vậy nhỉ !
__________________
************************************************** **
The only wrong thing would be to deny what your heart truly feels!
************************************************** **
picpicpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-10-2006, 05:38 PM   #11
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Hic,anh NHH đâu rồi trả lời giúp em đi
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 06:53 PM   #12
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
Trích:
Ra vậy,em hiểu rồi nhưng còn đối với các ngắt RB4..RB7 thì sao hả anh , em đọc trong datasheet không thấy Microchip nhắc đến ngắt cạnh lên hay xuống mà chỉ nói xảy ra ngắt khi có sự thay đổi mức LOGIC trên chân.
mình đã nói ở trên đây thôi, chẳng có bit nào xác định sườn tác động của ngắt onchange cả, sườn lên hay sườn xuống đều có thể gây ngắt, nếu có bit để mà chọn sườn tác động thì còn gì là ngắt do thay đổi trạng thái (onchange)? muốn ngắt xảy ra theo sườn nào thì bạn phải viết chương trình thôi
newuser vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 08:02 PM   #13
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Smile

Trích:
Nguyên văn bởi newuser View Post
mình đã nói ở trên đây thôi, chẳng có bit nào xác định sườn tác động của ngắt onchange cả, sườn lên hay sườn xuống đều có thể gây ngắt, nếu có bit để mà chọn sườn tác động thì còn gì là ngắt do thay đổi trạng thái (onchange)? muốn ngắt xảy ra theo sườn nào thì bạn phải viết chương trình thôi
Mình xem trong datasheet thì thấy như sau:
OPTION_REG REGISTER (ADDRESS 81h, 181h)

Bit6: INTEDG : Interrupt Edge Select bit
1 = Interrupt on rising edge of RB0/INT pin
0 = Interrupt on falling edge of RB0/INT pin

Vậy thì có bit INTEDG chọn cạnh ngắt lên hay xuống mà Newuser ?

Mình cũng đã xem apnote AN552:Implementing Wake-up on Key Stroke của Microchip rồi cũng thấy không nói về bit xác định sườn ngắt chân RB4...RB7

Chắc có lẽ như bạn nói là không có bit để chọn cạnh ngắt như RB0 mà mình phải xác định trong chương trình của mình.

Còn chương trình quét phím 4x4 của anh NHH trên mình đã test thử trên Proteus thì chạy tốt nhưng khi đem ra mạch thật thì không chạy được
Bạn test giùm minh nhé Newuser,mình cũng đã thử viết lại nhiều lần rồi nhưng vãn chưa được.
Mình có nhiều vấn đề vẫn chưa thông lắm bạn Newuser giúp mình nhé
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 10:58 PM   #14
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
Trích:
Nguyên văn bởi spirit View Post
Mình xem trong datasheet thì thấy như sau:
OPTION_REG REGISTER (ADDRESS 81h, 181h)

Bit6: INTEDG : Interrupt Edge Select bit
1 = Interrupt on rising edge of RB0/INT pin
0 = Interrupt on falling edge of RB0/INT pin

Vậy thì có bit INTEDG chọn cạnh ngắt lên hay xuống mà Newuser ?

Mình cũng đã xem apnote AN552:Implementing Wake-up on Key Stroke của Microchip rồi cũng thấy không nói về bit xác định sườn ngắt chân RB4...RB7

Chắc có lẽ như bạn nói là không có bit để chọn cạnh ngắt như RB0 mà mình phải xác định trong chương trình của mình.

Còn chương trình quét phím 4x4 của anh NHH trên mình đã test thử trên Proteus thì chạy tốt nhưng khi đem ra mạch thật thì không chạy được
Bạn test giùm minh nhé Newuser,mình cũng đã thử viết lại nhiều lần rồi nhưng vãn chưa được.
Mình có nhiều vấn đề vẫn chưa thông lắm bạn Newuser giúp mình nhé
trời đất, có ai nói là không có bit chọn sườn tác động cho ngắt ngoài (RB0/INT) đâu? Ngắt onchange chỉ có ở các chân của PORTB<4:7> thôi, đúng không?
để đảm bảo là không có ngắt không mong muốn xảy ra mỗi khi nhả phím thì bạn phải viết thêm một đoạn code kiểm tra trạng thái chân gây ngắt onchange, chắc chắn rằng trạng thái chân này đã trở về mức logic ban đầu(trạng thái trước khi nhấn phím), nếu chưa về trạng thái ban đầu thì chưa xoá cờ báo ngắt. Tôi không biết đoạn chương trình của bạn nhh, nhưng theo tôi suy đoán,Proteus đã lý tưởng hoá việc nhấn phím -->không khử nảy phím nhấn.
bạn đọc appnote này xem
File Kèm Theo
File Type: pdf 00566b.pdf (98.9 KB, 430 lần tải)

thay đổi nội dung bởi: newuser, 18-10-2006 lúc 11:13 PM.
newuser vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 11:02 PM   #15
spirit
Đệ tử 2 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 42
:
Thanks newuser đúng là cái mình cần.
spirit vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 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
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
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


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam