(c) 2002 Pavel Pindora
JBug11 Náhrada oblíbeného dosovského PCBug11.
New version JBug11.
Blokové schéma mikrokontroleru 68HC711 firmy Motorola, forma 68HC711E9 má 12kB EPROM
MODA MODB
volba modu procesoru , bootstrap režim po restartu a možnost tak pomocí PCBug11 modifikovat registry , nahrávat program apod.
XTAL,EXTAL připojení krystalu
IRQ,XIRQ vnější přerušení chodu programu a obsluha rutin
RESET restart procesoru
PORTA vstup/výstupní port dle registru PACTL nebo Output compare / Input capture
PORTB výstupní registr
PORTC vstup/výstupní port dle registru DDRC
PORTD vstup/výstupní port dle registru DDRD nebo PD0 RxD, PD1 TxD seriová linka PD2-PD5 SPI kanál
PORTE vstupní port binární nebo 8 analogových 8bitových vstupů
-------------------- Univerzální destička pro mikrkontrolér 68HC711E9 --------------------
8 opto 24V vstupů
4 opto 24V výstupy ULN2003
TTL
seriový port s protokolem ModBus , možnost napojení PDA PocketPC viz sekce
PDA
PocketPC
/
Socket
TCP/IP, komunikace, ModBus
---------------- Hrubé schéma zapojení destičky bez optronu ---------------
Obsluha SPI kanálu, převodníky A/D AD7710 a D/A AD7243 firmy Analog Devices.
Obsluha asynchronní seriové linky.
RAMBS equ $0000 zacatek RAM
EEPROM equ $B600 za‡ tek EEPROM
REGBS equ $1000 umisteni bloku registru v pameti
START equ EEPROM umisteni naseho programu v EEPROM
STACK equ RAMBS+$1FF
PORTA equ $1000 ADRESA PORTU A
PORTC equ $1003 ADRESA PORTU C
PORTB equ $1004 ADRESA PORTU B
DDRC equ $1007
PORTD equ $1008 ADRESA PORTU D
PORTE equ $100A ADRESA PORTU E
DDRD equ $1009 ADRESA ridiciho registru portu D
PACTL equ $1026
SPCR equ $1028 ADRESA ridiciho registru SPI
SPSR equ $1029 SPI status register
SPDR equ $102A SPI data register
*----------------------------------------------------------------------- ************************************************************************
* Hlavní program *
************************************************************************
* Ser. linka
rambs equ $0000 začátek RAM
regbs equ $1000 umístění bloku registrů v paměti
start equ $B600 umístění našeho programu v EEPROM
baud equ regbs+$2b registr BAUD
sccr1 equ regbs+$2c SCCR1
sccr2 equ regbs+$2d SCCR2
scsr equ regbs+$2e SCI Status Register
scdr equ regbs+$2f SCI Data
jtser equ rambs+$C4
org start umístění programu v EEPROM ***************************************
* Inicializace systému *
***************************************
.
.
.
.
*----------- inicializace přerušení od ser. linky---------
ldaa #$7E
staa jtser od ser.linky
ldx #sciin
stx jtser+1 ***************************************************
* Inicializace seriové přenosové linky SCI *
***************************************************
inicser
ldaa #$30 9600 Bd = #$30,600 = #$34,300 = #$35
staa baud do reg. BAUD
ldaa #$00 1 start, 8 data, 1 stop bit,probuzení zakázáno
staa sccr1 do registru SCCR1
ldaa #$0C INT povolen, vysíláni,přijem povolen
staa sccr2 do registru SCCR2
cli Povolit přerušení
.
.
.
. ******************************************
* Obsluha přerušení od *
* seriove linky *
******************************************
sciin
sei zákaz přerušení
ldaa scsr čti SCI Status Register
anda #$20 je připraven znak ?
beq kscii ne,konec
ldab scdr
cmpb #STX je to znak počátku zprávy STX
bne kscii ne konec
jsr serin ano
.
.
.
.
kscii
cli Povolit přerušení
rti
JBug11 umožňuje naprogramování jednočipu 68HC11 ,načítat hodnoty registrů,paměti vkládat bpointy,trasovat atd.
.
Pro používání tohoto software je potřeba mít vývojovou desku umožňující provozovat čip hc11 v tzv. Bootstrap mode . Např. já používám Motorola M68HC11EVBU ale takovou desku je možno zbastlit dle následujícího schéma , částečně převzatého z PDF dokumentace k JBug11
Zde je navíc dálkové ovládání resetu procesoru, což na EVBU nemám a tak musím mačkat tlačítko.
Pro 68HC711 je potřeba nastavit JBug11 dle následujících obrázků.
1) Nastavit správně rozsah paměti
2) Reset mám ruční takž none,nezapomenout volbu COMu, ten může být i COM3 podle toho co máte
v PC , dále povolíme zápis do CONFIG,EEPROM,EPROM
Nyní již po stisku Ctrl B by měl vyjet dialog a JBug11 naváže spojení s hc11tkou
Můžeme se pokusit nahrát program do jednočipu ,pokud použijeme i EPROM, nesmíme zapomenout připojit pálící napětí , u mne na pin 18 68HC711E9
V menu File je i verifikace programu .
Pokud ale máme program umístěný i v EEPROM musíme ji v jednočipu povolit příslušnými bity registru BPROT ( 1035h ) , názorně to demonstruje následující obrázek , jednotlivé povely jsou v Command History
r bprot=10
.
.
Stejně tak postupujeme při nastavení Watchdogu ,opět to nejlépe ukáže historie příkazů :
cls vymaže obrazovku
r bprot=0f shodí se bit s váhou 10h ,který povolí zápis do config regisatru
r config=0b nastaví watchdog
r bprot=1f setne bit s váhou 10h ,který zakáže zápis do config regisatru ale to se stane i po resetu aby se nastavení konfigu aktivovalo.
A pro úplnost se podívejme na význam registrů BPRIOT a CONFIG
New version JBug11 |
Version |
Settings 1. |
Settings 2. |