单片机交流
登录
直播中
刘桂英
7年用户
1170经验值
私信
关注
[问答]
如何使用ATmega16完成溢出中断功能?
开启该帖子的消息推送
ATmega16
如何使用ATmega16完成溢出中断功能?
回帖
(1)
宁晓蕾
2021-11-2 11:46:06
这里使用ATmega16完成溢出中断功能
1、初始化定时器参数
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<
TCNT0=0x37; //设置初值
OCR0=0x00;
预设频率16MHz,这里选择010,8分之一分频,2MHz,时钟周期0.5us,产生一个100us的时钟周期需要200个周期,所以时间t=(255-55)*0.5,所以初值TCNT0=0x37; //设置初值
2、设置时钟使能
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<
3、打开全局使能
// Global enable interrupts
#asm("sei")
4、写入中断程序
// Declare your global variables here
volatile unsigned int cnt=0;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
TCNT0=0x37; //重新赋予初值
cnt++; //计数
if(cnt>=1000)
{
cnt=0; //重新开始计数
PORTB^=0xff; //灯闪烁
}
}
这里使用ATmega16完成溢出中断功能
1、初始化定时器参数
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=(0<
TCNT0=0x37; //设置初值
OCR0=0x00;
预设频率16MHz,这里选择010,8分之一分频,2MHz,时钟周期0.5us,产生一个100us的时钟周期需要200个周期,所以时间t=(255-55)*0.5,所以初值TCNT0=0x37; //设置初值
2、设置时钟使能
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<
3、打开全局使能
// Global enable interrupts
#asm("sei")
4、写入中断程序
// Declare your global variables here
volatile unsigned int cnt=0;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
TCNT0=0x37; //重新赋予初值
cnt++; //计数
if(cnt>=1000)
{
cnt=0; //重新开始计数
PORTB^=0xff; //灯闪烁
}
}
举报
更多回帖
rotate(-90deg);
回复
相关问答
ATmega16
请问
ATmega16
与
ATmega16
A有什么区别?
2020-11-13
3661
基于
ATMEGA16
的AVRAD转换
中断
程序分享
2020-11-05
1049
atmega16
2013-05-04
3582
ATmega16
系列a04_INT0及INT1
中断
的知识点汇总,绝对实用
2022-01-24
1524
(ICCAVR中编译的)
ATmega16
程序和与proteus仿真图!!!
2015-11-23
7366
ATmega16
用3线制SPI通信怎么弄
2014-03-04
2563
求助
ATMEGA16
全
功能
实验板检验
2012-11-09
2344
Atmega16
用progisp下载报错flash verify error at :0h的原因是什么
2021-09-22
899
如何实现
Atmega16
单片机串口通信呢
2021-09-23
1003
求大佬分享
atmega16
单片机c语言程序设计的经典实例
2021-09-18
1640
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分