PIC16F723 내부 풀업저항 설정
PIC16F723/PIC16F724 EVM 보드에서는 P_A7(PB7)이 저항을 통해 스위치로 연결되어 있다.
MCU에서 풀업이 필요하다.
PIC16F723에는 GPIOB에 내부 풀업저항이 있고 WPUB(WEAK PULL-UP PORTB REGISTER) 레지스터를 통해
설정 가능하다.
1일경우 플업이 된다.
여기서 주의 사항은 OPTION_REG 에서 RBPU비트를 0으로 설정해 주어야 풀업이 가능하다.
실제 코드에서는 아래와 같이 정의해 주면 된다.
//-----------------------------------------------------------------------------
//Switch
Driver
#define SW1_BIT BIT7
#define SW1_PORT PORTB
#define Sw1Init() Sbi(TRISB, SW1_BIT);Cbi(ANSELB, SW1_BIT);nRBPU=0;Sbi(WPUB, SW1_BIT);
#define GetSw1() !(SW1_PORT&SW1_BIT)
#define WaitForSw1()
#define SW1_BIT BIT7
#define SW1_PORT PORTB
#define Sw1Init() Sbi(TRISB, SW1_BIT);Cbi(ANSELB, SW1_BIT);nRBPU=0;Sbi(WPUB, SW1_BIT);
#define GetSw1() !(SW1_PORT&SW1_BIT)
#define WaitForSw1()
//-----------------------------------------------------------------------------
반응형