TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: Axel_18 en 19 de Septiembre de 2006, 22:25:09

Título: problema con codigo
Publicado por: Axel_18 en 19 de Septiembre de 2006, 22:25:09
holA A  todos,,,


estuve viendo un programa en Assembler, lo agrege al  microcode estudio como ASM pero al compilarlo me dice que el progrma tiene errores (el ASM).. :? :? el autor decia que funcionaba perfecto

Código: [Seleccionar]
;=======LCD_Nokia nse1,nse3,nsm1 / Version 1.0====================21/12/02==
;     cod LPH7366-1, LPH7779, LPH7677 / driver PCD8544
;     rb6,rb7     sclock,sdata
;     ra0,ra1,ra2,ra3 d/C,Reset,Vccmd,SCE
;     internal clock
;     standard crystal 4.000 MHz XT - 1us pe instructiune/pe aproape
;     Program realizat de Ing. Bergthaller Iulian-Alexandru
;------------------------------------------------------------
list p=16f84A;f=inhx8m
_CP_OFF equ H'3FFF'       ;code protect off
_PWRTE_ON equ H'3FFF' ;Power on timer on
_WDT_OFF equ H'3FFB' ;watch dog timer off
_XT_OSC equ H'3FFD' ;crystal oscillator
__CONFIG       _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
;------------------------------------------------------------
;      cpu init
porta       equ 05
portb       equ 06
count1 equ 0C
count2 equ 0D
count3 equ 0E
afisaj equ 0F
#DEFINE sclk portb,6
#DEFINE sdta portb,7
#DEFINE dorc porta,0
#DEFINE rset porta,1
#DEFINE tens porta,2
#DEFINE enab porta,3
;------------------------------------------------------------
org 0
;
;------------------------------------------------------------
init   
movlw   0
tris    portb ; set portb as output
      movwf   portb ; all ouput low
movlw   0
tris    porta ; set portb as output
      movwf   porta ; all ouput low
start call pause
bsf dorc
bsf enab
bsf tens ;activare tensiune
call lcres ;resetare cca. 250ms
movlw 21H ;set extins
movwf afisaj
call lccmd
movlw .197 ;Vop
movwf afisaj
call lccmd
movlw 13H ;bias
movwf afisaj
call lccmd
movlw 20H ;afisare orizontala
movwf afisaj
call lccmd
movlw 09H ;mod control all on
movwf afisaj
call cbild ;resetare DDRAM
call lccmd
call pause
movlw 08H ;mod control blank
movwf afisaj
call lccmd
call pause
movlw 0CH ;mod control normal
movwf afisaj
call lccmd
movlw 40H ;x ini
movwf afisaj
call lccmd
movlw 80H ;y ini
movwf afisaj
call lccmd
adata movlw 1FH ;date
movwf afisaj
call lcdta
movlw 05H ;date
movwf afisaj
call lcdta
movlw 07H ;date
movwf afisaj
call lcdta
goto adata
lcdta bsf dorc
bcf enab ;activare chip si start date
call varsa
bsf enab
retlw 00
lccmd bcf dorc
bcf enab ;activare chip si start date
call varsa
bsf enab
retlw 00
lcres bcf rset ;resetare
call pause
bsf rset ;dezactivare reset
retlw 00
varsa bcf sclk
btfsc afisaj,7 ;bit0(MSB)
bsf sdta
btfss afisaj,7
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,6 ;bit1
bsf sdta
btfss afisaj,6
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,5 ;bit2
bsf sdta
btfss afisaj,5
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,4 ;bit3
bsf sdta
btfss afisaj,4
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,3 ;bit4
bsf sdta
btfss afisaj,3
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,2 ;bit5
bsf sdta
btfss afisaj,2
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,1 ;bit6
bsf sdta
btfss afisaj,1
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
btfsc afisaj,0 ;bit7(LSB)
bsf sdta
btfss afisaj,0
bcf sdta
call halta
bsf sclk
call halta
bcf sclk
retlw 00
cbild bcf sdta
movlw   .6
movwf   count3
c3 movlw   .84
movwf   count1
c1 movlw   .8 
movwf   count2
bsf dorc
bcf enab
c2 bcf sclk
nop
nop
bsf sclk
decfsz  count2
goto c2
bsf enab
decfsz  count1
goto c1
decfsz  count3   
goto  c3         
retlw 00
pause movlw   .7
movwf   count3
d3 movlw   .50
movwf   count1
d1 movlw   .250  
movwf   count2
d2 decfsz  count2
goto d2
decfsz  count1
goto d1
decfsz  count3   
goto  d3         
retlw 00
halta movlw   20H
movwf   count1
g1 movlw   40H
movwf   count2
g2 decfsz  count2
goto g2
decfsz  count1
goto g1
retlw 00
;------------------------------------------------------------
end
;============================================================


