PDA

View Full Version : pic6f88


banglangtim
14-12-2009, 09:29 PM
các đại ca ơi. cho em hỏi một chút về con pic6f88 này với ạ?
sao em sử dụng chân ra0 và ra1 làm chân đầu vào, 1 chân đầu ra rb6 với đoạn code như sau, nhưng hình như nó không nhân ra0,ra1 làm input. các đại ca júp em nhanh nhé. thanks!
code:
#include <16f88.h>
#include <def_88.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
void main(void)
{
ANS0=0;
ANS1=0;
TRISA=0X03;
PORTA=0XFF;
TRISB=0x00;
while(1)
{
if(RA1)
RB6=0;
else
RB6=1;
}
}

nghia_tdh21
14-12-2009, 11:15 PM
Theo mình nghĩ portA cấu hình mặc định không phải dùng cho input output digital vì nó dùng cho ADC, bạn phải cấu hình lại cho PORTA để nó trở thành input output digital. Xem trong datasheet ở phần portA:
bạn chèn đoạn mã ASM dùng để khởi tạo portA vào chương trình của bạn:
BANKSEL PORTA ; select bank of PORTA
CLRF PORTA ; Initialize PORTA by
; clearing output
; data latches
BANKSEL ADCON1 ; Select Bank of ADCON1
MOVLW 0x06 ; Configure all pins
MOVWF ADCON1 ; as digital inputs
MOVLW 0xFF ; Value used to
; initialize data
; direction