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 Bài Trong Ngày 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 06-01-2008, 09:08 AM   #1
lungtung
Đệ tử 1 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 23
:
Cơ bản về PIC?

Trước nay tôi lập trình với 8051. Bây giờ muốn chuyển qua PIC nhưng không biết bắt đầu từ đâu. Các bác xin cho hỏi các điểm giống và khác nhau PIC_8051.
Với vốn kiến thức từ 8051 có giúp ích cho tôi khi học Pic không?
Tôi có xem 1 số Ví dụ về PIc nhưng không có bài nào nói về bộ nhớ ngoài của PIC.
Vi dụ: Tôi có 1000 thiết bị và 1000 nút nhấn. Các thiết bị và nút nhấn có địa chỉ riêng. Vậy để đọc được trạng thái nút nhấn và điều khiển thiết bị thì phần cứng như thế nào và chương trình viết làm sao? (tôi quen dùng assembly).
lungtung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2008, 06:12 PM   #2
tiendungkct
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 69
:
nếu bạn đã học qua 8051 thì lập trình cho pic cũng đơn giản hơn ,assem thị bạn viết bắng mplab nha , tập lệnh bạn có thể tìm trên diễn đàn này
tiendungkct vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2008, 06:39 PM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi lungtung View Post
Trước nay tôi lập trình với 8051. Bây giờ muốn chuyển qua PIC nhưng không biết bắt đầu từ đâu. Các bác xin cho hỏi các điểm giống và khác nhau PIC_8051.
Với vốn kiến thức từ 8051 có giúp ích cho tôi khi học Pic không?
Tôi có xem 1 số Ví dụ về PIc nhưng không có bài nào nói về bộ nhớ ngoài của PIC.
Vi dụ: Tôi có 1000 thiết bị và 1000 nút nhấn. Các thiết bị và nút nhấn có địa chỉ riêng. Vậy để đọc được trạng thái nút nhấn và điều khiển thiết bị thì phần cứng như thế nào và chương trình viết làm sao? (tôi quen dùng assembly).
8051 và PIC đều là vi điều khiển, do đó các kiến thức chung về vi điều khiển (xung clock, chu kỳ máy, tập lệnh, các chế độ định vị, module ngoại vi, ...) là giống nhau. Điều quan trọng là PIC dùng kiến trúc RISC, còn 8051 dùng kiến trúc CISC, PIC dùng kiến trúc bộ nhớ kiểu Harvard, còn 8051 dùng kiến trúc bộ nhớ kiểu Von Neumann. PIC không cần bộ nhớ ngoài.

Với bài toán 1000 thiết bị và 1000 nút nhấn, bạn giải quyết bằng 8051 ra sao? Cách thức giải quyết bài toán đó bằng PIC cũng không khác bao nhiêu.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2008, 09:45 AM   #4
lungtung
Đệ tử 1 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 23
:
Cơ bản về PIC?

Trích:
Nguyên văn bởi namqn View Post
8051 và PIC đều là vi điều khiển, do đó các kiến thức chung về vi điều khiển (xung clock, chu kỳ máy, tập lệnh, các chế độ định vị, module ngoại vi, ...) là giống nhau. Điều quan trọng là PIC dùng kiến trúc RISC, còn 8051 dùng kiến trúc CISC, PIC dùng kiến trúc bộ nhớ kiểu Harvard, còn 8051 dùng kiến trúc bộ nhớ kiểu Von Neumann. PIC không cần bộ nhớ ngoài.

Với bài toán 1000 thiết bị và 1000 nút nhấn, bạn giải quyết bằng 8051 ra sao? Cách thức giải quyết bài toán đó bằng PIC cũng không khác bao nhiêu.

Thân,
Lúc trước dùng 8051 thì có mạch giải mã địa chỉ tương đối giống với giao ram, rom.
Ví dụ với 8 thiết bị tôi có 1 địa chỉ và điều khiển 8 thiết bị đó bằng 8 bit dữ liệu thông qua địa chỉ đó.
Còn với Pic tôi xem sơ đồ chân thì không có cái này....?
lungtung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-01-2008, 08:13 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi lungtung View Post
Lúc trước dùng 8051 thì có mạch giải mã địa chỉ tương đối giống với giao ram, rom.
Ví dụ với 8 thiết bị tôi có 1 địa chỉ và điều khiển 8 thiết bị đó bằng 8 bit dữ liệu thông qua địa chỉ đó.
Còn với Pic tôi xem sơ đồ chân thì không có cái này....?
Như tôi đã nói ở trên, PIC thường không cần bộ nhớ ngoài (flash chương trình, RAM và EEPROM dữ liệu đều có sẵn trên chip), do đó PIC không có các chân để thực hiện giao tiếp với bộ nhớ ngoài.

