Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

10/08/2011 #1

Avatar de DanNeil

Encendido de led con HC908JL3E de Motorola
Buenas noches foristas,

Estoy aprendiendo a programar en ASM y bueno, tengo nociones básicas con el MPLAB de Microchip y como editar un ASM con pics y aplicaciones sencillas hasta ahora, pero quiero empezar a programar el micro 68HC908JL3E que tengo por ahí con el Code Warrior y estoy copiando un ejemplo y poniendole mis comentarios, pero no me sale bien al darle Compile:

Me da un error que no he podido arreglar," Error : A1056:End of line expected/ se espera final de la linea" y es en las línea que dicen:

"BRSET PTDD_PTDD0, PTDD LedOn ",
"LedOn:",
"BCLR PTDDD,PTDDD0, PTDDD",
y "BSET PTDDD,PTDDD4, PTDDD"

************************************************** ********************

Include derivative-specific definitions
INCLUDE 'derivative.inc'

; Haremos encender un led según se encienda un pulsador
; export symbols
;
XDEF _Startup
ABSENTRY _Startup

;
; variable/data section
;
ORG Z_RAMStart

; Insert your data definition here

ExampleVar: DS.B 1

;
; code section
;
ORG ROMStart

; Include device initialization code
INCLUDE 'MCUInit.inc' ;es una directiva

_Startup:
LDHX #RAMEnd+1 ; Inicia el puntero de pila
TXS
LDA #$20
STA SOPT1 ;Deshabilitar Watchdog
;Call generated Device Initialization function
JSR PortInit ;salta a subrutina de puertos

mainLoop:
; Insert your code here
BRSET PTDD_PTDD0, PTDD LedOn
LedOff: BCLR PTDD_PTDD4, PTDD
BRA mainLoop
LedOn: BSET PTDD,PTDD4, PTDD ; "Error: se espera que la línea acabe"
BRA mainLoop

;************************************************* ********************
;* PortInit- Subrtuina que inicializa los puertos *
;************************************************* ********************

PortInit: MOV #0,PTDD
BCLR PTDDD,PTDDD0, PTDDD ;PTDDD0 es entrada, el switch. ; "el mismo error"
BSET PTDDD,PTDDD4, PTDDD ;PTDDD4 es salida, el led. ; "el mismo error"
RTS ;Retorna de esta subrutina

;************************************************* ********************
;*spurious- Rutina de servicio ala interrupción *
;* Interrupción no deseada :( *
;************************************************* ********************
spurious: NOP ;Ubicado aquí para que el valor de
RTI ;seguridad no cambie cada vez


;************************************************* ********************
;* Interrupt vectors *
;************************************************* ********************

ORG $FFFA
DC.W spurious ;
DC.W spurious ;switch
DC.W _Startup ;Reset

Lo copié tal cual en todo caso y no creo que haya problemas de sintáxis.
Por favor, si alguno de ustedes me puede aconsejar un sitio web para aprender de los HC908, se los agradezco, la verdad es que voy poco a poco con la hoja del fabricante y otros que hay en internet, pero necesito validar con códigos y ver sus propiedades, modos de direccionamiento, etc. Eso hace a preciar la facilidad de los PIC de gamas básicas, jajajaj. En todo caso es un gusto descubrir.

Gracias por su ayuda, claro seguiré el consejo ese de ver el manual de usuario, pero simepre es agradable contar con algo más .
11/08/2011 #2
Moderador

Avatar de Chico3001

No faltaran los ; al final de cada linea?
11/08/2011 #3

Avatar de DanNeil

Mira, estaba haciendo eso ayer y si lo intuí pero no me dió resultado y hoy que lo apliqué de nuevo a todas las líneas(a sugerencia tuya) , pero todas las líneas problemáticas se mantienen y no sucede nada, ahora es que no tengo una referencia mejor de algún documento de "Cómo editar un asm en CodeWarrior, el inicio , las directivas, que me toca apgar el WDT,que me fije en el banco 0 para hacer posible el direccionamiento directo, etc, es decir sólo creo que debo en substancia, manipular un puerto, una salida PTXX=1, una entrada PTXX=0 y manipular el bit de la salida con esa instrucciones de BCLR, BSET y BRA (la bifurcación)
pero, ya ves, esos son mis errores, jajaa.
07/09/2011 #4


hola, tú problema es que estas usando PTXX y el code warior utiliza PTX, tú código podes hacer assi:
BRSET 0, PTD LedOn
LedOff: BCLR 4, PTD
BRA mainLoop
LedOn: BSET 4,PTD
BRA mainLoop

Espero que se entienda. Un saludo.
14/09/2011 #5


no veo que los registros de habilitacion de salida para encender tu led los estes habilitando en este caso seria el registro DDRD el cual se habilita para configurar los pines veo que siguen configurados como entradas en tu programa
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.