📄 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)|(1<<ADPS0);
}
//****************************************************/
void timer1_init(void)
{
TCCR1B = 0x00;
TCNT1H = 0xFF;
TCNT1L = 0x38;
OCR1AH = 0x00;
OCR1AL = 0x00;
OCR1BH = 0x00;
OCR1BL = 0x00;
ICR1H = 0x01;
ICR1L = 0xFF;
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 = 0x43;
ADCSRA |= (1<<ADSC);
OCR1A = ADC & 0x03FF;
OCR1B = ADC & 0x03FF;
}
//*******************************************************************
#pragma interrupt_handler adc_isr:22
void adc_isr(void)
{
}
/*********************************************************************
延时
*********************************************************************/
void delay_1us(void)
{
asm("nop");
}
void delay_nus(unsigned int n)
{
unsigned int i=0;
for (i=0;i<n;i++) delay_1us();
}
void delay_1ms(void)
{
unsigned int i;
for (i=0;i<1140;i++);
}
void delay_nms(unsigned int n)
{
unsigned int i=0;
for (i=0;i<n;i++) delay_1ms();
}
//******************************************************************
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 + -