TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado 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
;=======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!!
-
Hay algo raro con ese formato...aparecen simbolos raros, y faltan muchos espacios...
Adjunta el archivo asi podemos analizarlo.
Saludos.
-
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
-
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 :-/
-
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
-
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.
-
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
-
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