Duda básica con código
| #1 Duda básica con código |
|
shakaran
|
Tengo el siguiente código para PIC16F84:
Mi duda esta en: ¿Qué función tienen las instrucciones movlw HICH primo y movwf PCLATH? ¿Funcionaría correctamente el programa sin estas instrucciones?¿Bajo que condiciones? Gracias, espero sus respuestas. |
|||||||||||
|
|
||||||||||||
| #2 |
| #3 |
|
shakaran
|
Ok, gracias por la info. Ademas de tu info, me puse a buscar por la red. Y al final las respuestas a mis preguntas me quedaron asi:
1-Obtiene la parte alta de la dirección de la subrutina asignada, en nuestro caso “primo” y la guarda en PCLATH. 2-No funcionaria bien, porque debemos tener en cuenta que el PC (Program Counter) esta formado por 13 bits, del 0 al 7 corresponden a PCL(parte baja del PC)y del 8 al 12 corresponden a PCLATH(parte alta del PC) y puesto que saltamos a una tabla, a través de una subrutina, es necesario el valor de PCLATH para volver de ella y que el PC pueda apuntar a la siguiente instrucción. 3-En caso de no ser así las condiciones de funcionamiento no serían las mismas al volver de la tabla para el PC Creo que son todas correctas no? PD: Como bien decias, si es parte de otro código ;) |
|||||||||||
|
|
||||||||||||
| #4 |
|
maunix
Colaborador
|
shakaran no se si entendí bien pero a mi modo de verlo ese código precisamente usa los 13 bits y sí funcionaría correctamente. Saludos |
|||||||||||||
|
|
||||||||||||||
| #5 |
|
shakaran
|
Claro, estoy de acuerdo contigo, ese código si funciona bien para los 13 bits. Pero la pregunta tiene sentido inverso, es decir, "¿Funcionaria correctamente si prescindieramos de ese codigo?".
Saludos |
|||||||||||
|
|
||||||||||||
| #6 |
|
maunix
Colaborador
|
Y no, no funcionaria... es que si prescindis de ese código estas obviando como funciona el Program Counter del PIC Solo sería válido si el código está dentro de la misma página y si el PCLATH está apuntando a dicha página! Recordar que el PCLATH se puede grabar a mano y realmente el Program Counter lo tendrá en cuenta con un call o un goto. Puedes estar en el RomBank0 , la tabla estar en el RomBank0 y aun así el código no funcionaría si el PCLATH apunta a otro RomBank. No se si quedó claro. Saludos |
|||||||||||||
|
|
||||||||||||||
| #7 |
|
shakaran
|
Oks, perfectamente muchas gracias ;)
|
|||||||||||
|
|
||||||||||||
|
| Temas de interés | |
|---|---|
| Proyecto pliego de condiciones | |
| Nmeros a displays de 7 segmentos con condiciones | |
| Contador Pares/Impares | |
| Nombre de algún programa que grafique las compuertas | |
| Programa básico para la programación de robots | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10207 segundos, Consultas = 13
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10207 segundos, Consultas = 13

