Hola:
Tienes que apagar los comparadores del Puerto A, pues no es digital y tu quieres usarlo como entrada digital, para ello puedes utilizar y referirte a las hojas de datos de ese microcontrolador sobre el registro CMCON o utilizar ALL_DIGITAL=TRUE, te quedaría algo como esto:
Config INTRC_OSC_NOCLKOUT , WDT_OFF , PWRTE_ON , BODEN_OFF , CP_OFF
XTAL=4
Device=16F628
ALL_DIGITAL=TRUE
TRISA=%00000011
TRISB=%00000000
Dim m As Byte
Dim v As Byte
Dim t As 100
empezar:
If PORTA.0=1 Then
GoTo iniciar1
Else
PORTB=%00000011
GoTo empezar
EndIf
iniciar1:
m=1
Call mostrar1
secasc:
If m=128 Then GoTo iniciar2
m=m*2
GoTo mostrar1
mostrar1:
Poke PORTB,m
DelayMS t
GoTo secasc
iniciar2:
m=128
Call mostrar2
secdesc:
m=m/2
If m=0 Then empezar
GoTo mostrar2
mostrar2:
Poke PORTB,m
DelayMS t
GoTo secdesc
End
Tambien te he cambiado algo, PEEK y POKE no son recomendados, el mismo manual de ayuda así lo dice:
Syntax
Variable = PEEK Address
Overview
Retrieve the value of a register and place into a variable
Operators
Variable - a user defined variable of type bit, byte, byte array, word, word array, dword or float.
Address - a constant or a variable, pointing to the address of a register.
Example 1
A = PEEK 15
Variable A will contain the value of Register 15. If the device is a 16F84, for example, this register is one of the 68 general-purpose registers (RAM).
Example 2
B = 15
A = PEEK B
Same function as example 1
Notes
Use of the Peek command is not recommended. A more efficient way of retrieving the value from a register is by accessing the register directly: -
VARIABLE = REGISTER
Así que puedes preguntar directamente por el estado de un pin o puerto determinado, tambien revisa la sintaxis del IF, como trabajas con un solo bit, pues tendrás dos valores solamente, 0 o 1, así que no es necesario usar un elseif.
Saludos.