PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   định nghĩa các pin là đầu i/o hoặc analog (http://www.picvietnam.com/forum/showthread.php?t=6528)

kiemkhach10 15-06-2010 12:53 PM

định nghĩa các pin là đầu i/o hoặc analog
 
em hỏi câu hỏi này hơi củ chuối nhưng các bác giúp em tý.
làm sao để dịnh nghĩa các pin trong pic 16f877a là cổng vào ra hoặc analog?
giả sử: trisA5=1 thì là cổng vào nhưng em ko bít đó là vào số hay analog
hoặc trisa5=0 thì là cổng ra nhưng cũng ko bít đó là công ra số hay analog
các bác xem dùm em cái!
dốt học mãi vẫn dốt^_^

shitham 15-06-2010 01:23 PM

Hi,
Đối với các pin có thêm chức năng Analog bạn có thể coi trong datasheet mục ADC, với các thanh ghi ADCCON. Mặc định của các thanh ghi này là Analog vì vậy muốn xài theo digital, bởi vậy bạn chỉ cần set là Analog hay digital thôi. Còn TRISA thì xài khi chân của bạn đang ở mode digital.

kiemkhach10 15-06-2010 02:04 PM

Trích:

Nguyên văn bởi shitham (Post 36776)
Hi,
Đối với các pin có thêm chức năng Analog bạn có thể coi trong datasheet mục ADC, với các thanh ghi ADCCON. Mặc định của các thanh ghi này là Analog vì vậy muốn xài theo digital, bởi vậy bạn chỉ cần set là Analog hay digital thôi. Còn TRISA thì xài khi chân của bạn đang ở mode digital.

cám ơn bạn!
mình đang dùng pic16f877a bạn trả lời dùm 2 câu hỏi của mình với
chân RA5 khai báo như thế nào để dùng là cổng vào analog và khai như thế nào để là cổng vào ra số
cám ơn bạn!

shitham 15-06-2010 03:03 PM

Hi
Bạn ah, mình đã chỉ rõ trong mục ADC của datasheet.
Ứng với chân RA5 của bạn thì chức năng Analog ở vị trí AN4
Tại thanh ghi ADCON1<3:0> thì bạn thấy có cái bảng, bạn chỉ cần xem và coi chân nào trong ứng dụng của bạn cần analog hay digital thì có số bit tương ứng đó.
VD: ADCON1 = xxxx011x// với x là 0 hay 1 thì tùy và với giá trị đưa vào thế này thì sẽ disable toàn bộ chân analog chuyển sang mode digital.

kiemkhach10 15-06-2010 04:04 PM

Trích:

Nguyên văn bởi shitham (Post 36781)
Hi
Bạn ah, mình đã chỉ rõ trong mục ADC của datasheet.
Ứng với chân RA5 của bạn thì chức năng Analog ở vị trí AN4
Tại thanh ghi ADCON1<3:0> thì bạn thấy có cái bảng, bạn chỉ cần xem và coi chân nào trong ứng dụng của bạn cần analog hay digital thì có số bit tương ứng đó.
VD: ADCON1 = xxxx011x// với x là 0 hay 1 thì tùy và với giá trị đưa vào thế này thì sẽ disable toàn bộ chân analog chuyển sang mode digital.

vậy giả sử mình set ADCON1=xxxx1100. thì AN0,AN1 và AN4 sẽ là đầu vào analog.nhưng như vậy cũng có nghĩa là AN2 và AN3 sẽ là điện áp so sánh ( datasheet). nếu mình muốn AN2 và AN3 là chân vào ra số thì phải như thế nào?
để AN0,AN1,AN4 là đầu vào analog còn AN2,AN3 là đầu vào hoặc ra số?
cám ơn bạn!

no_problems 13-04-2011 05:09 PM

mình dùng ccs.có lệnh set_adc_ports(no_analog) sao ko dùng vẫn không dùng cho tất cả các chân là digital được nhỉ.ai dùng ccs_c bảo mình với. vì bắt buộc phải dùng đến porta là các chân digital.thank

vth_87 06-05-2011 08:14 AM

bạn thử khai báo : setup_adc_ports(no_analogs);


Múi giờ GMT. Hiện tại là 09:43 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam