#include<p18f4520.h>
#pragma config OSC = HS // Oscillator Selec on bits
#pragma config WDT = OFF // Watchdog Timer Enable bit
#pragma config PBADEN = OFF // PORTB A/D Enable bit
#pragma config LVP = OFF // Single-Supply ICSP Enable bit
#define SW PORTBbits.RB0
#define MTR1 PORTCbits.RC1
#define MTR2 PORTCbits.RC2
void Delay_ms(unsigned int);
void main(void)
{
TRISBbits.TRISB0=1;
TRISCbits.TRISC1=0;
TRISCbits.TRISC2=0;
while(1)
{
MTR2=0;
if(SW==0) // switch is pressed
{
MTR1=1; //90% DUTY CYCLE
Delay_ms(900);
MTR1=0; //10 % DC
Delay_ms(100);
}
else //switch is released
{ //10 % DUTY CYCLE
MTR1=1;
Delay_ms(100);
MTR1=0;
Delay_ms(900);
}
}
}
void Delay_ms(unsigned int i me)
{
unsigned int i;
unsigned char j;
for(i=0;i<i me;i++)
for(j=0;j<165;j++);
}
I2luY2x1ZGU8cDE4ZjQ1MjAuaD4gCiAKI3ByYWdtYSBjb25maWcgT1NDID0gSFMgICAgICAgICAvLyBPc2NpbGxhdG9yIFNlbGVjIG9uIGJpdHMgCiNwcmFnbWEgY29uZmlnIFdEVCA9IE9GRiAgICAgICAgLy8gV2F0Y2hkb2cgVGltZXIgRW5hYmxlIGJpdCAKI3ByYWdtYSBjb25maWcgUEJBREVOID0gT0ZGICAgICAvLyBQT1JUQiBBL0QgRW5hYmxlIGJpdCAKI3ByYWdtYSBjb25maWcgTFZQID0gT0ZGICAgICAgICAvLyBTaW5nbGUtU3VwcGx5IElDU1AgRW5hYmxlIGJpdCAKIAojZGVmaW5lIFNXIFBPUlRCYml0cy5SQjAgCiNkZWZpbmUgTVRSMSBQT1JUQ2JpdHMuUkMxIAojZGVmaW5lIE1UUjIgUE9SVENiaXRzLlJDMiAKIAp2b2lkIERlbGF5X21zKHVuc2lnbmVkIGludCk7IAp2b2lkIG1haW4odm9pZCkgCnsgCiAgICBUUklTQmJpdHMuVFJJU0IwPTE7IAogICAgVFJJU0NiaXRzLlRSSVNDMT0wOyAKICAgIFRSSVNDYml0cy5UUklTQzI9MDsgCiAKIHdoaWxlKDEpIAogIHsgCiAgTVRSMj0wOyAKICAgICAgaWYoU1c9PTApICAgIC8vIHN3aXRjaCBpcyBwcmVzc2VkIAogICAgICAgIHsgCiAgICAgICAgICAgIE1UUjE9MTsgICAgICAgLy85MCUgRFVUWSBDWUNMRSAKICAgICAgICAgICAgICAgRGVsYXlfbXMoOTAwKTsgCiAgICAgICAgICAgIE1UUjE9MDsgICAgICAgIC8vMTAgJSBEQyAKICAgICAgICAgICAgICAgRGVsYXlfbXMoMTAwKTsgCiAgICAgICAgfSAKICAgICAgICBlbHNlICAgICAgICAgICAgIC8vc3dpdGNoIGlzIHJlbGVhc2VkIAogICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAvLzEwICUgRFVUWSBDWUNMRSAKICAgICAgICAgICAgTVRSMT0xOyAgCiAgICAgICAgICAgICAgICBEZWxheV9tcygxMDApOyAKICAgICAgICAgICAgTVRSMT0wOyAKICAgICAgICAgICAgICAgIERlbGF5X21zKDkwMCk7IAogICAgICAgIH0gCiAgIH0gCn0gCiAKdm9pZCBEZWxheV9tcyh1bnNpZ25lZCBpbnQgaSBtZSkgCnsgCnVuc2lnbmVkIGludCBpOyAKdW5zaWduZWQgY2hhciBqOyAKZm9yKGk9MDtpPGkgbWU7aSsrKSAKICAgZm9yKGo9MDtqPDE2NTtqKyspOyAKfSAKIAo=