#include static void delay_us(unsigned int us) { /* assume cpu frequency is 200MHz */ __delay_cycles (us * (1000 / 5)); } const unsigned int period_us = 250 * 1000; int main(void) { unsigned int c; for (c = 0; ; c++) { __R30 = ((((__R30&0xf00)<<1)|0x100)&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)<<1)|0x100)&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)<<1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)<<1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)<<1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)<<1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1)|0x800)&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1)|0x800)&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); __R30 = ((((__R30&0xf00)>>1))&0xf00)|(__R30&0xf0ff); delay_us (period_us); } return 0; }