Skip to main content

Example of how to generate PWM in mikroC using the CCP module


//Program to generate 40kHz output at RC2(CCP1) pin
//Microcontroller: Microchip PIC18452
//Language: C
//Compiler: mikroC v8.20
//Programmer: Tahmid

void main (void){
     TRISC = 0;
     PORTC = 0;
     ADCON1 = 7;
     T2CON = 0;
     TMR2 = 0;
     PWM1_Init(40000); //40kHz
     PWM1_Change_Duty(128); //50% duty cycle
// Choose Duty cycle as such:
// PWM_Change_Duty(x);
// x = ( (Duty Cycle in %) / 100) * 255
     PWM1_Start(); //Start PWM
     while (1){ //Loop forever
// Whatever else might be needed to be done while PWM is running
     }
}

In mikroC, you set the duty cycle by using the function PWM1_Change_duty(x). The value you put within the parentheses (x) has to be between 0 and 255. 0 means 0 duty cycle, 255 means 100% duty cycle, so 128 means 50%.

You get PWM output at RC2 (pin 17).

Comments

Popular posts from this blog

Mantis 9 1 CNC Mill

The Mantis 9.1 design is a radical departure from version 8 and earlier. Most notably, the part count has been almost halved! The current design has 13 parts, all of which can be made with a handsaw and a drill press. Also, I’ve traded away my alignment free exactly-constrained design for extra stiffness. Several unsuccessful attempts to eradicate the last of the slop in the Z axis on version 8 lead me back to the world of over-constrained parallel rods. My previous attempts at an over-constrained design (versions 1-5) all failed because I was unable to make the rods sufficiently parallel to avoid jamming. What to do? [ ]

Electronic Extended Play Circuit Diagram

This is a Electronic Extended Play Circuit Diagram. A single op amp-one of four contained in the popular LM324-is operating in a variable pulse width, free-running square wave oscillator circuit, with its timed output driving two transistors that control the on/ off cycle of the tape-drive motor. The Oscillator` s positive feedback path holds the secret to the successful operation of the variable on/ off timing signal.   Electronic Extended Play Circuit Diagram The two diodes and pulse width potentiometer R8 allows the setting of the on and off time, without affecting the oscillator`s operating frequency. One diode allows only the discharge current to flow through it and the section of R8 that it`s connected to. The other diode, and its portion of R8, sets the charge time for the timing capacitor, C3. Since the recorder`s speed is controlled by the precise off/on timing of the oscillator, a simple voltage-regulator circuit (Ql, R3, and D4) is included.  Connecting the spe...

Power Amplifier with voltage regulator 4 × 50 Watt TDA8588

Power Amplifier with voltage regulator 4 × 50 Watt TDA8588    The TDA8588 is a multiple voltage regulator combined with four independent audio power amplifiers configured in bridge tied load with diagnostic capability. The output voltages of all regulators except regulators 2 and 3 can be controlled via the I2C-bus. However, regulator 3 can be set to 0 V via the I2C-bus. The output voltage of regulator 2 (microcontroller supply) and the maximum output voltage of regulator 3 (mechanical digital and microcontroller supplies) can both be either 5 V or 3.3 V depending on the type number. The maximum output voltages of both regulators are fixed to avoid any risk of damaging the microcontroller that may occur during a disturbance of the I 2C-bus. The amplifier diagnostic functions give information about output offset, load, or short-circuit. Diagnostic functions are controlled via the I2C-bus. The TDA8588 is protected against short-circuit, over-temperature, open ground and open VP ...