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 07-01-2010, 12:02 AM   #1
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Hỏi về chân chức năng I2C của 16F877a

Trước đây tui sử dụng 89C51 thì định nghĩa 2 chân (thuộc port in/out) bất kỳ làm chân giao tiếp SDA, SCL đc. Ở PIC 16F877a có làm đc như vậy ko? Nếu đc thì khác với việc sử dụng chân chức năng I2C có sẵn (RC3,RC4) ở chỗ nào?
Bác nào biết chỉ giùm tui nha! Cảm ơn các bác trước
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2010, 12:16 AM   #2
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi nhanh0112 View Post
Trước đây tui sử dụng 89C51 thì định nghĩa 2 chân (thuộc port in/out) bất kỳ làm chân giao tiếp SDA, SCL đc. Ở PIC 16F877a có làm đc như vậy ko? Nếu đc thì khác với việc sử dụng chân chức năng I2C có sẵn (RC3,RC4) ở chỗ nào?
Bác nào biết chỉ giùm tui nha! Cảm ơn các bác trước
Tại sao 8051 k hỗ trợ I2C vẫn giao tiếp đc , đó là vì u đang giả lập , tức dùng phần mềm giả lập giao tiếp I2C . Điều đó cũng có nghĩa bất kì con VDK nào cũng giao tiếp đc I2C .
Với PIC ,vì bản thân có hỗ trợ I2C ở 2 chân RC3 và RC4 nên
cách 1 : nếu mắc vào 2 chân này và khai báo dùng i2c thì sau khi khai báo xong , u chỉ việc gọi hàm và đọc giá trị về ...
cách 2 : Nếu k mắc vào 2 chân này ( hoặc có mắc mà k khai báo dùng i2c) , bắt buộc u phải viết đoạn code giả lập

Đơn giản như đang giỡn
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2010, 08:58 AM   #3
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi Mr.Bi View Post
cách 1 : nếu mắc vào 2 chân này và khai báo dùng i2c thì sau khi khai báo xong , u chỉ việc gọi hàm và đọc giá trị về ...
cách 2 : Nếu k mắc vào 2 chân này ( hoặc có mắc mà k khai báo dùng i2c) , bắt buộc u phải viết đoạn code giả lập
Như vậy có nghĩa là nếu sử dụng 2 chân khác thì tui phải viết (ví dụ)
Code:
.....
void i2c_write(){
SDA=1;
SCL=0;
.....
Thay vì sử dụng i2c_write như một cái đương nhiên có khi sử dụng với đúng 2 chân chức năng của nó phải ko!
Cảm ơn bác nhiều nha, đã hiểu.
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2010, 09:06 AM   #4
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi nhanh0112 View Post
Như vậy có nghĩa là nếu sử dụng 2 chân khác thì tui phải viết (ví dụ)
Code:
.....
void i2c_write(){
SDA=1;
SCL=0;
.....
Nếu bạn muốn "thích chân nào làm I2C thì làm" thì bạn có thể chuyển qua PIC24F. Với tính năng Peripheral Pin Select bạn có thể lựa chọn chân cho module ngoại vi khá thoải mái.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-01-2010, 04:07 PM   #5
nghia_tdh21
Đệ tử 3 túi
 
nghia_tdh21's Avatar
 
Tham gia ngày: Oct 2006
Bài gửi: 46
:
Trong trường hợp nếu vi điều khiển ko có module hỗ trợ I2C thì có thể dùng bất cứ chân nào có chức năng I/O để giao tiếp, tuy nhiên viết chương trình cũng khá phức tạp. Trình dịch MikroC có hỗ trợ thư viện dùng cho dạng này, ví dụ:
Code:
Soft_I2C_Config 
Soft_I2C_Start 
Soft_I2C_Read 
Soft_I2C_Write 
Soft_I2C_Stop
__________________
http://www.hieunghia.info
Lướt web thoải mái với USB3G của Viettel
http://www.hieunghia.info/tin-cong-n...3g-vietel.html
-----------------------------------------------------------------------------------
Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui
nghia_tdh21 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


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