Hola Datahenius.
Si tienes razon, cometi un error en la expresion  BSF PORTC,5 ;ENABLE BAJO = 0 => 
BSF es alto. "de todas manera mi idea es .... desde el comienzo deshabilito el pin 1 CE Negado del HT 9200 Aara que el IC  no funcione.
ya mas adelante lo coloco en bajo para habilitarlo.  
ENV_DIGITO_TEL_BYTE
BCF PORTC,5         creo que con esta expresion  habilito  el funciomiento del HT 9200.
En cuanto al porque envio solamente 5 digitos 
movlw 0x05 ; A transmitir 5 bits.
movwf CONTADOR_BITS
MI RAZON ( no se si estoy equivocado ) es que cada digito de numero telefonico esta compuesto por  5 digitos para generar cada tono ( esto de acuerdo al data sheet )
donde dice 
''''  para generar el tono correspondiente a un numero se  deben ingresar los 5 digitos correspondientes  comenzando desde  D0.
DIGITO	D4	D3	D2	D1	D0	FRECUENCIA
1	0	0	0	0	1	697 + 1209 hz
2	0	0	0	1	0	697 +1336 hz
						etc
						etc
Dtmf 0ff 	1	1	1	1	1	---
Esto es lo que dice el data sheet.
de dat forma que yo envio solamente estos 5 digitos. los almaceno en el buffer y los voy transmitiendo uno por uno ( con rotacion a la derecha ) cada digito ingresa al ht 9200  cuando el pic envia un DATA 0 o  1  en el momento de la transision de alto a bajo del clock.
lo del protocolo I2C  pues lo trate de implementar de acuerdo al libro ( PROYECTOS CON PIC 16F84 EDOITORIAL RAMA).
AHORA BIEN :despues de que coloque el post ,ingrese los tiempos de retardo de 70 ms como tu dices.
bueno pues el HT9200 si genera unos tonos , pero  no se porque NO HACEN LA MARCACION, de acuerdo al numero discado.
PIENZO que si el ht 9200 esta sacando informacion por el pin DTMF  es porque el protocolo I2C esta tranajando ( Si estoy equivocado por favor hasme la acotacion en que lugar tengo mi problema para corregirlo.)
por favor si puedes revisar nuevamente mi codigo y decirme donde estoy equivocado ::: te lo agradecere
CORDIALMENTE 
cesar
;***************************		SERIE_7.ASM	***********************
;
	LIST		P=16F876A
	INCLUDE		<P16F876A.INC>
	__CONFIG	_CP_OFF &  _WDT_OFF & _PWRTE_OFF & _XT_OSC
	CBLOCK	0X20
	CONTADOR_BITS				; Cuenta los bits a transmitir o a recibir.
	NUMERO_TELEFONO				; Dato a transmitir o recibido.
	I2C_Flags				; Guarda la información del estado del bus I2C.
	ENDC
#DEFINE CLK	PORTC,7				
#DEFINE DATA	PORTC,6				
	ORG	0X00
	GOTO	Inicio
Inicio
	MOVLW	0X06
	MOVWF	ADCON1
	BSF	STATUS,RP0
	BCF	PORTC,5		;ENABLE
	BCF	PORTC,6		;DATA
	BCF	PORTC,7		;CLOCK
	movlw	0x06
	movwf	ADCON1
	BCF	STATUS,RP0
	BCF	PORTC,5
	BCF	PORTC,6
	BCF	PORTC,7
	GOTO	Principal
;*****************
TABLA
	addwf	PCL,F
	RETLW	B'01010'	;No 0
	RETLW	B'00001'	;No 1
	RETLW	B'00010'
	RETLW	B'00011'
	RETLW	B'00100'
	RETLW	B'00101'
	RETLW	B'00110'
	RETLW	B'00111'
	RETLW	B'01000'
	RETLW	B'01001'	;No 9
	RETLW	B'11111'	;STOP
;********************************
Principal
	BSF	PORTC,5		;DISABLE 
	CALL	Retardo_1s
	movlw	.6		;NUMERO_TEL
	CALL	ENVIA
	MOVLW	.6		;NUMERO_TEL
	CALL	ENVIA
	movlw	.1		;NUMERO_TEL
	CALL	ENVIA
	MOVLW	.0		;NUMERO_TEL
	CALL	ENVIA
	movlw	.6		;NUMERO_TEL
	CALL	ENVIA
	MOVLW	.8		;NUMERO_TEL
	CALL	ENVIA
	movlw	.6		;NUMERO_TEL
	CALL	ENVIA
				
	GOTO	Principal	; AQUI LO DEVUELVO A Principal 
				; es provisional , esta rutina sera
				; enviada a un """ espere mientras se da orden de
				; discado""""
ENVIA
	
	BCF	PORTC,5		;ENABLE  aqui se habilta para que el ht 9200 funcione
	CALL	TABLA		; los 5 digitos correspondientes a la frecuencia cada tono	
	MOVWF	NUMERO_TELEFONO
	CALL	ENV_DIGITO_TEL_BYTE
	CALL	Retardo_1s
				; AQUI ENVIO LA SENAL DE FINAL despues de cada digito
				; marcado,  '''' NO SE SI ES CORRECTO O NO """"
	movlw	.10		;STOP senal de stop de DTMF 
	CALL	TABLA		
	MOVWF	NUMERO_TELEFONO
	CALL	ENV_DIGITO_TEL_BYTE
	RETURN
