
M68HC11
REFERENCE MANUAL
CONFIGURATION AND MODES OF OPERATION
MOTOROLA
3-23
***********************************************************************
*************************************************************************
* Example 3–1 65 bytes total
*
* This example program uses the hardware setup in figure 3–1 in test *
* mode. After reset the CONFIG register is checked against port E. *
* If it is different, CONFIG is erased and reprogrammed to the port E *
* value. $30 is written to port A and the program ends.
*************************************************************************
*
*
*
ORG
$A000
Start of external EPROM
EX31A
LDS
BSR
LDAA
ANDA
CMPA
BEQ
#$00FF
DLY10
$100A
#$0F
$103F
NOWOK
Establish top of stack
Allow charge pump to stabilize
Read port E DIP switches
Mask off upper 4 bits (not implemented on ’A8)
See if CONFIG is same
If already OK
* Not OK so first erase CONFIG
LDAB
STAB
STAA
INCB
STAB
BSR
CLR
* Now reprogram CONFIG with data from port E (still in A-reg)
LDAB
#$02
Turn on EELAT
STAB
$103B
Write to PPROG register
STAA
$103F
Write port E data to CONFIG address
INCB
To $03 - Turns on EEPGM bit
STAB
$103B
Write to PPROG register
BSR
DLY10
Delay 10 ms for erase to complete
CLR
$103B
Turn off charge pump (EEPGM to 0)
* Programming complete but you can’t check results till next reset
NOWOK
LDA
#$30
STAA
$1000
You are done (check with scope)
BRA
*
Branch to self (hangs till pwr off or rst)
*
* PR0GRAM END
subroutines follow
*
***
* DLY10 - Subroutine to delay l0ms (for E=2MHz)
***
DLY10
PSHX
Save X (not required in this ex I just do)
LDX
#$0D06
3334 6~ * 500nS/~ = l0mS
DLOOP
DEX
[3] in []s is cycles for that instruc
BNE
DLOOP
[3] cont. for 3334 times (loop time = 6~)
PULX
Recover X value
RTS
**RETURN**
*
* Establish a reset vector
*
ORG
$BFFE
RESET
FDB
$A000
Point to start of program
#$06
$103B
$103F
Bulk Erase, and EELAT on
Write to PPROG register
Write to CONFIG address (any data)
To $07 - turns on EEPGM bit
Write to PPROG register
Delay 10 ms for erase to complete
Turn off charge pump (EEPGM to 0)
$103B
DLY10
$103B
Figure 3-3 Program to Check/Change CONFIG