[Microchip]/PIC12F_PIC10F2011. 9. 30. 23:30

[PIC10F-SS EVM] ADC테스트

[PIC10F-SS EVM] ADC테스트
PIC10F220에는 2채널 8bit ADC가 내장되어 있다.



PIC10F220 ADC테스트 코드
#define ADC_INIT()  Sbi(ADCON0, BIT7);Sbi(ADCON0, BIT6);Sbi(ADCON0, BIT0)

#define ADC_CH0()  Cbi(ADCON0, BIT3);Cbi(ADCON0, BIT2)
#define ADC_CH1()  Cbi(ADCON0, BIT3);Sbi(ADCON0, BIT2)
#define ADC_CH1()  Sbi(ADCON0, BIT3);

ADRES


ADCON0 레지스터
Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC12F_PIC10F2011. 9. 30. 23:00

[PIC10F-SS EVM] 타이머 테스트 - PWM을 이용한 LAMP 밝기 제어

[PIC10F-SS EVM] 타이머 테스트 - PWM을 이용한 LAMP 밝기 제어


PIC10F200/PIC10F220 은 하나의 8비트 타이머/카운트가 있다. 워낙 심플한 CPU라 인터럽트는 지원하지 않지만  폴링모드로 충분히 타이머 타운터를 활용할 수 있다.

타이머 소스로 내부 클럭이나 외부 입력핀이용할 수 있다.




PIC10F220 타이머 제어 예제 소스코드
//타이머 시작
 OPTION = 7;
 TMR0 = 0x00;

 while(1)
 {
  //타이머 동작 
  if(TMR0==0xFF)
  {
     TMR0=0;
     cnt++

    Led1Toggle();
   }
 }


타이머 제어를 위한 레지스트는 따로 없고 OPTION레지스터에서 간단한 설정이 가능하다.



PIC10F220 타이머 테스트 동영상
타이머를 이용하여 소프트웨어 PWM출력으로 LAMP 밝기를 조절 하는 테스트



Posted by nexp

댓글을 달아 주세요

  1. 안녕하세요!!!
    PIC10F200에서 타이머를 사용하려고 하는데 인터럽트 사용하는 방법 밖에 몰라서
    인터럽트가 없는 PIC10F200에서는 어떻게 해야될지 막막하던차에 이 포스팅을 읽게 찾게 되었습니다.
    혹시 전체 소스코드 메일로 받아볼수 있를까요?
    제 댓글을 읽어 주셔서 감사합니다.
    제 메일주소는 anyholic@me.com 입니다.

    2012.07.19 00:14 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 녜 PIC10은 인터럽트 백터가 없기 때문에 main loop에서 타이머 레지스터를 읽어 처리하도록 해야 합니다. 위 예제도 코드를 잘 보시면 그런 형태로 작성되어 있습니다.

    2012.07.24 22:47 신고 [ ADDR : EDIT/ DEL : REPLY ]

[Microchip]/PIC12F_PIC10F2011. 9. 30. 21:00

[PIC10F-SS EVM] PIC10F220 테스트 보드 제작

[PIC10F-SS EVM] PIC10F220 테스트 보드 제작


세계에서 가장 작은 MCU인 PIC10F 시리즈중 새로운 PIC10F220 테스트 보드를 제작 했다. SOT23-6P의 소형 패키지에도 불구 하고 ADC까지 추가 되어 좀더 활용도가 좋아 졌다.

PIC10F220 256 x 12 16 x 8
PIC10F222 512 x 12 23 x 8


PIC10F220/PIC10F222 핀맵




[PIC10F-SS EVM] 관련 회로도
PICKIT2와 동일한 핀맵이며 테스트용 LED가 실장 되어 있다.




간단히 테스트 하기 쉽도록 Pickit2 핀맵에 맞도록 제작 했다.




참고로 모 쇼핑몰에서 현재(2011.05) 480원에 판매하고 있다.

Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC12F_PIC10F2011. 3. 3. 21:00

[PIC12F EVM] Soft UART 테스트

[PIC12F EVM] Soft UART 테스트


소형 MCU에서 UART를 이용하면 디버깅 하기에 편리한 점이 많다. PIC12F683 보드도 Soft UART를 이용하여 시리얼 제어 [LCD Module] 에 디버깅 정보를 표시하는 테스트를 해 보았다.

먼저 Serial.c 코드를 좀 수정하여 기존 코드와 호환 가능하도록 수정한다.
//  GPIO.0 as UART Rx, and 1 as Tx
#define SOFT_UART_INIT()     do{ \
         TRISIO = 0x39;\
         ANSEL = 0x00;\
         GPIO = 0;\
         Soft_UART_Init(&GPIO,0, 1, 9600, 0 );\
         }while(0)


#define U0_PutByte             Soft_UART_Write


void U0_Init(unsigned char baud)
{
        SOFT_UART_INIT();
}


PIC12F683 UART테스트 예제 코드
void main()
{
    unsigned char buf[6];

    SystemInit();

    //UART초기화
    U0_Init(BAUD_9600);

    Delay(1000);

    Led1Init();

    U0_PutByte(4);
    Delay(500);
   
             //0123456789abcdef
    U0_PutStr("PIC12 LCD Test");
    U0_PutStr("\r\n");
 
    while(1)
    {
                Led1Toggle();
   
                PutInt(0, count++, buf);
                U0_PutStr(buf);
                U0_PutStr("\n");

                Delay(300);
    }
}

Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC12F_PIC10F2011. 3. 2. 18:44

[PIC12F EVM] mikroC PRO for PIC 사용기

[PIC12F EVM] mikroC PRO for PIC 사용기

mikroC 는 mikro사의 PIC컴파일러이다.
무료 버젼은 Microchip사 전체 PIC MCU를 지원하지 않지만 PIC12F683은 무료로 컴파일 할 수 있다.
용량도 작고 나름 라이브러리도 잘 구성되어 있어 사용하기는 상당히 편리한것 같다.

아래  링크에서 다운로드 가능하다.
http://www.mikroe.com/eng/product_downloads/download/


프로그램 다운로드 후 설치하고 새로운 프로젝트를 생성하면 위자드가 실행된다.
[PIC12F EVM] 보드를 위해 PIC12F683 을 선택한다.



라이브러리 선택
제공되는 라이브러리를 이용하면 편리한 점이 많다.



이렇게 하면 자동으로 프로젝트가 생성되고 특별한 기본 설정 없이 컴파일이 잘 된다.


한가지 아쉬운점은 Path설정이 절대경로만 설정할 수 있기 때문에 프로젝트를 복사해서 다른 예제 작성할때 매번 절대경로를 설정해 주어야 한다. 아래와 같이 Path설정 가능하다.




가끔 원인 모르게 죽는 경우도 있는데...
PICKit2가 바로 붙지 않는것도 조금 번거롭다.
아무튼 깔끔한것 같고... 코드는 잘 생성되고 보드에서 동작 또한 잘한다.




참고로 UART 터미널 프로그램이 포함되어 있어 편리한것 같다.
아래는 Soft UART 라이브러리를 이용하여 디버깅 데이터를 보내는 화면인데... 이런 라이브러리 기능은 좋은것 같다.


Posted by nexp

댓글을 달아 주세요