www.pudn.com > bootloader.rar > led.c
/* ============================================================================*/ /* Copyright (C) 2004 YINXING TECHNOLOGY CO., LTD */ /* All Rights Reserved. */ /* ----------------------------------------------------------------------------*/ /* ============================================================================*/ #include#define ADDR_PMST 0x1d ioport unsigned port8000; /* for CTRL word */ ioport unsigned porte000; /* for DC MOTOR run */ ioport unsigned portc000; /* for LEDs show */ ioport unsigned portf000; /* for STEPMOTOR */ void mydelay() { /* when clkout=10MHz, about 0.2s */ int i,j; for(i=0;i<500;i++) for(j=0;j<1000;j++); } void test_led() { int led=0,i=0,j=0; again: for(i=0;i<5;i++) /* all LEDs flash 5 times */ { portc000=0; mydelay(); portc000=0xffff; mydelay(); } for(j=0;j<5;j++) /* LEDs bright one by one */ { portc000=0; /* shut down all led ! */ led=1; for(i=0;i<16;i++) { portc000=led; /* bright one LED */ mydelay(); /* delay 0.5 s */ portc000=0; led=led << 1; } } for(i=0;i<5;i++) /* flash all again */ { portc000=0; mydelay(); portc000=0xffff; mydelay(); } portc000=0; /* close all LEDs */ for(i=0;i<20;i++) mydelay(); goto again; } void main() { int *pmst; pmst= (int *)ADDR_PMST; *pmst=0x3fa0; /* interrupt vector in 0x3f80 ! */ test_led(); }