NỘI DUNG ƠN TẬP Xử lý phím nhấn đơn #include #FUSES NOWDT, HS, NOPUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP #use delay(clock=8000000) #define D1 PIN_B4 #define SW1 PIN_C0 #define SW2 PIN_C1 //========================================================= void main() {INT8 SW=0; while(TRUE) { if(!input(SW1)) SW = 1; if(!input(SW2)) SW = 2; switch(SW) {case 1:{output_high(D1); delay_ms(300); SW=0;break;} case 2:{output_low(D1); delay_ms(300); SW=0;break;}} } }//end main Điều khiển LED đơn CONST int8 a[9] = {trạng thái điều khiển}; Void main() {For (int8 i = 0; i < số lần lặp; i++) { for (int8 j = 0; j < 9; j++) {output_x(a[j]); delay_ms(thời gian);} } } Quét LED đoạn không dùng ngắt #include #FUSES NOWDT, HS, NOPUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP #use delay(clock=8000000) // Tần số thạch anh dùng hệ thống // -CHƢƠNG TRÌNH CHÍNH Void main() { While (TRUE){ Output_d(0xff); Output_b(“H”7s); output_low(PIN_D3); delay_ms(5); Output_d(0xff); Output_b(“E”7s); output_low(PIN_D2); delay_ms(5); Output_d(0xff); Output_b(“L”7s); output_low(PIN_D1); delay_ms(5); Output_d(0xff); Output_b(“P”7s); output_low(PIN_D0); delay_ms(5);} } Chƣơng trình delay dùng timer timer (Chƣơng trình delay 250ms sử dụng timer 0, : Setup_timer_0(RTCC_DIV_4|RTCC_INTERNAL) B1 Tính số xung cần đếm = delay/T ; // T = 1/f; f = (Fosc/4)/n; delay (uS) B2 Viết chƣơng trình Void delay( ) {setup_timer_0/1(…….);// đề For(int16 i=0;i