Chương trình dịch Led – . CTC delay có thể tùy chỉnh, delay tối đa là 12,75s ORG 0030H MOV TMOD,#01H MOV A,#80H LAP: MOV P2,A CALL DELAY RR A SJMP LAP DELAY: LP: MOV R7,0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ INC R7 CLR TF0 CLR TR0 CJNE R7,#20,LP RET END 2. | BÀI TẬP VỀ PIC 16F877 1 Chương trình dịch Led - . CTC delay có thể tùy chỉnh delay tối đa là 12 75s ORG 0030H MOV TMOD 01H MOV A 80H LAP MOV P2 A CALL DELAY RR A SJMP LAP DELAY MOV R7 0 LP MOV TH0 HIGH -50000 MOV TL0 LOW -50000 SETB TR0 JNB TF0 INC R7 CLR TF0 CLR TR0 CJNE R7 20 LP RET END 2. include use delay clock 20000000 use Fast_IO A byte porta 0x05 bit ra0 int8 k bit b0 bit b1 bit b2 unsigned mang1 0 1 2 3 4 5 6 7 unsigned mang2 0 1 3 2 6 7 5 4 void main set_tris_A 255 int8 i while 1 for i 0 i 8 i if ra0 0 k mang1 i else k mang2 i output_bit PIN_B0 b0 1 BÀI TẬP VỀ PIC 16F877 output_bit PIN_B1 b1 output_bit PIN_B2 b2 delay_ms 200 _ 3. Thực hiện mạch logic include use delay clock 20000000 use Fast_IO A byte porta 0x05 bit ra0 bit ra1 bit ra2 void main int1 a b c set_tris_a 0b000000111 while 1 a ra0 ra1 ra2 b ra2 ra1 c aAb output_bit PIN_A3 c 4. Dịch Led 2 chiều include use delay clock 20000000 use Fast_IO D byte portd 0x08 void main int8 i led 1 set_tris_d 0 2 BÀI TẬP VỀ PIC 16F877 while 1 for i 1 i 15 i portd led delay_ms 100 if i 8 led led 1 else led led 1 5. Tạo sóng có điều kiện đầu vào ở RB0 include use delay clock 20000000 use Fast_IO B byte portB 0x06 bit RB0 void main set_tris_B 0x00000001 while 1 if RB0 0 output_high PIN_B6 delay_us 125 output_low PIN_B6 delay_us 125 else output_high PIN_B7 delay_ms 10 output_low PIN_B7 delay_ms 10