Compare commits
No commits in common. "a3334738ae887d2fde3bd18f84ed07703d3c4939" and "cb9508b2ac7f5cf7985ef973db842a7a1b35100c" have entirely different histories.
a3334738ae
...
cb9508b2ac
2
f.sh
2
f.sh
@ -1,4 +1,4 @@
|
||||
SYSCLK=11059
|
||||
SYSCLK=36000
|
||||
|
||||
sdcc -mmcs51 -DSYSCLK=${SYSCLK} flash.c
|
||||
stcgal -t ${SYSCLK} flash.ihx
|
||||
|
19
flash.c
19
flash.c
@ -9,14 +9,9 @@
|
||||
#define IRQFREQ 1000L
|
||||
#endif
|
||||
|
||||
#ifndef T0_BITS
|
||||
#define T0_BITS 13
|
||||
#endif
|
||||
|
||||
|
||||
#define FOSC (SYSCLK*1000L)
|
||||
|
||||
#define T0_1MS ((65536)-FOSC/12L/IRQFREQ)
|
||||
#define T0_1MS (65536L-FOSC/12L/IRQFREQ)
|
||||
|
||||
#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_w = (TCT>>16)&0xff;
|
||||
|
||||
unsigned char counter = 0;
|
||||
|
||||
void handler() __interrupt 1
|
||||
{
|
||||
EA=0;
|
||||
TL0 = (T0_1MS) & 0xFF; // Initial timer value
|
||||
TH0 = T0_1MS>>8; // Initial timer value
|
||||
__asm
|
||||
mov a, #0xff
|
||||
dec _ctr_l
|
||||
@ -40,12 +31,9 @@ void handler() __interrupt 1
|
||||
dec _ctr_w
|
||||
cjne a,_ctr_w, 00001$
|
||||
|
||||
; cpl FLASH_PIN
|
||||
cpl FLASH_PIN
|
||||
__endasm;
|
||||
|
||||
counter ++;
|
||||
P2 = counter ^0xff;
|
||||
|
||||
ctr_l = TCT&0xFF;
|
||||
ctr_h = (TCT>>8)&0xff;
|
||||
ctr_w = (TCT>>16)&0xff;
|
||||
@ -59,11 +47,12 @@ void handler() __interrupt 1
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
P1=TMOD;
|
||||
|
||||
EA=0;
|
||||
|
||||
TMOD =1;
|
||||
TMOD =0;
|
||||
P1=TMOD;
|
||||
|
||||
TL0 = (T0_1MS) & 0xFF; // Initial timer value
|
||||
|
Loading…
Reference in New Issue
Block a user