Domingo 22 de Diciembre de 2024, 02:19
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Específica
»
Microcontroladores
(Moderador:
© Jonathan ©
) »
Evaluacion De La Idea De Mi Proyecto
« anterior
próximo »
Imprimir
Páginas:
1
[
2
]
3
Autor
Tema: Evaluacion De La Idea De Mi Proyecto (Leído 18763 veces)
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #25 en:
Miércoles 14 de Enero de 2004, 20:25 »
0
digamos que el LCD lo escribiria asi
primero de Y0,X7 hasta Y0,X83, Y1,X7 hasta Y1,X83...... Y5,X7 hasta Y5,X83, despues desde Y0,X0 hasta Y0,X6,Y1,X0 hasta Y1,X6,..........Y5,X0 hasta Y5,X6.
El metodo que planteo mas adelante permite enviar al LCD 7 lineas de texto, y aun me queda pensar como hacer para escribir en el LCD una barra(como un pequeño menu al borde de la pantalla)con 6 botones que apareceria en la posicio Y0,X0 hasta Y0,X6,Y1,X0 hasta Y1,X6,..........Y5,X0 hasta Y5,X6.
En la memoria RAM 4 bancos. Dos consecutivos de 38 (R1H y R2H)bytes y otros dos consecutivos de 39 bytes(R1L y R2L).
Primero generamos el texto que queremos mostrar en esos dos bancos leyendolo de la EEPROM.
Ponemos el LCD en la direccion Y0,X7.
Segundo cogemos la direccion del primer byte del banco 1 y lo metemos en el FSR. Despues copiamos INDF al TXREG. Sumamos 38 al FSR para desplzarlo al R2H. Rotamos 1 vez a la izq y testeamos "carry", si es 1 ponemos a 1 TXREG,7. enviamos TXREG al LCD.
ahora restamos 37 al FSR, restamos 38 y comprobamos si es 0, si no volvemos al principio.......bueno,mejor lo pongo en ASM y are un dibujo mejor...
Me gustaria saber si las operaciones del INDF provocan alteraciones en STATUS REG...alguien lo sabe
La primera linea de texto no se rota, la segunda se rota x1, la tercera x 2, la cuarta x 3, la quinta x 4, la sesta x -3 y la saeptima x -2.
;Screen Generator
;LCD XYB1H
;Generar B1L en R1L
;Generar B1H en R1H
;Generar B2L en R2L
;Generar B2H en R2H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB1H
;LCD XYB1L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB1L
;LCD XYB2H
;Generar B3L en R1L
;Generar B3H en R1H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB2H
;LCD XYB2L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;got LCD XYB2L
;LCD XYB3H
;Generar B4L en R2L
;Generar B4H en R2H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB2H
;LCD XYB3L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;got LCD XYB2L
;LCD XYB4H
;Generar B5L en R1L
;Generar B5H en R1H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,4
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB2H
;LCD XYB4L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,4
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RRF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;got LCD XYB2L
;LCD XYB5H
;Generar B6L en R2L
;Generar B6H en R2H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB2H
;LCD XYB5L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,5
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;got LCD XYB2L
;LCD XYB6H
;Generar B3L en R1L
;Generar B3H en R1H
;set LCD ADDR
;mov RlADDR to FSR
;mov indf to TXREG
;ADD 38 to FSR
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;goto LCD XYB2H
;LCD XYB6L
;mov R2ADDR to FSR
;mov indf to TXREG
;ADD 39 to FSR
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,6
;RLF INDF,f ;esto funcionaria?
;BTFSS STATUS,c ;esto funcionaria?
;BSF TXREG,7
;SEND TO LCD
;SUB 37 to FSR
;sub 38 to FSR,w ;!!!el resultado en W
;btfss STATUS,0
;got LCD XYB6L
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #26 en:
Domingo 18 de Enero de 2004, 23:03 »
0
LCDXYB1L
movlw 100
movwf FSR,F
movwf INDF,w
movwf TXREG,f
movlw 39
addwf FSR,w
rrf INDF,f
bsf TXREG,7
btfss STATUS,c
bcf TXREG,7
movlw 37
subwf FSR,f ;(FSR-37=FSR)
subwf FSR,w ;(FSR-38=w)
btfss STATUS,z
goto LCDXYB1L
END
Me gustaria saber como conseguir las operaciones de FSR-38=w con los minimos ciclos posibles. con la instruccion subwf FSR,w ,lo que hago es restar el valor de FSR a 38, y lo que pretendo es restar 38 al valor de FSR. si despues de jecutar subwf FSR,w, ejecuto la intruccion de complement rega,w y en rega hay un valor de 0? o despues de subwf FSR,w le sumo 128 a w?
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #27 en:
Lunes 19 de Enero de 2004, 20:24 »
0
diagrama de flujo general del Acc. Interpreter
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #28 en:
Jueves 5 de Febrero de 2004, 20:25 »
0
Las rutinas basicas:
1 LEDs controller:
Utiliza de 4 a 8 registros de la RAM. Se ejecuta cada x segundos por una interrupcion de TMRx.
2 Acc reader:
Utiliza 4 a 10 registros de la RAM
Se ocupa de leer datos analogicos de AccX y AccY
3 Acc interpreter:
Utiliza de 10 a 20 registros de la RAM
se ocupa interpretar los datos leidos por el Acc reader
4Cursor mov.:
se ocupa de variar la posicion del cursor en funcion de Acc interpreter
5 EEPROM R/W
se ocupa de acceder a la EEPROM externa para escribirla o leerla
6Menu pointer
Se ocupa de marcar que menu se muestra en primera inea de pantalla, que menu esta seleccionado
7Screen Gen
Se ocupa de decodificar los caracteres de cada menu, de pintar el cursor en el lugar adecuado y de invertir el menu seleccionado.
8LCD config
Se ocupa de configurar el LCD y de enviarle DATOS
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #29 en:
Martes 10 de Febrero de 2004, 16:21 »
0
Yo no se mucho de pics, pero soy capaz de integrarlo en un "reloj" de pulsera con el display del telefono movil y hacer un boligrafo que aparte de escribir tenga pulsadores para controlar el reloj por infrarrojos. Eso si, el diseño tiene que ser un pic 16F877 + Eeprom 24LC64 (igualito que el 16F876 en funcionamiento) o un 16F84 + 24LC16B. Aparte estaria bien que el programa diese la hora para disimular... XDDD
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #30 en:
Martes 10 de Febrero de 2004, 20:48 »
0
No es mala idea, pero tendriamos que dejar de lado lo del acelerometro y las memorias para mayor capacidad... haber que opina mi amigo, la idea es muy buena, aparte nadie se lo imaginaria, pero tambien me gusta la idea de manejarse sobre el menu con unos movimientos... Ahh Averigue sobre la capacidad de la pila, es de 8 niveles y no hay manera de sobrepasarlos ni crear algo similar, no se puede usar la RAM para nada y lamentablemente deberemos de cambiar de micro, estuve averiguando y el que nos serviria es cualquiera de la serie 18Fxxx, lamentablemente son los unicos que tienen mas capacidad en la pila, lo malo es que disponen de 95 o algo asi de instrucciones, por lo que recomendaria que nos ocupemos y manipulemos con un micro de motorola ya que la diferencia es muy poca y la eficiencia del motorola es maxima. Saludos y suerte
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #31 en:
Martes 10 de Febrero de 2004, 20:50 »
0
si, las primeras versiones de mi proyecto funcionaban con un boli con pulsadores que transmitia las señales por medio de infrarrojos, pero luego conoci los acelerometros y me gusto incluirlos de alguna manera en el diseño. Una delas formas que mas me han gstado para disimular el aparato es quitarle al LCD una de las laminas de plastico que llevan en la parte superior. Solo quien mire a traves de esta lamina podra distinguir entre un pixel pintado yuno sin pintar,de tal manera que mientras los demas ven el LCD en blanco, tu puedes estar leyendolo a traves de unas gafas con esa laminita.
xq dices que puedes hacer esto con esas configuraciones de PIC unicamente? es xq estas pensando en usar chips de estos que se usan xa targetas de pirateria? no me lo he planteado, pero desde luego se puede conseguir un gran ahorro de espacio...aunqe quizas se quede corto en cuanto I/O...
en fin, agradezco enormemente tu interes y espero leer mas post que no sean mios...ejejej
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #32 en:
Miércoles 11 de Febrero de 2004, 15:04 »
0
Si, efectivamente es devido a la gran integracion del chip en esas tarjetas. Tambien se puede con otro tipo de micros (
www.todotarjetas.com
en la seccion de tarjetas de plastico) pero ya no son pic y no tengo ni idea!!. Lo del accelerometro se podria sustituir por un pulsador que haga correr el texto mientras esta pulsadoa una velocidad suficiente como para copiar a mano lo que aparece en pantalla. Lo de la laminita de plastico es muy buena idea!! tambien habria que incluir un jack mini en el reloj que sirva de puerto de comunicaciones PC para poder introducir los datos desde el programador, pero eso no es problema. Por cierto, recuerdo algo de una rutina para no tener que hacer circuitos antirebote en cada pulsador, eso vendria muy bien para no tener que fabricar antirebotes en cada pulsador del boligrafo-transmisor.
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #33 en:
Miércoles 11 de Febrero de 2004, 15:26 »
0
de momento estamos limitados al tamaño de la pantalla, que es de 34x40mm, el PCB tiene el mismo tamaño, y las baterias para una autonomia de 10-15 horas de uso miden lo mismo. El tamaño total del circuito con baterias es de 34x40x12mm con baterias y todo. Si queremos usarlo de relog basta con ponerle una correa...
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #34 en:
Miércoles 11 de Febrero de 2004, 21:51 »
0
Si, pero estar constantemente manipulando el accelerometro... puede ser muy descarado, por no hablar de las pilas y los cables que colgarian o podrian verse. Existen unas pilas pequeñas de 6v, son como la mitad de una pila de mando a distancia, yo las he tenido y me imagino que en un bazar puedan conseguirse. Tambien supongo que habra otras pilas similares de otros tamaños/voltajes. Tengo un nokia 5110 pero no puedo destriparlo porque es de mi padre, tambien tengo un maxon mx-6869 destripado, el display esta bastante chulo pero no tengo ni idea de las conexiones, me imagino que sera mas complejo que un display sencillo asi que hare pruebas a ver que consigo.
© Jonathan ©
Moderador
Mensajes: 1671
Nacionalidad:
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #35 en:
Miércoles 11 de Febrero de 2004, 22:35 »
0
Es sierto lo que dice pagaxus sobre el acelerometro, la idea del infrarrojo esta muy buena, al mover el brazo a cada rato levantarias sospechas... quedarias como un loco, en cambio con una birome eso no seria problema, ya que es lo que menos sospecharian, ni siquiera mirarian a donde estas... pensando un poco me convence mas la birome, que piensas tu amigo???. Saludos
EINSTEC Tecnología
«La única fuente del conocimiento es la experiencia.»
«Lo importante es no dejar de hacerse preguntas.»
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #36 en:
Jueves 12 de Febrero de 2004, 18:20 »
0
el aparatito utilizaria si no recuerdo mal 12 pilitas de boton de 9mm radio y 3 de alto cada una con una capacidad de unos 35mAh. Estube calculando y con 12 baterias de estas dimensiones pero de nimh se obtendria una capacidad de 60mAh. Las pilas van detras del dispositivo, pegadas a el, recuerda que 34x40x12mm... bueno, los movimientos para manejar el aparatito no necesariamente tienen xq ser unos movimientos exagerados supongo que simplemente moviendo los dos dedos cn los que sujetamos el aparato bastaria, pero esta claro que pulsar botones en un boli es mas disimulado...en fin, d mmnto seguire cn este sistema.
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #37 en:
Domingo 15 de Febrero de 2004, 13:52 »
0
¿La primera imagen que pones en el post corresponde al controlador del display? esta muy muy currado, no creo que yo pueda conseguir hacer un pcb tan preciso.
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #38 en:
Domingo 15 de Febrero de 2004, 14:17 »
0
Es todo el aparato. No es dificil si le heaces sin prisas. De todas maneras siempre necesito varios intentos xa conseguir unas placas decentes...lo mas importante es tener unas transparencias buenas. Yo imprimo el dibujo en un folio ampliado 2 veces, y lo llevo a una copisteria pido que me lo fotocopien sobre una transparencia reducido al 50%. El resto del proceso ya lo conoceras...
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #39 en:
Lunes 16 de Febrero de 2004, 15:26 »
0
El controlador le has hecho con algun esquema de internet? estoy acostumbrado al los LCD de 16x2 de caracteres y una pantalla de movil no se como funcionara. Aqui tengo un standar pero preferiria algo ya integrado.
http://home.iae.nl/users/pouweha/lcd/lcd_examp.shtml
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #40 en:
Jueves 19 de Febrero de 2004, 21:51 »
0
mmmm, nuevas subrutinas.
la memoria EEPROM externa lleva un banco con todos los caracteres en ASCII dijujados de tal manera que una l (en ASCII 81hex)seira:
81x5=285h
285$ 11111111
286$ 00000000
287$ 00000000
288$ 00000000
289$ 00000000
280$ 00000000
un total de 256 caracteres x 5bytes = 1280Bytes. (direcicon 500h)
De esta manera, leyendo un byte con un caracter en ASCII y multiplicandolo x 5 direccionamos rapidamente hasta las posiciones de memoria de la EEPROM que contienen el "dibujo" del caracter.
En las siguientes direcciones a partir de la 500h se encuentra toda la informacion de MENUS, con su NUMERO de MENU, MENU PC OK, MENU PC CANCEL, MENU NOMBRE, MENU CONTENIDOS.
A Menu Numero AB Menu PCOK BC Menu PCCANCEL CD Menu Nombre DE Menu Contenidos E
A: indica que los datos hasta nueva A van a indicar el Menu Numero
B: indica que los datos hasta nueva B van a indicar el Menu PCOK
idem con la C,D y E.
El Menu Numero tiene un tamaño fijo de 3 bytes
El Menu PCOK tiene un tamaño fijo de 2 bytes
El Menu PCCANCEL tiene un tamaño fijo de 2 bytes
El Menu Nombre puede cualquier tamaño
El Menu Contenidos puede cualquier tamaño
El Menu Numero esta estructurado en 6 datos de 4 bits que pueden ir del 0 al 11 lo que da un maximo de 14000 menus distintos(aunque no cabrian en la EEPROM)
El Menu PCOK son dos bytes con la direccion que habria que introducir en el program counter del micro si el usuraio hace un movimiento de OK y el cursor esta sobre ese menu)
El Menu PCCANCEL son dos bytes con la direccion que habria que introducir en el program counter del micro si el usuraio hace un movimiento de CANCEL y el cursor esta sobre ese menu)
El Menu Nombre son los caracteres que se muestran cuando un menu esta cerrado
El Menu contents son los caracteres que se muestran cuando un menu esta abierto
Cuando el dispositivo arranca va a la direccion de EEPROM 501h y busca A
INC EEADDR (la direccion EEPROM a leer)
mobemos los 3 bytes del Menu numbre a la RAM en Actual Menu y buscamos de nuevo A.
ahora buescamos la siguiente B
almacenamos en la RAM en ACTUAL Menu PCOK, con la C lo mismo
y ahora buscamos D...
EEDATA=D
MOV (84-ancho de la barra) to BFERC
label 1
INC EEADDR
SAVE EEADR in CADDRP
READ EEPROM
EEDATA = D? ---SI----> desde BFERC hasta final pintar 0. IR a Mostrar
Multip`licar EEDATA x 5, resultado en EEADDR
label2
MOV BFERC to FSR
READ EEPROM
MOV EEDATA to W
W=0? --------SI-------> "caracter terminado". Pintar espacio. IR a label 1
MOV W to INDF
INCFSZ BFERC ----0----->"Linea terminada". IR a Mostrar
DECFSZ CP----0----> "caracter terminado". Pintar espacio. IR a label 1
INC EEADDR
IR a label 2
Me queda explicar como pintar un cursor en la pantalla acorde con la posicion actual en funcion de los movimientos.
Me queda explicar como invertir el color (B/W) de un menu cuando el cursor esta encima de este
Me queda explicar como se pintauna barra a la izq. de la pantalla.
Me queda explicar un nuevo metodo para crear un buffer en la RAM con una fila entera de 84 bytes con los pixels que tienen que tienen que ser pintados en el LCD.
Me queda explicar como se hace un buffer para tranformar las 7 lineas de texto que aparecen en la pantalla a 6 lineas que caben en la pantalla.
Pero para explicar estos ultimos buffers asi como el aspecto del cursor are unos dibujitos
Tambien tengo un nuevo algoritmo para transformar los 7 caracteres a 6 lineas mas rapido que el que propuse en post anteriores....
en fin, si alguien comprende todo esto que pongo y me quiere sugerir algo...
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #41 en:
Viernes 20 de Febrero de 2004, 15:55 »
0
Pues gracias por explicarte, y no, no lo entiendo aunqe me esfuerzo por ello. XDDD. Yo voy a intentar hacer la version del boli a distancia. No tengo los datos exactos pero si se como hacerlo:
Con un temporizador 555 smd, 4 pulsadores mini, 5 resistencias smd, 1 condensador smd, 1 emisor infrarrojo y una pila de 3v de camara de fotos. Cabe todo perfectamente en la mitad de un boligrafo que tenga el diametro un poco ancho. cada pulsador conectado a traves de una de las 4 resistencias al 555, todas de distinto valor para generar pulsos de distinta frecuencia. La salida del 555 al emisor infrarrojo. con la otra resistencia y condensador se hace el tiempo de descarga del 555, con lo que este tiempo es igual para los 4 pulsadores, asi que nos fijamos solo en la anchura de los distintos pulsos. En el programa habra que hacer una rutina que al recibir los pulsos infrarrojos mida la anchura del pulso(habra que hacer unas pruebas con osciloscopio para los valores de muestreo del pic) y decodifique cual de los 4 pulsadores ha sido accionado. Tanto el pic como el 555, como el display led funcionan con 2v, asi que con 3v tanto en el reloj como el boligrafo deberian tener una pila de esas de 3v o dos de boton de 1,5.
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #42 en:
Viernes 20 de Febrero de 2004, 16:22 »
0
lo dicho....
Me queda explicar un nuevo metodo para crear un buffer en la RAM con una fila entera de 84 bytes con los pixels que tienen que tienen que ser pintados en el LCD.
......Pero para explicar estos ultimos buffers asi como el aspecto del cursor are unos dibujitos
Tambien tengo un nuevo algoritmo para transformar los 7 caracteres a 6 lineas mas rapido que el que propuse en post anteriores....
...bueno, este es el dibujo...
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #43 en:
Viernes 20 de Febrero de 2004, 16:24 »
0
lo dicho....
Me queda explicar un nuevo metodo para crear un buffer en la RAM con una fila entera de 84 bytes con los pixels que tienen que tienen que ser pintados en el LCD.
......Pero para explicar estos ultimos buffers asi como el aspecto del cursor are unos dibujitos
Tambien tengo un nuevo algoritmo para transformar los 7 caracteres a 6 lineas mas rapido que el que propuse en post anteriores....
...bueno, este es el dibujo...
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #44 en:
Lunes 23 de Febrero de 2004, 00:20 »
0
Estaria bien el poder incluir graficos, asi la chuleta seria mas completa.
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #45 en:
Lunes 23 de Febrero de 2004, 10:49 »
0
sip, lo se, pero de mmnto prefiero elaborar lo que mas o menos tengo en mente. una vez todo esto este realizado, si que kiero añadirle algunas cosas(como la posibilidad de almacenar y mostrar dibujitos).
Ahm, recorede una cosa que yo pense xa mi emisor de infrarrojos en su dia. Nada mas q yo lo hice con dos botones, y cuando se pulsaba uno la frecuencia era de 1Khz. Cuando se pulsaba el otro, la frecuencia era de 2Khz. Cuando se pulsaban los 2 a la vez emitia con una nueva frcuencia de 2.7Khz.
En fin, espero que este consejo te sea de utilidad
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Pegasux
Miembro MUY activo
Mensajes: 130
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #46 en:
Viernes 27 de Febrero de 2004, 12:55 »
0
http://www.geocities.com/dinceraydin/lcd/intro.htm
En esta pagina viene explicado el funcionamiento de un display 2x16, esta bien para entender como funcionan para poder programarlos con el pic. Tambien viene un simulador. Estaria bien saber tambien las diferencias que hay con un display como el del 5110, ya que los estandar tienen 14 pines y el del 5110 solo tiene 9 creo:
http://todomodding.com/forums/showthread.php?threadid=254
aqui viene una explicacion de un display del 3310, seria interesante tener disponible toda la informacion para poder trabajar con ello mas comodamente.
Saludos.
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #47 en:
Martes 18 de Mayo de 2004, 17:24 »
0
#include <p16f88.inc>
ledRreg equ 021H
ledGreg equ 022H
ledcount equ 023H
chanelreg equ 024H
ADchanel2outC equ 025H
ADchanel3outC equ 026H
ADchanel4outC equ 027H
;050H-05FH,0D0H-0DFH Accx Buffer
;060H-06FH,0E0H-0EFH Accy Buffer
init
nop
nop
nop
nop
;BuscarFlAG, ejecutar subrutina, retfie.
btfsc INTCON,TMR0IF
goto TMR0overflow
btfsc PIR1,SSPIF
goto SSPcompleteTR
btfsc PIR1,TMR2IF
goto TMR2toPR2match
btfsc PIR1,TMR1IF
goto TMR1overflow
btfsc PIR2,EEIF
goto EEPROMwritecompleted ;Internal EEPROM
CONFIGDEV ;CONFIG DEVICE(I/O PORTS, A/D, clock, SPI, IRQs,TIMERs, WDT)
;OSCILLATOR CONFIGURATIONS INTO2 8MHZ,whit I/O on RA6,RA7
bsf STATUS,RP0
movwf B'00000000'
movwf OSCTUNE
movlw B'01110010'
movwf OSCCON
bcf STATUS,RP0
;INTERRUPTS TMR0,TMR1,TMR2,SSP
bsf STATUS,RP0
movlw B'10000010'
movwf OPTION_REG
bsf STATUS,RP0
movlw B'11100000'
movwf INTCON
movlw B'00000000'
movwf PIR1
movlw B'00000000'
movwf PIR2
bsf STATUS,RP0
movlw B'00001001'
movwf PIE1
movlw B'00010000'
movwf PIE2
bcf STATUS,RP0
;I/O PORTS
;PORTA
movlw B'00000000'
movwf PORTA
bsf STATUS,RP0
movlw B'01011100'
movwf TRISA
bcf STATUS,RP0
;PORTB
movlw B'00000000'
movwf PORTB ;PORTB7-0 outputs
bsf STATUS,RP0
movlw B'00100010'
movwf TRISB
bcf STATUS,RP0
;SSP configurado en modo SPI Master
movlw B'00000000'
movwf SSPBUF ;b7-0
movlw B'00100000'
movwf SSPCON ;b7-0
bsf STATUS,RP0
movlw B'11000000'
movwf SSPSTAT ;b7-6,1
bcf STATUS,RP0
;A/D
movlw B'00000000'
movwf ADRESH ;b7-0
movlw B'01000001'
movwf ADCON0 ;b7-2,0
bsf STATUS,RP0
movlw B'0'
movwf ADRESL ;b7-0
movlw B'11000000'
movwf ADCON1 ;b7-4
movlw B'00011100'
movwf ANSEL ;b6-0
bcf STATUS,RP0
;TIMER0 MODULE
movlw B'00000000'
movwf TMR0
;TIMER1 MODULE
;TMR1L
;TMR1H
;T1CON
;TIMER2 MODULE
;TMR2
;T2CON
;PR2
;DATA EEPROM
;WDT
bsf STATUS,RP0
movlw B'00011110'
movwf WDTCON
bcf STATUS,RP0
;CCP MODULE OFF
;USART OFF
;COMPARATOR MODULE OFF
;COMPARATOR VOLTAGE REFERENCE MODULE OFF
CONFIGREGS
movlw 050H
movwf ADchanel2outC
movlw 060H
movwf ADchanel3outC
movlw B'00000100'
movwf chanelreg
movlw B'10101010'
movwf SSPBUF
movlw B'00100000'
movwf SSPCON
ledlevel
;como cambiar LedXreg desde cada subrutina?
movlw B'10101010'
movwf ledRreg
movlw B'10000000'
movwf ledGreg
movlw 0B0H
movwf ledcount
loop ;el programa inicial despues de un ReSET un configurar el uC
nop
goto loop
nop
TMR0overflow ;(interrupt);
bcf INTCON,TMR0IF
ADnoend
btfsc ADCON0,GO_DONE ;esperar en caso de q el AD no haya terminado
goto ADnoend
btfsc chanelreg,2 ;comprobar que canal se ha leido
goto ADchanel2out
btfsc chanelreg,3
goto ADchanel3out
btfsc chanelreg,4
goto ADchanel4out
ADchanel2out
bcf STATUS,RP0
movfw ADchanel2outC ;guardar los datos de la conversion en un buffer mediante indf
movwf FSR
movfw ADRESH
movwf INDF
bsf STATUS,RP0
bsf FSR,7
movfw ADRESL
movwf INDF
bcf FSR,7
bcf STATUS,RP0
incf ADchanel2outC,f
movfw ADchanel2outC
sublw 060H
btfss STATUS,Z
goto ADchanelselect
movlw 050H
movwf ADchanel2outC
;indicar que el buffer Accx(050H-05FH,0D0H-0DFH)esta completo.El buffer Accy aun le queda un dato por almacenar
goto ADchanelselect
ADchanel3out
bcf STATUS,RP0
movfw ADchanel3outC ;guardar los datos de la conversion en un buffer mediante indf
movwf FSR
movfw ADRESH
movwf INDF
bsf STATUS,RP0
bsf FSR,7
movfw ADRESL
movwf INDF
bcf FSR,7
bcf STATUS,RP0
incf ADchanel3outC,f
movfw ADchanel3outC
sublw 070H
btfss STATUS,Z
goto ADchanelselect
movlw 060H
movwf ADchanel3outC
;indicar que el buffer Accy(060H-06FH,0E0H-0EFH)esta completo. Los buffers Accx y Accy estan llenos
;desactivar interrupciones por AD?
goto ADchanelselect
ADchanel4out
;solo comprobar que las tensiones son adecuadas comparandolo con una referencia
goto ADchanelselect
ADchanelselect
;change chanel to read in next AD obtain(2,3,4)
bcf STATUS,C
rlf chanelreg,f
btfsc STATUS,C
bsf chanelreg,0
btfsc chanelreg,2
goto chanel2 ;el AccX
btfsc chanelreg,3
goto chanel3 ;el AccY
btfsc chanelreg,4
goto chanel4 ;el Vbat
movlw B'00000100'
movwf chanelreg
goto chanel2 ;;; xq es el proximo que se debe leer!!!
chanel2
movlw B'00010000' ;seleccionar canal 2 (010)
iorwf ADCON0,f
movlw B'11010111' ;seleccionar canal 2 (010)
andwf ADCON0,f
goto ADstart
chanel3
movlw B'00011000' ;seleccionar canal 3 (011)
iorwf ADCON0,f
movlw B'11011111' ;seleccionar canal 3 (011)
andwf ADCON0,f
goto ADstart
chanel4
movlw B'00100000' ;seleccionar canal 4 (100)
iorwf ADCON0,f
movlw B'11100111' ;seleccionar canal 4 (100)
andwf ADCON0,f
goto ADstart
ADstart
bsf ADCON0,GO_DONE
goto rotateLEDs
rotateLEDs
incfsz ledcount,f ;esperar varias IRQ por TMR0 para rotar los LEDs
retfie
rrf ledGreg,f ;rotar y mostar LEDGREEN
btfsc STATUS,C
bsf ledGreg,7
bcf STATUS,C
btfss ledGreg,0
bsf PORTB,6
btfsc ledGreg,0
bcf PORTB,6
rrf ledRreg,f ;rotar y mostar LEDRED
btfsc STATUS,C
bsf ledRreg,7
bcf STATUS,C
btfss ledRreg,0
bsf PORTB,7
btfsc ledRreg,0
bcf PORTB,7
movlw 0B0H
movwf ledcount
retfie ;FIN DE LA INTERRUPCION ;Datos AD obtenidos y guardados en buffer, LEDs rotados.
SSPcompleteTR
bcf PIR1,SSPIF
; subrutine
retfie
TMR2toPR2match
bcf PIR1,TMR2IF
; subrutine
retfie
TMR1overflow
bcf PIR1,TMR1IF
; subrutine
retfie
EEPROMwritecompleted
bcf PIR2,EEIF
; subrutine
retfie
END
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #48 en:
Lunes 14 de Junio de 2004, 00:16 »
0
Por fin termine 3 de las 4 rutinas para controlar el hardware, con sus interrupciones y su codigo optimizado para permitir ocupar el tiempo minimo al micro. Segun unos calclos aproximados el micro permanece libre aproximadamente un 90% del tiempo, es decir, la mayor parte del tiempo esta esperando a que se desborde un timmer o a q le devuelvan un dato del exterior.
El micro se arranca y configura los registros de todos los perifericos, busca la procendencia de las interupciones, salva y carga los registros mas importantes durante las interrupciones, lee datos analogicos de un ADXL 311 cada periodo de 3mS y toma el valormedio de cada 16 medidas. Comprueba e estado de la bateria cada 3mS. Envia datos a un LCD LPH7366 utilizando el periferico SSP y sus interrupciones, informa al usuario mediante 2 LEDs(rojo y verde) que tb van con IRQ...bueno, si alguien quiere el codigo en ASM que me lo pida, tb realice algunso cambios en el esquema, pero no son importantes. De mometo pienso eliminar el 74LVC07, el regulador de 5V y alimentar todo el circuito a 3.3V o 3.0V, pero no es nada demasiado importante....
Me queda realizar una rutina para leer y escribir en las EEPROM. Primero voy a hacer un diagrama de flujo del codigo que e escrito....en unos dias lo pondre.
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
jgpeiro
Miembro activo
Mensajes: 67
Re: Evaluacion De La Idea De Mi Proyecto
«
Respuesta #49 en:
Lunes 14 de Junio de 2004, 12:56 »
0
aqui va el esquema del programa que e escrito en ASM, por cierto, son unas 380 instrucciones....
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
¿que falta despues de morir que hubiese anter de nacer?, ¿es posible la reencarnacion?
Imprimir
Páginas:
1
[
2
]
3
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Específica
»
Microcontroladores
(Moderador:
© Jonathan ©
) »
Evaluacion De La Idea De Mi Proyecto