![]() |
![]() |
#3 | |
Nhập môn đệ tử
Tham gia ngày: Jul 2008
Bài gửi: 3
: |
Trích:
#include <def_877a.h> #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #USE FAST_IO(E) #USE FAST_IO(C) #USE FAST_IO(D) int8 mode,i; byte temp; #INT_EXT EXT_ISR() { mode++; if (mode==9) mode = 0; } // End of INT void program1(); void program2(); void program3(); void program4(); void program5(); void program6(); void program7(); void program8(); void main() { trisd = 0x00; trisb = 0xFF; portd=0xff; enable_interrupts(int_EXT); ext_int_edge(L_TO_H); enable_interrupts(GLOBAL); mode = 0; while (1) { switch(mode) { case 1: program1(); break; case 2: program2(); break; case 3: program3(); break; case 4: program4(); break; case 5: program5(); break; case 6: program6(); break; case 7: program7(); break; case 8: program8(); break; } } } void program1() { PortD = 0x00; delay_ms(250); Portd = 0xFF; delay_ms(250); } void program2() { temp = 0xFF; for (i=0;i<=8;i++) { portd = temp; delay_ms(250); temp >>= 1; } } void program3() { temp = 0xFF; for (i=0;i<=8;i++) { portd = temp; delay_ms(250); temp <<= 1; } } void program4() { portd = 0xAA; delay_ms(500); portd = 0x55; delay_ms(500); } void program5() { Portd = 0x7E; delay_ms(150); Portd = 0xBD; delay_ms(250); Portd = 0xDB; delay_ms(150); Portd = 0xE7; delay_ms(150); Portd = 0xDB; delay_ms(150); Portd = 0xBD; delay_ms(150); Portd = 0x7E; delay_ms(150); } void program6() { temp = 0xFF; for (i=0;i<=8;i++) { portd = temp; delay_ms(250); temp = temp >> 1; } } void program7() { Portd = 0xFE; delay_ms(150); Portd = 0xFD; delay_ms(150); Portd = 0xFB; delay_ms(150); Portd = 0xF7; delay_ms(150); Portd = 0xEF; delay_ms(150); PortD = 0xDF; delay_ms(150); Portd = 0xBF; delay_ms(150); Portd = 0x7F; delay_ms(150); } void program8() { Portd = 0x7F; delay_ms(150); Portd = 0xBF; delay_ms(150); PortD = 0xDF; delay_ms(150); Portd = 0xEF; delay_ms(150); Portd = 0xF7; delay_ms(150); Portd = 0xFB; delay_ms(150); Portd = 0xFD; delay_ms(150); Portd = 0xFE; delay_ms(150); } |
|
![]() |
![]() |