AVR单片机定时器中断1s不准是怎么回事?

问题描述

AVR单片机定时器中断1s不准是怎么回事?

我的开发板是ATMEGA16的,用定时器1进行1s的定时,外部晶振是11.059M,256分频,计算得出初值为0x5740,然后计数60次进行1分钟的定时,控制小灯亮1分钟暗分钟,但是结果总是在55秒时小灯就变换一次,熔丝位配置为1111,会是啥问题呢,想不明白。

解决方案

51单片机定时器中断控制灯1S亮的程序

解决方案二:

注意下T1定时器是不是外部晶振,如果是内部8M晶振的话初始值应该为85ed,我没有用过avr的片子,从网上找的资料例程反推出应该是用的内部8m'晶振

解决方案三:

这也很正常,主要有以下几个原因
1.系统时钟频率各种因素导致不会精准
2. 你的定时器配置原因
3. 你的系统与你的参考时间不同步,肉眼的分辨率也有可能造成。

时间: 2024-12-10 03:13:17

AVR单片机定时器中断1s不准是怎么回事?的相关文章

51单片机定时器中断问题

问题描述 51单片机定时器中断问题 代码如下,设置断点后发现,程序不进入定时器中断函数 #include #include #define uchar unsigned char #define uint unsigned int sbit key=P3^7; uchar display[8][8]; /*rank:Z,H,B,I,T,I,心,U*/ uchar code table_cha[8][8]={0x7E, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x7

MSP430F169 定时器中断问题

问题描述 MSP430F169 定时器中断问题 新手求指教,小女子刚接触430,很多东西不懂,现在遇到难题了,望各位大神指点一下,不胜感激! 这段程序的中断能进去,但是貌似是跳不出来,执行到 while(1) 里面的 if(flagTrans==1) 就不执行了,程序哪部分写的不对啊 我的本意是想让while(1)死循环停下10秒的时间然后去干别的事情,然后再回到这个while循环 unsigned char flagTrans=0; unsigned char Second=0; void m

C#串口和定时器中断的优先级

问题描述 如题,求教C#有没有办法可以设置串口和定时器中断的优先级?即定时器和串口中断同时到达的时候,优先处理其中一个? 解决方案 解决方案二:没有,定时器不是中断,串口也不是中断解决方案三:你是单片机做多了解决方案四:事件触发时,你的处理程序可以使用异步并发形式,而不去阻塞父线程的后续处理.这样,就不会阻塞立刻触发的其它的事件.windows系统是多线程抢先式的任务调度系统,不是底层那样的简单暴力机制.另一方面,在windows应用程序层次的一个任务往往相当于底层数十万行复杂逻辑代码,不是像底

嵌入式开发-stm32串口中断和定时器中断冲突

问题描述 stm32串口中断和定时器中断冲突 串口1每1秒给32发一串数据,通过中断接收:串口而是被动的,只有32给他发送数据0x01,它才给32回一串数据,定时器中断产生定时时长,用来发送那个0x01,现在的问题是32在定时器和串口同时工作的情况下,接收到的串口数据有错. 解决方案 用串口调试程序看下是不是数据不完整造成的. 解决方案二: 这个没看到程序不好说 解决方案三: 单片机学习笔记--外部中断,定时器,串口中断STM32串口中断方式接收STM32 串口接收中断 代码

AVR单片机原来用于烧写程序的接口可以接仿真器来仿真吗

问题描述 AVR单片机原来用于烧写程序的接口可以接仿真器来仿真吗 原来该端口就是用WINAVR直接烧写程序,现在我想在AVRstudio上面进行仿真,却怎么都连接不上,是不是用来烧程序的端口设置不一定可以进行仿真 解决方案 你的下载器是什么下载器?有的下载器是不支持仿真功能的

数据包 校验-avr单片机数据包的发送和校验的问题

问题描述 avr单片机数据包的发送和校验的问题 我想问一下用avr单片机串口发送完整的数据包有哪几种可行的方法,并对数据包进行校验,求程序

vAVRdisasm 2.0发布 AVR单片机反汇编程序

vAVRdisasm是Atmel公司的8-bit AVR单片机固件反汇编程序.该单一的反汇编器能够阅读通用Atmel.Intel HEX8和Motorola S记录格式的二进制文件,包含有效的AVR固件.vAVRdisasm支持各种格式的选项,并可以直接输出组装代码. vAVRdisasm 2.0该版本进行一些变更,LDS.STS.JMP和CALL指令的地址操作数格式从字节http://www.aliyun.com/zixun/aggregation/17370.html">地址变更为输出

c-请问51单片机按键中断失效。

问题描述 请问51单片机按键中断失效. 自己做了块板子,MCU是IAP15F2K61S2,其他的程序烧进去可以跑,但是外部中断0的 按键按上去没有反应,程序上应该没问题,软件仿真可行,并且大部分为源代码,上电后 测试过未按键,引脚的电压是5V,而按键按下别为0V,感觉也没有问题,但为什么程序 不响应?在线求大神解答. 解决方案 51单片机中断问题51单片机之中断 学习心得 解决方案二: 先下一个基础程序进去看看 确保硬件没有问题 有硬件不建议用仿真 仿真蛮容易忽略很多问题 解决方案三: 你打开外

MSP430单片机定时器学习笔记

msp430 定时器学习笔记 _BIS_SR(LPM2_bits + GIE)  //进入LPM3低功耗模式和开总中断允许 中断 #pragma  vector=TIMERA0_VECTOR__interrupt void Timer_A(void){   }       TACTL   timerA控制寄存器TAR     timerA计数器CCTL0   捕获/比较控制寄存器0CCRO    捕获/比寄存器0(具有最高中断优先级别,单独使用一个中断向量)CCTL1   捕获/比较寄存器1CC