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

Temas similares

25/08/2006 #1


Ensamblar archivo en codigo
Un saludo al Foros!
Tengo un problema al Ensamblar este programa con MPASMWIN donde me dice que no excede de 62 Caracteres y necesito ayudas de Usted es aqui los Datos


;Asm file for pic16c84 or 16f84 running at 1MHz
;12 inputs for switches (resistor to ground, switch to +5v)
;dmx output on channels 1 to 12, off or full on (FFh)
; port A0 is DMX output, connect to sn75176 dmx driver
list p=16f84a,f=inhx8m
#include <p16f84a.INC>

ch1 equ 0x10
ch2 equ 0x11
ch3 equ 0x12
ch4 equ 0x13
ch5 equ 0x14
ch6 equ 0x15
ch7 equ 0x16
ch8 equ 0x17
ch9 equ 0x18
ch10 equ 0x19
ch11 equ 0x1A
ch12 equ 0x1B
org 0x00
goto start
org 0x05
start bsf STATUS,RP0
movlw 0xFF ; port b input
movwf TRISB
movlw 0xFE ; portA0 output, other bits input
movwf TRISA
movlw b'11010000'
movwf OPTION_REG
movlw b'00100000' ; don't allow interrupt
movwf INTCON
bcf STATUS,RP0
begin movlw 0x00
movwf ch1
movwf ch2
movwf ch3
movwf ch4
movwf ch5
movwf ch6
movwf ch7
movwf ch8
movwf ch9
movwf ch10
movwf ch11
movwf ch12
movlw 0xff
btfsc PORTB,0
movwf ch1
btfsc PORTB,1
movwf ch2
btfsc PORTB,2
movwf ch3
btfsc PORTB,3
movwf ch4
btfsc PORTB,4
movwf ch5
btfsc PORTB,5
movwf ch6
btfsc PORTB,6
movwf ch7
btfsc PORTB,7
movwf ch8
btfsc PORTA,1
movwf ch9
btfsc PORTA,2
movwf ch10
btfsc PORTA,3
movwf ch11
btfsc PORTA,4
movwf ch12
dmxout bsf PORTA,0
bsf PORTA,0
bcf PORTA,0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
bsf PORTA,0
bsf PORTA,0
bcf PORTA,0 ;startbit
nop ;begin startcode
nop
nop
nop
nop
nop
nop
nop
bsf PORTA,0 ;stopbits
bsf PORTA,0
bsf PORTA,0
movlw 0x10
movwf FSR
chanel movf INDF,w
bcf PORTA,0
movwf PORTA
nop
nop
nop
nop
nop
nop
nop
bsf PORTA,0
bsf PORTA,0
bsf PORTA,0
bcf STATUS,2
clrwdt
incf FSR
movf FSR,w
xorlw 0x1C
btfss STATUS,2
goto chanel
goto begin
end


Corriejamen si me equivoque
Muchas gracias
26/08/2006 #2

Avatar de EinSoldiatGott

Creo que su cabezera estaba mal, yo lo compilé así y salió perfecto.

Código:
LIST			P=16F84A
#include 		<p16F84A.inc>
__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
RADIX			HEX

ch1 equ 0x10 
ch2 equ 0x11 
ch3 equ 0x12 
ch4 equ 0x13 
ch5 equ 0x14 
ch6 equ 0x15 
ch7 equ 0x16 
ch8 equ 0x17 
ch9 equ 0x18 
ch10 equ 0x19 
ch11 equ 0x1A 
ch12 equ 0x1B 
org 0x00 
goto start 
org 0x05 
start bsf STATUS,RP0 
movlw 0xFF ; port b input 
movwf TRISB 
movlw 0xFE ; portA0 output, other bits input 
movwf TRISA 
movlw b'11010000' 
movwf OPTION_REG 
movlw b'00100000' ; don't allow interrupt 
movwf INTCON 
bcf STATUS,RP0 
begin movlw 0x00 
movwf ch1 
movwf ch2 
movwf ch3 
movwf ch4 
movwf ch5 
movwf ch6 
movwf ch7 
movwf ch8 
movwf ch9 
movwf ch10 
movwf ch11 
movwf ch12 
movlw 0xff 
btfsc PORTB,0 
movwf ch1 
btfsc PORTB,1 
movwf ch2 
btfsc PORTB,2 
movwf ch3 
btfsc PORTB,3 
movwf ch4 
btfsc PORTB,4 
movwf ch5 
btfsc PORTB,5 
movwf ch6 
btfsc PORTB,6 
movwf ch7 
btfsc PORTB,7 
movwf ch8 
btfsc PORTA,1 
movwf ch9 
btfsc PORTA,2 
movwf ch10 
btfsc PORTA,3 
movwf ch11 
btfsc PORTA,4 
movwf ch12 
dmxout bsf PORTA,0 
bsf PORTA,0 
bcf PORTA,0 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
bsf PORTA,0 
bsf PORTA,0 
bcf PORTA,0 ;startbit 
nop ;begin startcode 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
bsf PORTA,0 ;stopbits 
bsf PORTA,0 
bsf PORTA,0 
movlw 0x10 
movwf FSR 
chanel movf INDF,w 
bcf PORTA,0 
movwf PORTA 
nop 
nop 
nop 
nop 
nop 
nop 
nop 
bsf PORTA,0 
bsf PORTA,0 
bsf PORTA,0 
bcf STATUS,2 
clrwdt 
incf FSR 
movf FSR,w 
xorlw 0x1C 
btfss STATUS,2 
goto chanel 
goto begin 
end
Si continúa apareciendo error, vayase a "select device" y seleccione el pic16f84a.

