Bueno informaticos uno k necesita ayuda....

Porque en la vida no todo es C4...

Moderador: Moderadores

Bueno informaticos uno k necesita ayuda....

Notapor pablo_oso » Jue Mar 26, 2009 1:33 am

Hola os comento antes de nada.... tengo un bonito microprocesador el HC12 mas concretamente el PK E128hc12 de Softec... el mismo que utuliza nuestro C4 para controlar la pantalla central del C4 la de la velocidad....

Pero mi problema es k tengo practicas con el chisme este y madre k chungas son..... alguien tiene idea de programar en emsamblador.... o en el HC12???

Gracias!!!!
Avatar de Usuario
pablo_oso
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 3358
Registrado: Jue Ago 21, 2008 12:34 pm
Ubicación: Barcelona

Notapor bender » Jue Mar 26, 2009 13:34 pm

Yo tengo nociones de lenguaje ensamblador para x.86 (el típico procesador de PC).

Si tienes alguna duda, tal vez te la pueda resolver por aqui (o por privi, dudo que otros foreros esten interesados en apredender ensamblador).
--
Planear es esencial, los planes son inútiles.
Erwin Rommel
Avatar de Usuario
bender
Piloto titular C4atrero
Piloto titular C4atrero
 
Mensajes: 684
Registrado: Lun Ene 29, 2007 22:21 pm
Ubicación: Montcada i Reixach

Notapor elde » Jue Mar 26, 2009 20:31 pm

en su dia hice algo de asm para pics de microchip, aunke poco te podria ayudar.

aunke supongo ke ya lo tendras claro, ke primero datashseet y un compilador adecuado

de todas formas pegale un ojo a esto espanol.geocities.com/dan_mld2003/apuntes/micro_hc12.pdf

suerte, ke la necesitas ;)
Avatar de Usuario
elde
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 6654
Registrado: Vie Jul 28, 2006 18:51 pm
Ubicación: 16i 16v 110cv

Notapor pablo_oso » Vie Mar 27, 2009 1:28 am

gracias... bueno os pondre mis dudas por aki..... haber k apsa....
Avatar de Usuario
pablo_oso
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 3358
Registrado: Jue Ago 21, 2008 12:34 pm
Ubicación: Barcelona

Notapor pablo_oso » Lun Mar 30, 2009 0:54 am

; export symbols
XDEF Entry ; export 'Entry' symbol
ABSENTRY Entry ; for absolute assembly: mark this as application entry point

; include derivative specific macros

RAMStart EQU $0400
ROMStart EQU $4000 ; absolute address to place my code/constant data
PTT EQU $0240
DDRT EQU $0242
STACK EQU $1FFF
ADlo EQU $0271
DDRADldo EQU $0275
PERADlo EQU $0279
ATDAIlen EQU $008D
TSCR2 EQU $004D
TOF EQU $004F
TSCR1 EQU $0046
; variable/data section

ORG RAMStart
matriz dc.b $80, $40, $20, $10, $08, $04, $02, $01, $80, $40, $20, $10, $08, $04, $02, $01
ai dc.b 0, 7, 1, 14, 10, 5, 3, 4
ticksacontar dc.b 2
tickscontados dc.b 0
flag dc.b 0


; code section
ORG ROMStart
Entry:
LDAA #0
STAA DDRADldo
LDAA #$FF
STAA PERADlo
LDAA #$FF
STAA ATDAIlen

LDS #STACK
LDAB #$FF
STAB DDRT
LDY #matriz
LDX #ai
LDAB #0



DEFECTO: LDAA #1
STAA PTT
BRCLR ADlo,%00010000,COLUMNAS
BRCLR ADlo,%00100000, JSRFILAS
JMP DEFECTO
JSRFILAS: JSR Filas

COLUMNAS: LDAA #2
STAA PTT
BRCLR ADlo,%00010000,INDEXADO
BRCLR ADlo,%00100000, JSRCOLUM
JMP COLUMNAS
JSRCOLUM: LDAB #0
JSR Colum

INDEXADO: LDAA #4
STAA PTT
BRCLR ADlo,%00010000,DEFECTO
BRCLR ADlo,%00100000, JSRIND
JMP INDEXADO
JSRIND: JSR Indexado
JMP DEFECTO

Indexado:
BSET TOF, %10000000
BSET TSCR2, %10000101; prescaler y TOI
BSET TSCR1, %10000000; TEN
CLI
I1: LDAA flag ; miramos el flag para ver si
CMPA #1 ; ha pasado el tiempo que queremos esperar
BNE I1 ;
LDAA #0 ;
STAA flag ;
LDAB 0,X
LDAA B,Y
STAA PTT
INX
CPX #$418
BNE Indexado
LDY #matriz
LDX #ai
LDAB #0
JMP Indexado


Filas:
BSET TOF, #%10000000
BSET TSCR2, #%10000101; prescaler y TOI
BSET TSCR1, #%10000000; TEN
CLI
F1: LDAA flag ; miramos el flag para ver si
CMPA #1 ; ha pasado el tiempo que queremos esperar
BNE F1 ;
LDAA #0 ;
STAA flag ;
LDAA 0,Y
INY
INCB
STAA PTT
CMPB #16
BNE Filas
LDY #matriz
LDX #ai
LDAB #0
JMP Filas


Colum:
BSET TOF, %10000000
BSET TSCR2, %10000101; prescaler y toi
BSET TSCR1, %10000000; TEN
CLI
C1: LDAA flag ; miramos el flag para ver si
CMPA #1 ; ha pasado el tiempo que queremos esperar
BNE C1 ;
LDAA #0 ;
STAA flag ;
LDAA B,Y
STAA PTT
ADDB #4
CMPB #16
BNE Colum
INY
LDAB #0
CPY #$404
BNE Colum
LDY #matriz
LDX #ai
LDAB #0
JMP Colum


RSI_timer:
BSET TOF, %10000000;
PSHA
PSHB
LDAA tickscontados
INCA
STAA tickscontados
LDAB ticksacontar
CMPB tickscontados
BNE no
LDAA #1
STAA flag
LDAA #0
STAA tickscontados
no: PULA
PULB
RTI








;**************************************************************
;* Interrupt Vectors *
;**************************************************************
ORG $FFFE
DC.W Entry ; Reset Vector
ORG $FFDE
fdb RSI_timer;
Avatar de Usuario
pablo_oso
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 3358
Registrado: Jue Ago 21, 2008 12:34 pm
Ubicación: Barcelona

Notapor pablo_oso » Lun Mar 30, 2009 0:56 am

Bueno este el codigo.... no consigo hacer funcionar la maldita interrupcion del timer....

Se trata k el timer cuando una vuelta de reloj 16Mhz con preescaler a 64 produzca uan interrupcion y active una señal....

Pero nos oy capaz....
Avatar de Usuario
pablo_oso
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 3358
Registrado: Jue Ago 21, 2008 12:34 pm
Ubicación: Barcelona

Volver a Otras Historias...

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados

cron