Deze code is geschreven om meerdere PWM uitgangen te kunnen gebruiken. Nu zal u zich wellicht afvragen waarom ik het ingebouwde commando niet gebruik. Wel dat commando doet eerst 1pwm pin voor 2sec en maakt die dan terug laag en gaat naar de volgende en doet daar 2 sec PWM op enzovoort. Met deze code gaat het wel gewoon juist.
'**************************************************************** '* Name : 4kanaalsPWM.BAS * '* Author : Coenen Stijn * '* Notice : Copyright (c) 2006 Stynus * '* : All Rights Reserved * '* Date : 7/10/2005 * '* Version : 1.0 * '* Notes : 4 kanaals PWM * '* : www.elektronicastynus.be * '**************************************************************** Device = 16F627 Dim x As Byte Dim pbm1 As Byte Dim pbm2 As Byte Dim pbm3 As Byte Dim pbm4 As Byte Dim PWM_cycles As Byte 'Benoeming uitgangen Symbol pen_a = PORTB.1 Symbol pen_b = PORTB.2 Symbol pen_c = PORTB.3 Symbol pen_d = PORTB.4 pbm1 = 4 'Waarde 1 pbm2 = 64 'Waarde 2 pbm3 = 128 'Waarde 3 pbm3 = 255 'Waarde 4 PWM_cycles = 255 x = 0 Output pen_a Output pen_b Output pen_c Output pen_d PBM: For x = 0 To PWM_cycles High pen_a High pen_b High pen_c High pen_d If x >= pbm1 Then Low pen_a EndIf If x >= pbm2 Then Low pen_b EndIf If x >= pbm3 Then Low pen_c EndIf If x >= pbm4 Then Low pen_d EndIf 'Voor meer kanalen een extra varianele aanmaken en hier het 'volgende extra invoegen per uitgang: 'If x >= Naam variabele Then 'Low "Pinnummer" 'EndIf Delayms 1 Next GoTo PBM End