;**************************************************
;		No utilizo la rutina I2C completa puesto que estoy
;		utilizando el HT 9200 	solo como esclavo
;		por lo tanto no requiero enviar respuesta desde el HT 9200 AL PIC
;		ESO ES LO QUE CREO  !!puedo estar equivocado!!
;*********************************************
ENV_DIGITO_TEL_BYTE
	BCF	PORTC,5			; Habilito ht 9200
	movwf	NUMERO_TELEFONO		; Almacena el byte a transmitir.
	movlw	0x05			; A transmitir 5 bits.(D0 HASTA D4)
	movwf	CONTADOR_BITS
ENVIA_BITE
	BSF	CLK			;CLOCK = 1
	rrf	NUMERO_TELEFONO,F	; Chequea el bit, llevándolo previamente al Carry.
	btfsc	STATUS,C
	goto	ENVIA_UNO
ENVIA_CERO
	BCF	DATA			;TRANSMITE 0 AL DATA
	CALL	Retardo_50ms
	CALL	Retardo_20ms
	BCF	CLK			;CLOCK BAJO = 0	 INGRESA EL DATA
	CALL	Retardo_50ms
	CALL	Retardo_20ms
	goto	NEXT_BITE		;DESCUENTA UN BITE Y SIGUE
ENVIA_UNO
	BSF	DATA			;TRANSMITE 1 AL DATA 
	CALL	Retardo_50ms
	CALL	Retardo_20ms
	BCF	CLK			;CLOCK BAJO INGRESA EL DATA
	CALL	Retardo_50ms
	CALL	Retardo_20ms
NEXT_BITE
			
	decfsz	CONTADOR_BITS,F		; DESCUENTA UN BITE
	goto	ENVIA_BITE		; NO ES CERO VUELE AL SIGUIENTE BITE
			
	return
	
														
;*******************************************
;**************************** Librería "RETARDOS.INC" *********************************
;
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		
www.pic16f84a.com
; 	  Editorial Ra-Ma.  
www.ra-ma.es
;	===================================================================
;
; Librería con múltiples subrutinas de retardos, desde 4 microsegundos hasta 20 segundos. 
; Además se pueden implementar otras subrutinas muy fácilmente.
;
; Se han calculado para un sistema microcontrolador con un PIC trabajando con un cristal
; de cuarzo a 4 MHz. Como cada ciclo máquina son 4 ciclos de reloj, resulta que cada
; ciclo máquina tarda 4 x 1/4MHz = 1 µs.
;
; En los comentarios, "cm" significa "ciclos máquina".
;
; ZONA DE DATOS *********************************************************************
	CBLOCK
	R_ContA						; Contadores para los retardos.
	R_ContB
	R_ContC
	ENDC
;
; RETARDOS de 4 hasta 10 microsegundos ---------------------------------------------------
;
; A continuación retardos pequeños teniendo en cuenta que para una frecuencia de 4 MHZ,
; la llamada a subrutina "call" tarda 2 ciclos máquina, el retorno de subrutina
; "return" toma otros 2 ciclos máquina y cada instrucción "nop" tarda 1 ciclo máquina.
;
Retardo_10micros				; La llamada "call" aporta 2 ciclos máquina.
	nop							; Aporta 1 ciclo máquina.
	nop							; Aporta 1 ciclo máquina.
	nop							; Aporta 1 ciclo máquina.
	nop							; Aporta 1 ciclo máquina.
	nop							; Aporta 1 ciclo máquina.
Retardo_5micros					; La llamada "call" aporta 2 ciclos máquina.
	nop							; Aporta 1 ciclo máquina.
Retardo_4micros					; La llamada "call" aporta 2 ciclos máquina.
	return						; El salto del retorno aporta 2 ciclos máquina.
