📄 time.c
字号:
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
//时钟定为8MHz,F_CPU=8000000
//全局变量
volatile unsigned char FLAG;
void timer1_init(void)
{
TCNT1 = 1024;
TCCR1A = (0<<COM1A1)|(0<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(0<<WGM11)|(0<<WGM10);
TCCR1B = (0<<WGM13)|(0<<WGM12)|(0<<CS12)|(0<<CS11)|(1<<CS10);
}
SIGNAL(SIG_OVERFLOW1)
{
FLAG++;
if(FLAG==8)
{
FLAG=0;
PORTA^=(1<<PA3);
}
}
int main(void)
{
//上电默认DDRx=0x00,PORTx=0x00 输入,无上拉电阻
PORTA =0xff; //不用的管脚使能内部上拉电阻。
DDRA=0x3f;
PORTD =0xff;
DDRD =0xff;
FLAG=0;
timer1_init();
TIMSK = (1<<TOIE1);
sei(); //使能全局中断
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -