#include<mega8.h>
#define uchar unsigned char
#define uint unsigned int
#define SEI SREG|=0x80
#define LED PORTC.3
volatile uint i;
void IO_Init(void)
{
DDRC.3=1;
LED="1";
}
void Timer0_Init(void)
{
TCCR0=0x02;
TCNT0=56;
TIMSK|=0x01;
SEI;
}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0=56; //8M 八分频 每步耗时1us 则定时时间为:(256-56)*1us=200us
if (i++>=250){i=0; LED=!LED;} // LED灯操作一次的时间:250*200=50ms
}
void main(void)
{
IO_Init();
Timer0_Init();
while(1){;;}
}
文章评论(0条评论)
登录后参与讨论