alguien ve algun problema???


saludos!!
Título: Re: problema con codigo
Publicado por: BrunoF en 19 de Septiembre de 2006, 22:35:21
Hay algo raro con ese formato...aparecen simbolos raros, y faltan muchos espacios...
Adjunta el archivo asi podemos analizarlo.
Saludos.
Título: Re: problema con codigo
Publicado por: maunix en 20 de Septiembre de 2006, 08:14:37
estuve viendo un programa en Assembler, lo agrege al  microcode estudio como ASM pero al compilarlo me dice que el progrma tiene errores (el ASM).. :? :? el autor decia que funcionaba perfecto

alguien ve algun problema???

Hola, en mi humilde opinión yo no veo ningún símbolo raro pero tampoco veo que nos hayas indicado "qué error te da al ensamblarlo".

¿Puedes pegar el error que te da?

El error pudiera ser de ensamblado o bien del linker, o del IDE que no encuentra al programa ensamblador (MPASM), etc.

Saludos
Título: Re: problema con codigo
Publicado por: micro_cadaver en 21 de Octubre de 2006, 13:35:10
hola a todos, no basta con q no se aprecie un simbolo raro, algunas veces cuando bajas esos archivos .asm, el explorer parece q lo identifica y lo guarda como un archivo de texto sin formato, me ha sucedido varias veces, yo bajaba el programa .asm lo abria en el mplab y salia error, cuando todo estaaba correcto porq era un programa q lo habia compilado en otro lugar, lo q hago cuando bajo archivos es copiar el texto o mejor dicho el programa, luego lo pego en un block de notas y ahi corrigo algun error de espacios o simbolo, luego recien lo copio dentro de una ventana dentro del mplab, ojala te ayude en tu dilema  :-/
Título: Re: problema con codigo
Publicado por: PalitroqueZ en 21 de Octubre de 2006, 13:44:17
Generalmente cuando en un código aparecen esos simbolos extraños, es indicativo que fué editado y guardado ya sea en word ó en wordpad, o con algún procesador de textos con opción a cambiar el formato de texto. prueba con esos dos.

Salu2
Título: Re: problema con codigo
Publicado por: maunix en 21 de Octubre de 2006, 14:31:19
Lo ideal, incluso para enviar archivos por mail no es envíar el .asm o en texto plano, sino comprimirlo con algun programa que permita chequear CRC y que además no modifique el original.

Ej, formato zip, rar, 7z, lha, etc.

Título: Re: problema con codigo
Publicado por: Veguepic en 22 de Octubre de 2006, 01:00:00
Hola Axel:

Pues no veo porque no lo compilas con MPLAB? como un archivo ASM.

Pues asi como esta pegado si le veo signos raros (cuadraditos) y se pegan ciertas palabras (por ejemplo calllccmd), que a la hora de copiarlo en el editor de MPLAB estos desaparecen.

El programa MPLAB lo consigues gratis en la pagina web de Microchip.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002

Suerte
Título: Re: problema con codigo
Publicado por: navaismo en 22 de Octubre de 2006, 21:39:35
Hola axel18 veo que encontraste otra libreria para el nokia, tu post que creaste sobre el tema en el subforo de PBP ya fue resuelto y hasta probado por el amigo Veguepic, porque no te das una vuelta