这个例程原本就是九齐的IDE自带的,我这里傻瓜式的操作给大家看看,另外附带他的源码,没有用的给删了,需要注意的是,这芯片C指令51单片机有那么一点点区别,PWM输出或者做那种进入低功耗的案子,都一定要喂狗,适合新手入门哈
下面的操作流程,IDE版本 NYIDE4.71,高清1080P
NY8A051D PWM Output 编辑完成版本
代码部分
/* =========================================================================
* Project: PWM1 Output
* File: main.c
* Description: Set PWM1 Output
* 1. Instruction clock = 20MHz/4T
* 2. PWM1(PB2) : Period = 19.53KHz (Duty: 128/256)
*
* Author: JasonLee
* Version: V1.0
* Date: 2020.08.05
=========================================================================*/
#include <ny8.h>
#include "ny8_constant.h"
//PWM duty setting
#define C_PWM_LB_DUTY_80H 0x80
void main(void)
{
DISI();
// Initialize GPIO
IOSTB = C_PB_Output; // Set PortB as output port
PORTB = 0x00; // PortB Data Register = 0x00
PCON = C_WDT_En | C_LVR_En; // Enable WDT & LVR
// Initialize Timer1 & PWM1
TMR1 = 0xFF; // TMR1[7:0]=FFH
PWM1DUTY = C_PWM_LB_DUTY_80H; // PWM1DUTY[7:0]=80H
T1CR2 = C_PS1_Dis | C_TMR1_ClkSrc_Inst; // Prescaler 1:1, Timer1 clock source is instruction clock
T1CR1 = C_PWM1_En | C_PWM1_Active_Hi | C_TMR1_Reload | C_TMR1_En; // Enable PWM1, Active_High, Non-Stop mode, Reloaded from TMR1, Enable Timer1
while(1)
{
CLRWDT(); // Clear WatchDog
}
}