PIC16F176MPLAB MCC &Curiosity로 PWM 테스트

4520 단어 MPLABpic
Mplab의 MCC를 사용하여 PWM 코드를 자동으로 만들 수 있습니다.
MCC의 기본 사용 방법은 해당 문서나 다음 URL을 참조하십시오.
http://blog.e-photographer.net/how-to-program-pics-with-mplab-x-and-mcc?lang=ja
절차.
PWM에서 참조하는 타이머를 설정하려면 Device Resourses에서 Timer를 추가합니다.
모든 것이 가능하지만 TMR2를 사용합니다.

PWM의 해상도는 Timer Clock 및 Timer period 설정에 따라 달라집니다.
이번에는 해상도를 최대한 높이기 위해 입찰기와 동전 던지기가 1:1로 예정돼 있다.
PWM3가 추가됩니다.

Porta의 5번에서 PWM3을 연결합니다.

그리고 mcc의 코드 생성을 실행하고 mcc가 자동으로 생성하는 PWM3Duty를 제어하려면 LoadDutyValue를 클릭합니다.큐리오시티와 포트에이의 5호는 D4의 LED와 연결되어 있어 LED가 빛을 조절한다.
main.c
    uint16_t sawToothX = 0b1111111111; // 10bit
    while (1) {
        PWM3_LoadDutyValue(sawToothX);

        sawToothX -= 1;
        if(sawToothX == 0){
            sawToothX = 0b1111111111;
        }
        __delay_ms(10);
    }

PWM5로 테스트
이 마이크로컴퓨터라면 PWM5는 편이와 위상 등을 설정할 수 있지만 PWM3 인터페이스와는 다르다.
시계를 직접 지정합니다.

이번에 나는 PORTA 1위에 도전하겠다.이것은 LED에 대응하는 D5입니다.
PWM5_DutyCycleSet 이후 설정을 반영하기 위해PWM5_LoadBufferSet에 푹 빠졌다.(문서를 읽으면 알 수 있다.)
main.c
    uint16_t sawToothX = 0b1111111111; // 10bit
    while (1) {
        PWM3_LoadDutyValue(sawToothX);
        PWM5_DutyCycleSet(sawToothX);
        PWM5_LoadBufferSet();
        sawToothX -= 1;
        if(sawToothX == 0){
            sawToothX = 0b1111111111;
        }
        __delay_ms(10);
    }

이렇게 하면 D5 및 D4 LED가 PWM으로 깜박거립니다.
빌딩은 통과할 수 있지만 잘 돌아가지 않을 때 이 노티픽션을 보면 배치에 안 되는 부분이 있으면 알려줄게요.

좋은 웹페이지 즐겨찾기