📄 test.c
字号:
#include <iom88v.h>
#include <macros.h>
#include <math.h>
//******************************************************/
void adc_init(void)
{
ADCSRA = 0x00;
ACSR = (1<<ACD);
ADCSRA = (1<<ADEN)|(1<<ADPS2);
}
//****************************************************/
void timer1_init(void)
{
TCCR1B = 0x00;
TCNT1H = 0xFF;
TCNT1L = 0x38;
OCR1AH = 0x00;
OCR1AL = 0x0F;
OCR1BH = 0x00;
OCR1BL = 0x00;
ICR1H = 0x01;
ICR1L = 0x8F;
TCCR1A = (1<<COM1A1)|(1<<COM1B0)|(1<<COM1B1)|(1<<WGM11);
TCCR1B = (1<<WGM13)|(1<<WGM12)|(1<<CS10);
TIMSK1 = 0x20;
}
//*************************************************/
#pragma interrupt_handler timer1_capt_isr:11
void timer1_capt_isr(void)
{
ADMUX = 0x45;
ADCSRA |= (1<<ADSC);
OCR1A = (ADC & 0x03FF) / 2;
OCR1B = (ADC & 0x03FF) / 2;
}
//******************************************************************
void main(void)
{
WDR();
WDTCSR = 0x1F;
WDTCSR = 0x0F;
WDR();
DDRB |= (1<<PB1)|(1<<PB2);
CLI();
timer1_init();
adc_init();
SEI();
while(1)
{
WDR();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -