打印
[Atmel]

用AtmelStudio6.2跑mega16例程(35)T0控制LED

[复制链接]
836|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2014-10-17 22:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个程序是利用T0的溢出中断。来定时控制LED的闪亮.

Prouets仿真的截图:



Studio6.2截图:


具体程序:
/*
* GccApplication21.c
*
* Created: 2014-10-17 21:43:54
*  Author: Administrator
*/

#define F_CPU 4000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>

#define LED_BLINKL()(PORTC ^= 0x01)
uint16_t T_Count = 0;


int main(void)
{
    DDRC = 0x01;
        TCCR0 = 0x05;
        TCNT0 = 256 - F_CPU/1024.0*0.05;
        TIMSK = 0x01;
        sei();
       
       
        while(1)
    {
        //TODO:: Please write your application code
    }
}

ISR(TIMER0_OVF_vect)
{
        TCNT0 = 256 - F_CPU/1024.0 *0.05;
        if(++T_Count != 5) return;
        T_Count = 0;
        LED_BLINKL();
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6956

帖子

67

粉丝