Compare commits

..

No commits in common. "a3334738ae887d2fde3bd18f84ed07703d3c4939" and "cb9508b2ac7f5cf7985ef973db842a7a1b35100c" have entirely different histories.

2 changed files with 5 additions and 16 deletions

2
f.sh
View File

@ -1,4 +1,4 @@
SYSCLK=11059 SYSCLK=36000
sdcc -mmcs51 -DSYSCLK=${SYSCLK} flash.c sdcc -mmcs51 -DSYSCLK=${SYSCLK} flash.c
stcgal -t ${SYSCLK} flash.ihx stcgal -t ${SYSCLK} flash.ihx

19
flash.c
View File

@ -9,14 +9,9 @@
#define IRQFREQ 1000L #define IRQFREQ 1000L
#endif #endif
#ifndef T0_BITS
#define T0_BITS 13
#endif
#define FOSC (SYSCLK*1000L) #define FOSC (SYSCLK*1000L)
#define T0_1MS ((65536)-FOSC/12L/IRQFREQ) #define T0_1MS (65536L-FOSC/12L/IRQFREQ)
#define TCT IRQFREQ/2-1 #define TCT IRQFREQ/2-1
@ -24,13 +19,9 @@ unsigned char ctr_l = TCT&0xFF;
unsigned char ctr_h = (TCT>>8)&0xff; unsigned char ctr_h = (TCT>>8)&0xff;
unsigned char ctr_w = (TCT>>16)&0xff; unsigned char ctr_w = (TCT>>16)&0xff;
unsigned char counter = 0;
void handler() __interrupt 1 void handler() __interrupt 1
{ {
EA=0; EA=0;
TL0 = (T0_1MS) & 0xFF; // Initial timer value
TH0 = T0_1MS>>8; // Initial timer value
__asm __asm
mov a, #0xff mov a, #0xff
dec _ctr_l dec _ctr_l
@ -40,12 +31,9 @@ void handler() __interrupt 1
dec _ctr_w dec _ctr_w
cjne a,_ctr_w, 00001$ cjne a,_ctr_w, 00001$
; cpl FLASH_PIN cpl FLASH_PIN
__endasm; __endasm;
counter ++;
P2 = counter ^0xff;
ctr_l = TCT&0xFF; ctr_l = TCT&0xFF;
ctr_h = (TCT>>8)&0xff; ctr_h = (TCT>>8)&0xff;
ctr_w = (TCT>>16)&0xff; ctr_w = (TCT>>16)&0xff;
@ -59,11 +47,12 @@ void handler() __interrupt 1
void main() void main()
{ {
P1=TMOD; P1=TMOD;
EA=0; EA=0;
TMOD =1; TMOD =0;
P1=TMOD; P1=TMOD;
TL0 = (T0_1MS) & 0xFF; // Initial timer value TL0 = (T0_1MS) & 0xFF; // Initial timer value