이제 문제는 마이크로 컨트롤러가 출력하는 펄스 듀티 사이클을 변경할 수 없으며, 마이크로 컨트롤러를 높은 처리 속도로 교체해야 하드웨어를 변경할 수 있지만 비용이 증가하며 특수 PWM 제어 칩을 사용하는 제어 성능보다 반드시 신뢰할 수있는 것은 아니라는 것입니다. 여기서는 소프트웨어에서 해결하기로 선택합니다. 구체적인 아이디어는 먼저 기간 T와 듀티 사이클 D의 두 변수를 정의하고 값을 할당하고 T가 D보다 큼 먼저 마이크로 컨트롤러 I / O 출력을 높은 레벨로 설정하고 D는 동시에 계산합니다 .D가 예상 값을 계산할 때 I / O 포트는 낮은 수준에 있고 T 값이 나올 때까지 낮은 수준이 계속되면 I / O 포트는 높은 수준을 출력합니다. D와 T의 값을 변경하면 펄스 주파수가 변경되고 D의 값을 변경하면 듀티 사이클을 제어 할 수 있습니다. 알고리즘은 타이머를 사용하여 전원 공급 장치의 작동 주파수에 따라 타이밍 시간을 설정해야합니다.