13.11.2012 Views

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50. ;**** Rutina de servicio de Interrupcion ****<br />

51. ;**** Interrupcion por Comparador Analogico****<br />

52. ISR<br />

53. btfss PIR1,CMIF ; Interrupcion por Comparador?<br />

54. retfie ; No, salimos de interrupcion.-<br />

55. btfss CMCON,C1OUT ; Consultamos estado del comparador.-<br />

56. goto Fin_ISR ; Si es 0 salimos de interrupcion.-<br />

57. call Alarma ; Si es 1, indicamos una alarma.-<br />

58. Fin_ISR<br />

59. movf CMCON,f ; Operacion de lectura.-<br />

60. bcf PIR1,CMIF ; Limpiamos bandera.-<br />

61. retfie<br />

62. ;..............................................<br />

63. ;**** Rutinas ****<br />

64. Alarma<br />

65. movlw 0x0A ; Hacemos titilar 10 veces el Led.-<br />

66. movwf Loop<br />

67. bsf Led<br />

68. call Demora_150ms<br />

69. bcf Led<br />

70. call Demora_150ms<br />

71. decfsz Loop<br />

72. goto $-5<br />

73. return<br />

74. ;**** Demora ****<br />

75. Demora_150ms<br />

76. movlw 0xFF ;<br />

77. movwf Contador1 ; Iniciamos contador1.-<br />

78. Repeticion1<br />

79. movlw 0xC3 ;<br />

80. movwf Contador2 ; Iniciamos contador2<br />

81. Repeticion2<br />

82. decfsz Contador2,1 ; Decrem<strong>en</strong>ta Contador2 y si es 0 sale.-<br />

83. goto Repeticion2 ; Si no es 0 repetimos ciclo.-<br />

84. decfsz Contador1,1 ; Decrem<strong>en</strong>ta Contador1.-<br />

85. goto Repeticion1 ; Si no es cero repetimos ciclo.-<br />

86. return ; Regresa de la subrutina.-<br />

87. ;.................................................<br />

88. <strong>en</strong>d<br />

Módulo CCP<br />

Introducción<br />

Los microcontroladores PIC16F628A/648A dispon<strong>en</strong> de un modulo de Captura/Comparación/PWM que <strong>en</strong><br />

conjunto con los temporizadores, permite realizar <strong>en</strong> forma s<strong>en</strong>cilla las tareas de medición de tiempo y<br />

frecu<strong>en</strong>cia, y g<strong>en</strong>eración de señales digitales.<br />

El modulo CCP ti<strong>en</strong>e 3 modos de funcionami<strong>en</strong>to, que se describ<strong>en</strong> a continuación:<br />

Modo captura: Permite capturar el valor que ti<strong>en</strong>e <strong>en</strong> registro TMR1 cuando ocurre un ev<strong>en</strong>to<br />

especial <strong>en</strong> la terminal RB3/CCP1.<br />

Modo comparación: Permite comparar el valor de 16 bits del TMR1 con un valor previam<strong>en</strong>te<br />

definido <strong>en</strong> los registros CCPRL1H y CCPR1L<br />

Autor: Suky Mail: inf.pic.suky@live.com.ar Web: www.micros-designs.com.ar

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!