diff options
| author | Vaino Kauppila <vaino@vke.fi> | 2026-04-19 12:32:58 +0300 |
|---|---|---|
| committer | Vaino Kauppila <vaino@vke.fi> | 2026-04-19 12:32:58 +0300 |
| commit | eb8643ddbef43547eb7bfe58789a3908926c7258 (patch) | |
| tree | fadfba88a1c71b266b8c67df166a3a6ead6b30d1 /PIC/blink.c | |
| parent | 129a1c975dbd0c042576010b1f6eb40d19fc5733 (diff) | |
| download | vhdl_pic-eb8643ddbef43547eb7bfe58789a3908926c7258.tar.gz vhdl_pic-eb8643ddbef43547eb7bfe58789a3908926c7258.zip | |
refactor dir structure, add fib.c
Diffstat (limited to 'PIC/blink.c')
| -rw-r--r-- | PIC/blink.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/PIC/blink.c b/PIC/blink.c deleted file mode 100644 index 6789b0a..0000000 --- a/PIC/blink.c +++ /dev/null @@ -1,35 +0,0 @@ -#include <pic16f84a.h> - -typedef unsigned char uint8_t; - -// Global volatile so sdcc cannot optimise the delay loops away. -static volatile uint8_t _d0, _d1, _d2; - -// Busy-wait ~500 ms at 50 MHz. -// 200 × 256 × 256 = 13 107 200 inner iterations. -// Each iteration ≈ 3 uint8_t instructions × 20 ns = 60 ns. -// Total ≈ 786 ms (tune outer count _d0 < N to taste). -static void delay(void) { - _d0 = 0; - do { - _d1 = 0; - do { - _d2 = 0; - do { _d2++; } while (_d2 != 0); - } while (++_d1 != 30); - _d0++; - } while (_d0 != 116); -} - -void main(void) { - // port_b(0) drives activity_led at E8 on the Tang Primer 25K. - // port_a(0) drives led at L6. Both ports are always outputs in this CPU. - while (1) { - PORTB = 0x01; // activity_led (E8) on - PORTA = 0x01; // led (L6) on - delay(); - PORTB = 0x00; // activity_led (E8) off - PORTA = 0x00; // led (L6) off - delay(); - } -} |
