Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
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