Remove the quotes if you want to use variables:
WHERE
USUARIOS.rol_id=@rol_id
and USUARIOS.id_usuario=@id_usuario
and USUARIOS.clave=@clave
and USUARIOS.estado=1
Quotes delimit string literals, so you are trying to compare an integer with the string
'@rol_id'
so SQL tries to convert it to an integer and fails.