⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ejem_22.c

📁 Varios ejemplos para utilizar la PIC 16F876 en assembrer y CCS
💻 C
字号:
//								EJEMPLO 22
//						Autor: Mikel Etxebarria
//			(c) Ingenier韆 de Microsistemas Programados S.L.
//						www.microcontroladores.com
//								Bilbao 2006
//
//El TMR1 en el modo temporizador
//
//Se desea realizar un contador binario visualizado sobre la Puerta B que, se vaya incremen-
//tando a raz髇 de una unidad cada 0.1 segundos. Para ello contamos con la ayuda de la
//interrupci髇 provocada por el TMR1

#include <16f876A.h>

//Ajusta los valores de la palabra de configuraci髇 durante el ensamblaje:
//Protecci髇 de c骴igo y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT

#fuses NOPROTECT,NOCPD,NOLVP,NOWDT,XT

// Con estas directivas las funciones "input" y "output_bit" no reprograman
// el pin de la puerta cada vez que son utilizadas. Si no se indica el
// modo fast_io se asume por defecto standard_io el cual reprograma el pin
// siempre antes de ser utilizadas estas funciones.

#use fast_io (A)
#use fast_io (B)
#use delay(clock=4000000)

int	 temporal=0;

#int_timer1				//Tratamiento de interrupci髇 del TMR1
tratamiento()
{	
		set_timer1(~12500);			//Repone TMR1 con 12500
		temporal++	;				//Incrementa el contador
		output_b(temporal);			//Visualiza el contador
}

main()
{  
	SETUP_ADC_PORTS(NO_ANALOGS);//Puerta A Digital
	output_b(0x00);				//Borra salidas
	set_tris_b(0x00);			//RB0-RB7 salidas
	enable_interrupts(int_timer1);	//Activa interrupci髇 del Timer1

/*El TMR1 trabaja con oscilador interno y un preescaler de 1:8. Si se trabaja a una frecuencia
de 4 MHz, el TMR1 deber

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -