📄 tarea 3.c~
字号:
/*
Tarea 3
Dimmer
Presentado por:
Raymundo Yamamoto
2004-0081
*/
//Agregando libreria mega16.h
#include<mega16.h>
//Declarando variables
unsigned int conteo=16; //Entero sin signo 'conteo'
unsigned int cantidad_min=16; //Entero sin signo 'cantidad_min'
unsigned int cantidad_max=256; //Entero sin signo 'contidad_max'
unsigned int cantidad=16; //Entero sin signo 'cantidad'
//Interrupcion para incrementar intensidad
interrupt [EXT_INT0] void isr_ext0()
{
if(conteo<cantidad_max) //Limitando la maxima intensidad
{
conteo = conteo + cantidad; //Incrementando conteo
OCR1A = conteo; //Colocando nuevo conteo
}
}
//Interrupcion para decrementar intensidad
interrupt [EXT_INT1] void isr_ext1()
{
if(conteo>cantidad_min) //Limitando la minima intensidad
{
conteo = conteo - cantidad; //Decrementando conteo
OCR1A = conteo; //Colocando nuevo conteo
}
}
//Interrupcion para el cruce por cero
interrupt [EXT_INT2] void isr_ext2()
{
TCCR1B |= 0b00000100; //Prescaler on
}
interrupt [TIM1_OVF] void overflow()
{
TCCR1B &= 0b11111000; //Prescaler off
TCNT1=0; //Contador 1 en cero
}
//Programa principal
void main()
{
//Programando registros
DDRA = 0b11111111;
DDRB &= 0b11111011; //Pin B2 entrada
DDRB |= 0b10000000;
DDRD &= 0b11110011; //Pin D2 y D3 entrada
DDRD |= 0b00100000; //Pin D5 salida
TCCR1A = 0b11110010; //OC1A y OC1B en '0' en compare match y '1' en BOTTOM
//FOC1A y FOC1B en '0' para modo PWM
//WGM11 y WGM10 para modo 14
TCCR1B = 0b00011000; //Input Capture Noise Canceler desactivado
//Input Capture Edge Select flanco negativo
//WGM13 y WGM12 para modo 14
//Prescaler off
ICR1H = 1; //ICR1=256
ICR1L = 0; //ICR1=256
MCUCR |= 0b00001111; //ISC1 flanco positivo
//ISC0 flanco positivo
MCUCSR |= 0b01000000; //ISC2 flanco positivo
GICR |= 0b11100000; //INT1, INT0 y INT2 activados
SREG |= 0b10000000; //Global interrupt activado
SFIOR |= 0b00000100; //Pull-ups desactivado
TIMSK |= 0b00000100;
OCR1A = conteo; //Iniciando compare match
TCNT1 = 0; //Timer counter1 en cero
while(1); //Dejar programa cerrado
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -