본문 바로가기

[Microchip]/PIC16F

(18)
[PIC16F723] RF 전송 테스트 - 무선으로 ACD값 그래프 표시 하기 [PIC16F723] RF 전송 테스트 - 무선으로 ACD값 그래프 표시 하기 PIC16F723은 마아크로칩사의 저렴한 저전력 MCU(실제 쇼핑몰에서 600원대에 구매 했다)이다. 저전력으로 구동할 수 있는 어플리케이션으로 RF가 좋은데 915(433)Mhz RF 모듈로 ADC값을 전송하는 테스트를 해 보았다. 테스트 보드는 기존에 다른 용도로 제작되었던 보드인데 핀맵이 호환되므로 PIC16F723 보드를 연결하여 사용이 가능하다. RF모듈 드라이버 코드 //----------------------------------------------------------------------------- #define NRF_PWR_UP BIT6 #define NRF_PWR_HIGH() Sbi(PORTB, NRF..
[PIC16F73] SPI 테스트 [PIC16F73] SPI 테스트 - FOSC/4 (or TCY) - FOSC/16 (or 4 • TCY) - FOSC/64 (or 16 • TCY) - (Timer2 output)/2 data rate of 5 Mbps(at FOSC = 20 MHz). PIC16F723 SPI 블록도 PIC16F723 SPI 레지스터 PIC16F723 SPI초기화 함수 void SPI0_Init(void) { //RC3 pin => SCK output //RC4 pin => SDI input //RC5 pin => SDO output SSPBUF = 0x00; //SSPBUF Clear ADCON1 = 0x06; Cbi(TRISC, (BIT3|BIT5)); Sbi(TRISC, (BIT4)); SSPSTAT = 0; S..
[PIC16F723] Timer0 인터럽트 테스트 [PIC16F723] Timer0 인터럽트 테스트 PIC16F723 타이머 구조 OPTION레지스터를 이용하여 Timer0관련 클럭 설정을 할 수 있다. PIC16F723 타이머 초기화 void InitTimer0(void) { // TMR0 Associate Registers Initial PS0 = 1 // Prescaler 1:4 TMR0 = INTERVAL_1mS; // Initial TMR0 // Interrupt Associate Registers Initial T0IF = 0; //Clear TMR0 Interrupt Flag T0IE = 1; //Enable TMR0 Interrupt GIE = 1; //Enable Global Interrupt } PIC16F723 타이머 인터럽트 핸들러..
[PIC16F723-S EVM] ADC테스트 - TFT LCD에 그래프 표시 [PIC16F723-S EVM] ADC테스트 - TFT LCD에 그래프 표시 PIC16F723은 저렴한 MCU 임에도 8bit ADC가 13채널이 있다. 8bit라 약간 아쉬움이 있지만 VREF도 있고 속도도 빨라 여러가지로 사용가능할것 같다. PIC16F723 ADC 블록도 PIC16F723 ADC 레지스터 PIC16F723 ADC 초기화 함수 //ADC Initialize void AdcInit(void) { // initial A/D channel 0,1 Sbi(TRISA, BIT0); Sbi(ANSELA, BIT0); VCFG1 = 0; //Low Voltage refences = VSS VCFG0 = 0; //High Voltage refences = VDD GODONE = 0; //A/D Co..
[PIC16F723 EVM] UART 테스트 [PIC16F723 EVM] UART 테스트 PIC16F723 UART 블록도 PIC16F723 UART 보레이트 설정 PIC16F723 UART 초기화 함수 // Serial Prot0 Utility Fuction Routine void U0_Init(unsigned char baud) { U0_SetBaud(baud); TRISC6 = 0; // TX Output TRISC7 = 1; // RX Input TXSTA = 0b00000100; // 8bit Transmission, Asynchronous Mode // High Speed, RCSTA = 0b10000000; // Serial Port Enable, 8bit Reception ` TXEN = 1; // TX Enable CREN = 1;..
[PIC16F723] 클럭 설정 - 성능 측정 [PIC16F723] 클럭 설정 - 성능 측정 PIC16F723 은 최대 20Mhz로 동작 가능하고 내부 오실레이터 이용시 16Mhz로 동작한다. 입력 클럭의 설정은 Config레지스터를 이용하여 설정 가능하다. 디폴트는 내부 오실레이터이다. __CONFIG(WDTE_OFF&PLLEN_ON&FOSC_INTOSCCLK&MCLRE_ON); 내부 오실레이터 구조 PIC16F72x 는 내부에 1%정밀도의 오실레이터가 있기 때문에 외부 실레이터 연결할 필요 없이 간단히 사용할 수 있다. 최대 16Mhz까지 가능하고 디폴트 8Mhz로 동작한다. 오실레이터 관련 설정은 OSCCON 레지스터에서 가능하다. void SystemInit(void) { //grobal interrupt disable disable(); /..
[PIC16F723-S EVM] 보드 제작 - 500원대 저전력 MCU [PIC16F723-S EVM] 보드 제작 - 500원대 저전력 MCU 저렴한 저전력 솔루션 으로 쓸만한 MCU(실제 쇼핑몰에서 500원대로 몇개 구매 했다.)로 PIC16F nanoWatt XLP Technology 테스트 보드를 제작했다. PIC16F723 확장 테스트 보드 [S-Type EVM] 보드 형태로 제작해 표준 핀맵으로 여러 확장 보드에서 테스트 가능하다. PIC16F723 보드 회로도
PIC16F nanoWatt XLP Technology - 500원대 저렴한 솔루션 UART있고 소형의 아주 저렴한 MCU찾던중 PIC16F72X 발견 했다. 500원대다. 내부에 정밀한 클럭 있고 (Precision Internal Oscillator ±1%), 7K Flash, UART, SPI, I2C, ADC 필요한것 다 있다. 그리고 저전력 솔루션 까지 제공하고 있다. 한가지 아쉬운점은 램이 적다는것. 최대 368byte.. 1.8V-5.5V Operation – PIC16F72X 1.8V-3.6V Operation – PIC16LF72X PIC16F723 PIN MAP PIC16F724 PIN MAP

반응형