Specular not see map with SurfaceOutputStandardSpecular light mode

Specular not see map with SurfaceOutputStandardSpecular light mode. _Smoothness value change reflect of all model, ignore specular map.

Shader "Custom/Dissolve Specular" {
    Properties{
        _Color("Color", Color) = (1,1,1,1)
        _MainTex("Albedo (RGB)", 2D) = "white" {}
        _Specular("Specular",  2D) = "white" {}
        _BumpMap("Normal Map", 2D) = "white" {}
        _Smoothness("Smoothness", Range(0,1)) = 0.5
    }


        SubShader{
            Tags { "RenderType" = "Opaque" }
            LOD 200

            CGPROGRAM

            #pragma target 3.0
            #pragma surface surf StandardSpecular

            sampler2D _MainTex;
            sampler2D _Specular;
            sampler2D _BumpMap;

            struct Input {
                float2 uv_MainTex;
                float2 uv_BumpMap;
                float2 uv_SpecMap;
            };

            half _Smoothness;

            fixed4 _Color;


            void surf(Input IN, inout SurfaceOutputStandardSpecular  o) {
                fixed4 c = tex2D(_MainTex, IN.uv_MainTex);

                o.Albedo = c.rgb * _Color.rgb;


                o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));


                o.Specular = tex2D(_Specular, IN.uv_SpecMap);
                o.Smoothness = _Smoothness;

                o.Alpha = c.a;
            }
            ENDCG
        }
            FallBack "Diffuse"
}

fix with this

o.Specular = tex2D(_Specular, IN.uv_MainTex;);