;
; RETARDOS de 20 hasta 500 microsegundos ------------------------------------------------
;
Retardo_500micros				; La llamada "call" aporta 2 ciclos máquina.
	nop							; Aporta 1 ciclo máquina.
	movlw	d'164'				; Aporta 1 ciclo máquina. Este es el valor de "K".
	goto	RetardoMicros		; Aporta 2 ciclos máquina.
Retardo_200micros				; La llamada "call" aporta 2 ciclos máquina.
	nop							; Aporta 1 ciclo máquina.
	movlw	d'64'				; Aporta 1 ciclo máquina. Este es el valor de "K".
	goto	RetardoMicros		; Aporta 2 ciclos máquina.
Retardo_100micros				; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'31'				; Aporta 1 ciclo máquina. Este es el valor de "K".
	goto	RetardoMicros		; Aporta 2 ciclos máquina.
Retardo_50micros				; La llamada "call" aporta 2 ciclos máquina.
	nop							; Aporta 1 ciclo máquina.
	movlw	d'14'				; Aporta 1 ciclo máquina. Este es el valor de "K".
	goto	RetardoMicros		; Aporta 2 ciclos máquina.
Retardo_20micros				; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'5'				; Aporta 1 ciclo máquina. Este es el valor de "K".
;
; El próximo bloque "RetardoMicros" tarda:
; 1 + (K-1) + 2 + (K-1)x2 + 2 = (2 + 3K) ciclos máquina.
;
RetardoMicros
	movwf	R_ContA				; Aporta 1 ciclo máquina.
Rmicros_Bucle
	decfsz	R_ContA,F			; (K-1)x1 cm (cuando no salta) + 2 cm (al saltar).
	goto	Rmicros_Bucle		; Aporta (K-1)x2 ciclos máquina.
	return						; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_500micros:	2 + 1 + 1 + 2 + (2 + 3K) = 500 cm = 500 µs. (para K=164 y 4 MHz).
; - Retardo_200micros:	2 + 1 + 1 + 2 + (2 + 3K) = 200 cm = 200 µs. (para K= 64 y 4 MHz).
; - Retardo_100micros:	2     + 1 + 2 + (2 + 3K) = 100 cm = 100 µs. (para K= 31 y 4 MHz).
; - Retardo_50micros :	2 + 1 + 1 + 2 + (2 + 3K) =  50 cm =  50 µs. (para K= 14 y 4 MHz).
; - Retardo_20micros :	2     + 1     + (2 + 3K) =  20 cm =  20 µs. (para K=  5 y 4 MHz).
;
; RETARDOS de 1 ms hasta 200 ms. --------------------------------------------------------
;
Retardo_200ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'200'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_100ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'100'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_50ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'50'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_20ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'20'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_10ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'10'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_5ms						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'5'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_2ms						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'2'				; Aporta 1 ciclo máquina. Este es el valor de "M".
	goto	Retardos_ms			; Aporta 2 ciclos máquina.
Retardo_1ms						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'1'				; Aporta 1 ciclo máquina. Este es el valor de "M".
;
; El próximo bloque "Retardos_ms" tarda:
; 1 + M + M + KxM + (K-1)xM + Mx2 + (K-1)Mx2 + (M-1) + 2 + (M-1)x2 + 2 =
; = (2 + 4M + 4KM) ciclos máquina. Para K=249 y M=1 supone 1002 ciclos máquina
; que a 4 MHz son 1002 µs = 1 ms.
;
Retardos_ms
	movwf	R_ContB				; Aporta 1 ciclo máquina.
R1ms_BucleExterno
	movlw	d'249'				; Aporta Mx1 ciclos máquina. Este es el valor de "K".
	movwf	R_ContA				; Aporta Mx1 ciclos máquina.
R1ms_BucleInterno
	nop							; Aporta KxMx1 ciclos máquina.
	decfsz	R_ContA,F			; (K-1)xMx1 cm (cuando no salta) + Mx2 cm (al saltar).
	goto	R1ms_BucleInterno	; Aporta (K-1)xMx2 ciclos máquina.
	decfsz	R_ContB,F			; (M-1)x1 cm (cuando no salta) + 2 cm (al saltar).
	goto	R1ms_BucleExterno 	; Aporta (M-1)x2 ciclos máquina.
	return						; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_200ms:	2 + 1 + 2 + (2 + 4M + 4KM) = 200007 cm = 200 ms. (M=200 y K=249).