Un comentario más, su manera de hacer retardos, es poco práctica , trate de usar ciclos.

Además moveré este tema a micros.
Saludos
27/08/2006 #3


Emsablar archivo en codigo
Hola EinSoldiatGott un gran saludo y muchas gracias por su rapida respuesta, Quizas usted me puede ayudar,bien yo hice los cambio que usted me dijo siendo asi no consigo generar el codigo y para que usted tenga ideas de mi projecto, se trata de unos pulsadores para activar 12 canales en un modulo DMX512 aqui tiene usted el link de la pagina http://users.skynet.be/kristofnys/ siendo asi esta el codigo pero con otros pic,como usted comprendera soy nuevos en estos de programacion.solo soy electronico.
y me deseo hacer para controlar a larga distancia 12 DMX Relais en mi casa de una tengo mucha opciones para usar,via cat5 cable,camble de telefono,seria muy interesante,ya que yo solo veo todas la Redes Circuito que se controla con una PC pero con control manual no encuentros nadas yCuestion es usar solo 3 Cable,donde son data IN data OUT y GND, en fin espero que ustede me puede ayudar en mi Hobbie y asi yo poder experimentar, tengo varias Targeta de programacion con Microchip o Atmel.este proyecto lo quiero hacer publico en este Foro y poner todas las informaciónes de Colabolaraciones,espero que usted sea uno de ellos. Muchas gracias
Atte Rafael
27/08/2006 #4

Avatar de EinSoldiatGott

Re: Emsablar archivo en codigo
domrafael dijo:
Hola EinSoldiatGott un gran saludo y muchas gracias por su rapida respuesta, Quizas usted me puede ayudar,bien yo hice los cambio que usted me dijo siendo asi no consigo generar el codigo y para que usted tenga ideas de mi projecto, se trata de unos pulsadores para activar 12 canales en un modulo DMX512 aqui tiene usted el link de la pagina http://users.skynet.be/kristofnys/ siendo asi esta el codigo pero con otros pic,como usted comprendera soy nuevos en estos de programacion.solo soy electronico.
y me deseo hacer para controlar a larga distancia 12 DMX Relais en mi casa de una tengo mucha opciones para usar,via cat5 cable,camble de telefono,seria muy interesante,ya que yo solo veo todas la Redes Circuito que se controla con una PC pero con control manual no encuentros nadas yCuestion es usar solo 3 Cable,donde son data IN data OUT y GND, en fin espero que ustede me puede ayudar en mi Hobbie y asi yo poder experimentar, tengo varias Targeta de programacion con Microchip o Atmel.este proyecto lo quiero hacer publico en este Foro y poner todas las informaciónes de Colabolaraciones,espero que usted sea uno de ellos. Muchas gracias
Atte Rafael
Jeje, quiere decir que con este proyecto puede llamar por teléfono a su casa y darle instrucciones al PC? para controlar relés? o como va exáctamente .


Veo un detalle, en el intro dicen que es para un 16f84, pero ya en el ASM es un 16C84, pero ese no lo encuentro en la lista de devices del MPLAB IDE, como le hacemos??? sabe cuál podemos poner???

Y yo también espero poder ayudarle y aprender pues a me agrada mucho esto de trabajar con los puertos del PC


Saludos
27/08/2006 #5


hola
para usar por telefono no! sino usar las linea que sobra de los cable ya que son diverso
pero es solo para controlar senales DMX512 quiza usted entro en el link que le puse, pues con las Senales DMX512 es un protocologo standard que se compone de 2 parte Send y Receive senales puede controlar muchas cosas, claro tambien desde una pc o una mesa de luces con DMX512 controla DIMMER,Movie Licht, etc la senales pueden ser analoga o digital, como usted dice, pero el 16c84 tiene la misma caracteristica que el 16f84, con los puertos del pc es muy facil siempre z cuando encuentre el Software apropiados para la aplicacion, aqui te envio otro link que es muz interesaante y estoy en eso con un Multiplexe de analago a digital http://www.qsl.net/n5tle/
este es muy interasante si tiene problema en los Electronico Aviseme que yo le ayudo, eso es los mio. pero deseo montar ese proyecto de los pulsadores para publicar mi idea con este ultimo asi puede ser mas interesante donde se pueden controlar a travez de una pc o un contro manual la luces de tu casa o una Fiesta Particular, los de los Dimmer analogo es muy facil y pasar a digital tambien solo que yo estoy aprendiendo a programar poco a poco.
Espere te guste la idea
Atte Rafael
27/08/2006 #6

Avatar de EinSoldiatGott

Orale, ese protocolo no lo conosco .

Pero entonces en lo que nos esta pidiendo ayuda es en lo del programa, cierto?

Si dice que el 16f84 es igual al c84 lo cuál me parece muy extraño, entonces el código tal como se lo pasé antes funciona perfecto y ahí si estoy usando el 16f84, ya seleccionó el DEVICE en el MPLAB?

O de lo contrario, vi en el link que brindan el ASM y el HEX, si decide puede simplemente cargar el pic con el hex.



Saludos
28/08/2006 #7


Hola. Queisiera saber si el error aparece al ensamblar el programa.
Si el error menciona a un maximo de caracteres puede referirce a la ruta donde esta guardado el programa, no al código. Mire si usted tiene el programa guardado en muchas subcarpetas. Si es así, debe guardar el programa en un directorio superior, le sugiero que lo guarde directamente en C:\ para que no tenga esos problema.
30/08/2006 #8


Muchas gracias!
ese era uno de los problema, pero tengo problema con el ICprog para quemar el Codigo, eetoz en eso,hasta pronto seguiere dando detalles porque hay mas cosas interesante y ideas,
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.