"); //-->
压缩包 包含所有调试程序以及 AVR studio仿真文件
ICCAVR环境编译,还有AVR软件延时计算工具(C-Free写的,支持中文)
呵呵,在网上找了一下AVR单片机的软件延时程序,
觉得不怎么方便,于是就自己做了一个软件
很方便的,只要输入你所需要的延迟时间
得到所需延时的代码函数,直接调用就可以了
希望对有需要的朋友有用^_^
,'''╭⌒╮⌒╮.',''',,',.'',,','',.
╱◥██◣''o',''',,',.''.'',,',.
|田|田田│ '',,',.',''',,',.''
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
二重循环do_while(不可传递参数)
调试记录:
/*--------------------------------------------------------------*/
//ICC-AVR application builder : 2009-7-21 10:46:10
// Target : M8
// Crystal: 1.000Mhz
/*--------------------------------------------------------------*/
1、C语言程序:
/*--------------------------------------------------------------*/
//二重循环(不传递参数)
void delay(void)
{
unsigned char i, j;
j = 6; do{i = 5; do{i--;}while(i); j--;}while(j);
}
2、编译后的汇编程序:
_delay:
j --> R16
i --> R18 机器周期
0033 E006 LDI R16,6 1
0034 E025 LDI R18,5 1
0035 952A DEC R18 1
0036 2322 TST R18 1
0037 F7E9 BNE 0x0035 2/1
0038 950A DEC R16 1
0039 2300 TST R16 1
003A F7C9 BNE 0x0034 2/1
003B 9508 RET 4
0040 EF8F LDI R24,0xFF 1
0041 BB85 OUT 0x15,R24 1
0042 DFF0 RCALL _delay 3
0043 2422 CLR R2 1
0044 BA25 OUT 0x15,R2 1
0045 DFED RCALL _delay 3
◆赋值:i = 5; j = 6;
WINAVR 调试记录
40 us
193 us
193-40 = 153
LDI OUT RCALL _delay
153 = 1 + 1 + 3 + 148
DEC TST BNE i BNE LDI DEC TST BNE j LDI BNE RET
148 = {[(1 + 1 + 2) * 5 - 1] + 1 + 1 + 1 + 2} * 6 + 1 - 1 + 4
◆推出公式:
T = 4*[(i+1)*j+1]
◆验证:
4*[(5+1)*6+1] = 148 ok!
◆结论:
所以加上RCALL,总共延迟时间:T = 4*[(i+1)*j+1] + 3
◆赋值:i = 8; j = 9;
40 us
373 us
373-40 = 333
333 = 2 + 331
◆验证:
4*[(8+1)*9+1] + 3 = 331 ok! \(0^◇^0)/
/*--------------------------------------------------------------*/
★最终结论(机器周期为1us/振荡时钟为1MHz):
延迟时间T: T = 4*[(i+1)*j+1] + 3 us
最小延迟时间:T_min = 15 us
最大延迟时间:T_max = 261127 us
最小步进时间:T_step= 4 us
/*--------------------------------------------------------------*/
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
消息称IBM将笔记本转至深圳 ThinkPad完全中国造
ASURO智能车走迷宫功能演示
超声波接收电路
RP5底盘改装智能车机器人作品01
担心“缺货”?供应担忧倒逼提前备货,2025 年末旺季 PC 出货量超预期
2026年全球通用具身智能机器人市场洞察与厂商评测报告
上半年中国半导体市场复苏 产、销量各增长逾28%、24%
台湾业界预测芯片封装业年内能获准赴大陆投资
吃好这块“蛋糕”不容易
ASURO智能车功能检测演示
TH71102 FSK/FM/ASK 433/315MHz接收器
Melexis硅基RC缓冲器获利普思选用,携手开启汽车与工业能源管理技术新征程
索尼状告步步高产品外观设计侵权败诉
电压/频率转换器BG382的原理与应用
国内首款AI+AR眼镜主控SoC芯片,一次性成功点亮
2009年第四届智能车竞赛北京科技大学表演车模(光电组)
ASURO循迹避障测速智能车平衡功能演示
2025年全球PC出货增长9%,内存与存储供应紧张或影响2026年表现
从“中国实践”到“全球样板”:西门子Mendix重构跨国工厂数字化新范式
电力线载波报警器之二
[原创]nRF403射频和接收应用电路图
IDC预测,2030年22亿AI Agent将作为“新数字劳动力”席卷全球
南芯科技发布“感知-运算-执行”全集成OIS防抖驱动芯片
采用Nordic nRF54L15 SoC驱动的设计优化型无线模组,在超紧凑外形中实现卓越性能
调频TDA7088集成电路应用
调制电路与解调电路
电力载波遥控报警器之一
电压转频率和频率转电压转换器VF320
调制解调器FX809的性能及其在通信系统中的应用
IDC FutureScape 2026:重塑中国智慧城市治理模式的十个关键预测