; - Retardo_100ms:	2 + 1 + 2 + (2 + 4M + 4KM) = 100007 cm = 100 ms. (M=100 y K=249).
; - Retardo_50ms :	2 + 1 + 2 + (2 + 4M + 4KM) =  50007 cm =  50 ms. (M= 50 y K=249).
; - Retardo_20ms :	2 + 1 + 2 + (2 + 4M + 4KM) =  20007 cm =  20 ms. (M= 20 y K=249).
; - Retardo_10ms :	2 + 1 + 2 + (2 + 4M + 4KM) =  10007 cm =  10 ms. (M= 10 y K=249).
; - Retardo_5ms  :	2 + 1 + 2 + (2 + 4M + 4KM) =   5007 cm =   5 ms. (M=  5 y K=249).
; - Retardo_2ms  :	2 + 1 + 2 + (2 + 4M + 4KM) =   2007 cm =   2 ms. (M=  2 y K=249).
; - Retardo_1ms  :	2 + 1     + (2 + 4M + 4KM) =   1005 cm =   1 ms. (M=  1 y K=249).
;
; RETARDOS de 0.5 hasta 20 segundos ---------------------------------------------------
;
Retardo_20s						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'200'				; Aporta 1 ciclo máquina. Este es el valor de "N".
	goto	Retardo_1Decima		; Aporta 2 ciclos máquina.
Retardo_10s						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'100'				; Aporta 1 ciclo máquina. Este es el valor de "N".
	goto	Retardo_1Decima		; Aporta 2 ciclos máquina.
Retardo_5s						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'50'				; Aporta 1 ciclo máquina. Este es el valor de "N".
	goto	Retardo_1Decima		; Aporta 2 ciclos máquina.
Retardo_2s						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'20'				; Aporta 1 ciclo máquina. Este es el valor de "N".
	goto	Retardo_1Decima		; Aporta 2 ciclos máquina.
Retardo_1s						; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'10'				; Aporta 1 ciclo máquina. Este es el valor de "N".
	goto	Retardo_1Decima		; Aporta 2 ciclos máquina.
Retardo_500ms					; La llamada "call" aporta 2 ciclos máquina.
	movlw	d'5'				; Aporta 1 ciclo máquina. Este es el valor de "N".
;
; El próximo bloque "Retardo_1Decima" tarda:
; 1 + N + N + MxN + MxN + KxMxN + (K-1)xMxN + MxNx2 + (K-1)xMxNx2 +
;   + (M-1)xN + Nx2 + (M-1)xNx2 + (N-1) + 2 + (N-1)x2 + 2 =
; = (2 + 4M + 4MN + 4KM) ciclos máquina. Para K=249, M=100 y N=1 supone 100011
; ciclos máquina que a 4 MHz son 100011 µs = 100 ms = 0,1 s = 1 décima de segundo.
;
Retardo_1Decima
	movwf	R_ContC				; Aporta 1 ciclo máquina.
R1Decima_BucleExterno2
	movlw	d'100'				; Aporta Nx1 ciclos máquina. Este es el valor de "M".
	movwf	R_ContB				; Aporta Nx1 ciclos máquina.
R1Decima_BucleExterno
	movlw	d'249'				; Aporta MxNx1 ciclos máquina. Este es el valor de "K".
	movwf	R_ContA				; Aporta MxNx1 ciclos máquina.
R1Decima_BucleInterno          
	nop							; Aporta KxMxNx1 ciclos máquina.
	decfsz	R_ContA,F			; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm (al saltar).
	goto	R1Decima_BucleInterno	; Aporta (K-1)xMxNx2 ciclos máquina.
	decfsz	R_ContB,F			; (M-1)xNx1 cm (cuando no salta) + Nx2 cm (al saltar).
	goto	R1Decima_BucleExterno	; Aporta (M-1)xNx2 ciclos máquina.
	decfsz	R_ContC,F			; (N-1)x1 cm (cuando no salta) + 2 cm (al saltar).
	goto	R1Decima_BucleExterno2	; Aporta (N-1)x2 ciclos máquina.
	return						; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_20s:	2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 20000807 cm = 20 s.
;			(N=200, M=100 y K=249).
; - Retardo_10s:	2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 10000407 cm = 10 s.
;			(N=100, M=100 y K=249).
; - Retardo_5s:		2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) =  5000207 cm =  5 s.
;			(N= 50, M=100 y K=249).
; - Retardo_2s:		2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) =  2000087 cm =  2 s.
;			(N= 20, M=100 y K=249).
; - Retardo_1s:		2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) =  1000047 cm =  1 s.
;			(N= 10, M=100 y K=249).
; - Retardo_500ms:	2 + 1     + (2 + 4N + 4MN + 4KMN) =   500025 cm = 0,5 s.
;			(N=  5, M=100 y K=249).
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		
www.pic16f84a.com
; 	  Editorial Ra-Ma.  
www.ra-ma.es
;	===================================================================
	END