优秀案例News CREATE A CENTURY BRAND OF BISHAN

您现在的位置:主页 > 优秀案例 >

avr单片机8位定时器LED切确1秒明灭法式

2018-06-27 12:06

稍作调解,。

其中,它就会自己清零; } if(j ==9932)//溢出一次用时100微妙,溢出位不能位寻址(不能位操作); 完成(finish time) : 2014年2月28日13:50:14 噢 , */ #include #include interrupt .h> //中断头文件.. typedef unsigned char uint8; typedef unsigned int uint16; io() //初始化所有IO口函数; { DDRA=0Xff; PORTA=0Xff; DDRB=0XFF; PORTB=0X00; DDRC=0XFF; PORTC=0X00; DDRD=0XFF; PORTD=0XFF; } mcu() // { TCNT0=0x6A;//定时器初始值寄放器,千赢国际,变量j加一,溢出标志位不会自动清零。

加一万次用时1秒。

j=0; PORTA^=0XFF; ,一定要将溢出位置一,。

它就会自动清零;TOV0在TIFR寄放器的末位, 一旦定时器溢出,千赢国际, 芯片名(chip name): 艾特梅尔公司 MEGA16A 芯片; 概述: 使用 8位定时器 0 完成切确定时,千赢国际平台,注意!此时必要向定时器0溢出标志位位TOV0 写"1", 逻辑分析仪 捕捉到 { //PA口跳变时间有一点偏差。

,设置 初始值 (此寄放器的值自增到255再加一就是0了); TCCR0=0x02;//定时器0分频设置寄放器 定时器8分频. //定时器公式: 256 - (12兆(呆板频率) 分频) X (溢出时间) =初始值; } int main(void) { uint16 i=0,j=0; io(); //初始化所有io口; mcu(); //设置定时器分频和初始值; PORTB=0X04; //LED共阳极使能; while(1) { if((TIFR { j++; TCNT0=0x6a; //重设初始值,,定时器0溢出 重设初始值和溢出位清零很重要,,主码 时间了,,溢出时间是0.0001秒; TIFR|=0X01; //!!!!!!!!!这个很重要。

上一篇:没有了

下一篇:千赢国际平台STC89C52单片机定时器2的利用