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 29-01-2007, 04:57 PM   #1
tuankobe
Nhập môn đệ tử
 
Tham gia ngày: Jan 2007
Bài gửi: 2
:
Port A làm port I/0, ai biết chỉ mình với???

Mình dùng port A làm port I/0, nhưng chân A4 không dùng được, dù mình có dùng lệnh output_low(PIN_A4) hay out_put_high(PIN_A4) đều không được.
Mình dùng điện trở kéo lên VCC thì chạy lung tung, không chính xác.
Rất mong nhận được sự chỉ bảo của các bạn.
Mình xin chân thành cảm ơn
tuankobe vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-01-2007, 06:29 PM   #2
TTL
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 50
:
Khi dùng portA làm I/O port thì bạn phải cấu hình lại port A là port I/O chứ ko để là ngõ vào Analog nữa. Bạn thử tìm trong datasheet nó có hướng dẫn đấy á.
__________________
"Học vô bờ, quay đầu là bến"
TTL vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-01-2007, 07:25 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
Port A được cấu hình là analog sau khi reset chip, muốn dùng như digital I/O thì phải cấu hình cho nó thành digital pin, tức là thiết lập giá trị thích hợp cho thanh ghi ADCON1 (tôi lấy ví dụ chip PIC16F877A, vì bạn không nói rõ đó là chip nào), sau đó chọn chiều dữ liệu bằng thanh ghi TRISA.

Ngoài ra, RA4 của PIC16F877A còn ở dạng cực máng hở, do đó có thể cần phải có 1 điện trở kéo lê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 29-01-2007, 08:40 PM   #4
TTL
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 50
:
Anh Nam cho em hỏi tí. Em vẫn chưa hiểu cực máng hở và cực máng đóng để làm gì ? Tại sao người ta phải tao ra 2 loại trên -----> cực máng hở còn tốn thêm 1 con điện trở. Hic hic.

Em cám ơn anh.
__________________
"Học vô bờ, quay đầu là bến"
TTL vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-01-2007, 12:29 AM   #5
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
http://www.mcc-us.com/Open-collectorFAQ.htm
http://www.piclist.com/techref/logic/opencollector.htm

Bạn đọc tài liệu này, rất đơn giản và dễ hiểu.

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 30-01-2007, 08:45 AM   #6
tuankobe
Nhập môn đệ tử
 
Tham gia ngày: Jan 2007
Bài gửi: 2
:
Cảm ơn bạn namqn và các bạn trên diễn đàn. Mình cũng ko có kinh nghiệm lắm nên chủ yếu lập trình bằng CSS cho PIC 16F877A. Bạn có đoạn code nào bằng CSS để thiết lập port A thành port I/O thuần túy chỉ cho mình với.
Xin chân thành cảm ơn
tuankobe vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-01-2007, 05:23 PM   #7
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Bạn đọc thêm trong datasheet, trong đó có hướng dẫn đầy đủ cả, có cả code ví dụ viết bằng asm, nhưng chuyển qua C thì mấy hồi.
__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-01-2007, 06:36 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
Dùng RA4 của PIC16F877A như một ngõ ra, cần một điện trở kéo lên khoảng vài kiloohm (4.7k chẳng hạn), và đoạn code sau trong CCS C:

Code:
	ADCON1 = 0x06;
	TRISA = 0x00;
Toàn bộ port A sẽ là ngõ ra.

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-04-2011, 10:29 AM   #9
no_problems
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 8
:
EM dùng porta để điều khiển mấy chân rw,e,cs1.cs2.. của glcd.khi mô pỏng thì chạy tít, nhưng cứ đưa vào mạch thật thì không được.
phần cứng đã nối full 10k lên vcc rùi.
code đã setup_adc_port(no_analog) rui
vậy mà vẫn không được.Ai bít lỗi này chỉ em với.
no_problems vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2011, 10:37 AM   #10
no_problems
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 8
:
em khai bao vay sao bao loi
Undefined identifier ADCON1
no_problems vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-04-2011, 02:09 PM   #11
vth_87
Nhập môn đệ tử
 
Tham gia ngày: Dec 2010
Bài gửi: 9
:
theo mình thì bạn nên
ANEEL = 0;// TẤT CẢ 8 NGÕ ĐẦU LÀ DIGITAL(=1 THÌ SẼ LÀ ANALOG)
ANSELH = 0;// 6 NGÕ CÒN LẠI LÀ DIGITAL
TRISA = 0x00;// tất cả Port A là ngõ ra
VÌ VỚI 16F887 NÓ CÓ TỔNG LÀ 14 NGÕ ANALOG/DIGITAL
vth_87 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Hỏi về Proteus, LCD, port... Jerry Chương trình dịch & các công cụ mô phỏng 5 15-01-2007 09:43 PM
Xin hỏi cách tạo driver cho USB port highland81 Giao tiếp USB, CAN, I2C, SPI, USART... 11 10-11-2006 02:37 PM


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