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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

67. movlw b'00001110' ; Saca 0 a la primera fila<br />

68. movwf PORTB ; de la Puerta B<br />

69. nop ; Para estabilizacion de señal.<br />

70. Test_Columnas<br />

71. btfss PORTB,4 ; Primera columna = 0<br />

72. goto Suelta_tecla ; Sale si se ha pulsado tecla.<br />

73. incf NTecla,1 ; Si no tecla pulsada, increm<strong>en</strong>ta nº<br />

tecla.<br />

74. btfss PORTB,5 ; Segunda columna = 0<br />

75. goto Suelta_tecla ; Sale si se ha pulsado tecla.<br />

76. incf NTecla,1 ; Si no tecla pulsada, increm<strong>en</strong>ta nº<br />

tecla.<br />

77. btfss PORTB,6 ; Tercera columna = 0<br />

78. goto Suelta_tecla ; Sale si se ha pulsado tecla.<br />

79. incf NTecla,1 ; Si no tecla pulsada, increm<strong>en</strong>ta nº<br />

tecla.<br />

80. ; En este caso no se Usa teclado 3x4.-<br />

81. ; btfss PORTB,7 ; Cuarta columna = 0<br />

82. ; goto Suelta_tecla ; Sale si se ha pulsado tecla.<br />

83. ; incf NTecla,1 ; Si no tecla pulsada,increm<strong>en</strong>ta nº Tecla.<br />

84.<br />

85. Ultima_tecla<br />

86. btfss PORTB,3 ; Ya se revisaron todas las filas?<br />

87. goto Null_tecla ; Si, Falsa alarma, no se ha<br />

presionado ninguna.-<br />

88. bsf STATUS,C ; No, seguimos con la sigui<strong>en</strong>te.Pone a 1<br />

Bit C<br />

89. rlf PORTB,1 ; asi la Fila 1 pasa a 1 con la rotaci¢n a<br />

izqda.<br />

90. goto Test_Columnas<br />

91.<br />

92. Null_tecla<br />

93. clrf NTecla ; Coloca variable Tecla a 0 (Ninguna)<br />

94. bcf INTCON,RBIF ; Borramos bandera de<br />

Interrupcion.-<br />

95. clrf PORTB ; Dejamos Puerto para recibir otra<br />

tecla.-<br />

96. return ; y regresa.<br />

97.<br />

98. Suelta_tecla<br />

99. ; Ahora se espera a que la tecla sea soltada para evitar rebotes<br />

100. ; y reactivaciones de tecla<br />

101. Espera1<br />

102. btfss PORTB,4 ; Si no se suelta la tecla FILA 1<br />

103. goto Espera1 ; vuelve a esperar.<br />

104. Espera2<br />

105. btfss PORTB,5 ; Si no se suelta la tecla FILA 2<br />

106. goto Espera2 ; vuelve a esperar.<br />

107. Espera3<br />

108. btfss PORTB,6 ; Si no se suelta la tecla FILA 3<br />

109. goto Espera3 ; vuelve a esperar.<br />

110. Espera4<br />

111. btfss PORTB,7 ; Si no se suelta la tecla FILA 4<br />

112. goto Espera4 ; vuelve a esperar.<br />

113.<br />

114. bcf INTCON,RBIF ; Borramos bandera de<br />

Interrupcion.-<br />

115. clrf PORTB ; Dejamos Puerto para recibir otra<br />

tecla.-<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!