还剩2页未读,继续阅读
文本内容:
C程序中可使用不同类型的变量来进行延时设计经实验测试,使用unsignedchar类型具有比unsignedint更优化的代码,在使用时应该使用unsignedchar作为延时变量 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us一.500ms延时子程序程序: voiddelay500msvoid { unsignedcharijk; fori=15;i0;i-- forj=202;j0;j-- fork=81;k0;k--; } 计算分析: 程序共有三层循环 一层循环n:R5*2=81*2=162us DJNZ 2us 二层循环m:R6*n+3=202*165=33330us DJNZ 2us+R5赋值1us=3us 三层循环:R7*m+3=15*33333=499995us DJNZ 2us+R6赋值1us=3us 循环外: 5us 子程序调用2us+子程序返回2us+R7赋值1us =5us 延时总时间=三层循环+循环外=499995+5=500000us=500ms计算公式:延时时间=[2*R5+3*R6+3]*R7+5 二.200ms延时子程序程序:voiddelay200msvoid{ unsignedcharijk; fori=5;i0;i-- forj=132;j0;j-- fork=150;k0;k--;} 三.10ms延时子程序程序:voiddelay10msvoid{ unsignedcharijk; fori=5;i0;i-- forj...。