time.c
来自「该程序主要是控制电机的正转」· C语言 代码 · 共 42 行
C
42 行
#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 + =
减小字号Ctrl + -
显示快捷键?