Với ví dụ 8 thiết bị được truy xuất bằng 1 địa chỉ byte, bạn hoàn toàn có thể tự hiện thực bằng PIC. Người ta đã điều khiển bảng quang báo bằng PIC với kích thước đến hàng trăm cột, hàng chục hàng, tức là đã điều khiển độc lập hàng ngàn đầu ra (LED). Bạn có thể áp dụng cách tương tự để điều khiển 1000 thiết bị (bạn sẽ cần 10-bit địa chỉ để định vị 1000 thiết bị).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-01-2008, 07:54 AM   #6
lungtung
Đệ tử 1 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 23
:
Với 8051 thì ta có các lệnh:
MOV DPTR,#địa chỉ ;con tro 16 bit tro toi dia chi 16 bit
MOV A,#dữ liệu ;du lieu 8 bit
MOVX @DPTR,A ;ghi du lieu 8 bit vao dia chi tro boi DPTR
MOVX A,@DPTR ;doc du lieu tu dia chi tro boi DPTR ve thanh ghi A
Vậy với PIC thì ta làm thế nào? Phần cứng? Chương trình?
Thank...
lungtung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-01-2008, 11:29 AM   #7
0515475
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 6
:
cho em hỏi ICSP trong các mạch nạp là để làm gì? theo em biết thì nó được dùng để mở rộng , nhưng mà để mở rộng cái gì.và tại sao trong các mạch nạp PIC đều phải có cổng ICSP. không có thì có ảnh hưởng gì đến mạch nạp không các anh
0515475 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-01-2008, 04:46 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi 0515475 View Post
cho em hỏi ICSP trong các mạch nạp là để làm gì? theo em biết thì nó được dùng để mở rộng , nhưng mà để mở rộng cái gì.và tại sao trong các mạch nạp PIC đều phải có cổng ICSP. không có thì có ảnh hưởng gì đến mạch nạp không các anh
Bạn đọc luồng sau nhé:

http://www.picvietnam.com/forum/showthread.php?t=429

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-01-2008, 10:49 AM   #9
0515475
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 6
:
các anh ơi hôm qua em đi nhật tảo mua 1 mạch nạp pIC bằng cồng Com (loạiJMD)
nhưng khi về lắp vào test thì phát hiện máy tính của em không đưa cổng com ra ngoài chì có cổng LPT .Có cách nao giúp em không

em xài máy tinh có mainboard là P4s61 cua ASROCK

thay đổi nội dung bởi: namqn, 19-01-2008 lúc 09:22 PM.
0515475 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-01-2008, 09:29 PM   #10
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi 0515475 View Post
các anh ơi hôm qua em đi nhật tảo mua 1 mạch nạp pIC bằng cồng Com (loạiJMD)
nhưng khi về lắp vào test thì phát hiện máy tính của em không đưa cổng com ra ngoài chì có cổng LPT .Có cách nao giúp em không

em xài máy tinh có mainboard là P4s61 cua ASROCK
Tôi tin là mainboard của bạn có đầu nối cho cổng COM, chẳng qua người ráp máy đã không nối cổng đó ra phía sau máy tính của bạn. Chỉ cần một cáp dẹp 10 dây và một đầu nối DB-9 đực nằm trên một nắp che của khe mở rộng phía sau máy tính thôi. Bạn nên hỏi lại người bán/ráp máy cho bạn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-06-2008, 08:29 PM   #11
lungtung
Đệ tử 1 túi
 
Tham gia ngày: Dec 2006
Bài gửi: 23
:
Xin các trưởng lão trả lời giùm đoạn này:
Với 8051 thì ta có các lệnh:
MOV DPTR,#địa chỉ ;con tro 16 bit tro toi dia chi 16 bit
MOV A,#dữ liệu ;du lieu 8 bit
MOVX @DPTR,A ;ghi du lieu 8 bit vao dia chi tro boi DPTR
MOVX A,@DPTR ;doc du lieu tu dia chi tro boi DPTR ve thanh ghi A
Vậy với PIC thì ta làm thế nào? Phần cứng? Chương trình?
Thank...
__________________
Mới ngủ dậy chưa...
lungtung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-06-2008, 02:05 AM   #12
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi lungtung View Post
Xin các trưởng lão trả lời giùm đoạn này:
Với 8051 thì ta có các lệnh:
MOV DPTR,#địa chỉ ;con tro 16 bit tro toi dia chi 16 bit
MOV A,#dữ liệu ;du lieu 8 bit
MOVX @DPTR,A ;ghi du lieu 8 bit vao dia chi tro boi DPTR
MOVX A,@DPTR ;doc du lieu tu dia chi tro boi DPTR ve thanh ghi A
Vậy với PIC thì ta làm thế nào? Phần cứng? Chương trình?
Thank...
Các PIC lõi 14-bit (đa số PIC16) hỗ trợ định vị gián tiếp 8-bit, còn các PIC18 thì hỗ trợ định vị gián tiếp 16-bit. Ngoại trừ một vài chip đặc biệt, các PIC 8-bit (không phải lõi 8-bit nhé) không hỗ trợ giao tiếp với bộ nhớ ngoài.

Bạn tìm đọc phần "Indirect addressing" trong các datasheet của PIC đang dùng, các ví dụ hợp ngữ thường có trong datasheet.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lờ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


Múi giờ GMT. Hiện tại là 08:19 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