51单片机求10微秒的延时函数 C语言(晶振11.0592MHz)
1、下面几个是单片机的延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0000MHz的晶振,而在AVR单片机上常用的有8.000MHz和4.000MH的晶振所以在网上查找程序时如果涉及到精确延时则应该注意晶振...
51单片机C语言中delay函数是怎么定义和使用的?
定义一个延时xms毫秒的延时函数 void delay(unsigned int xms) \/\/ xms代表需要延时的毫秒数 { unsigned int x,y;for(x=xms;x》0;x--)for(y=110;y》0;y--);} 使用:void Delay10us(uchar Ms){ uchar data i;for(;Ms》0;Ms--)for(i=26;i》0;i--);} i=[(延时值...
单片机延时函数的设计
对于51单片机,两个参数决定了MAIN_Fosc的数值,1】系统板的晶振。2】有否单片机的时钟分频。如果没有设置时钟分频,而晶振是X MHz=X*1000000Hz,那么X*1000000=13000*850;X=13000*850\/1000000=11.05; 值此可以推断,这个延时函数是基于晶振11.0592MHz的。废话说了这么多,主要想提醒楼主注意,通过...
我用的51单片机的振荡频率为11.0592MHZ,此单片机的定时器能最小识别...
既然之前设置的定时器完成一次计时是100微秒,计200次就可以了,舵机正常工作。后来改成50微秒,计400次舵机就不正常工作,那说明舵机不能识别那么高频率的方波,或者数据类型错了,应该定义为unsigned int。因为unsigned char 类型最大值只能是255。
C语言延时程序中,延时时间是如何计算出来的. (假如我想延时1s该如何计算...
你这个11.0592是匹配波特率所用的晶振,机器周期只是约等于1us。首先你要延时多长时间,us级别的必须使用汇编,C误差很大,10-100us级别的可以用C控制,单必须考虑C出栈入栈时间。ms以上的用时间除以机器周期(除以你则个1us是不行的,误差大)。另外,看着你好像用的是keil,keil里边单步调试里边不是...
在keil_C51设计中几种精确延时的方法
所以,实际延时时间为86 μs。简言之,只有最内层的函数执行RET指令。在C51中通过预处理指令 #pragma asm和#pragma endasm可以嵌套汇编程序段实现延时。用户编写的汇编语言紧跟在 #pragma asm之后,在 #pragma endasm之前结束。将汇编语言与C51结合起来,充分发挥各自的优势,无疑是单片机开发人员的最佳...
51单片机c语言延时函数 Void delay 1ms(unsigned int ms){un
void delay_ms(unsigned int ms_number) \/\/ ms延时函数 (AT89C51 @ 11.0592MHz){ unsigned int i;unsigned char j;for(i=0;i<ms;i++){ for(j=0;j<200;j++);for(j=0;j<102;j++);} } void Delay(){ unsigned char a,b,c;for(a=0;a<?;a++)for(b=0;b<?;b++)for(c...
51单片机的定时器问题
假设要求50ms中断,求定时器初值。晶振11.0592M,每个机器周期时间为:t=12×(1\/11.0592M) 单位:us 50ms所需机器周期为:50×1000÷t=46080 那么需要初值为:0xFFFF-46080=65535-46080=19456=0x4C00 因此,置初值为TH=0x4c,TL=0x00,经过46080个指令周期,计数器将产生50ms定时中断。如果...
51单片机用11.0592晶振和12MHZ的编程有区别吗
区别不大,但与定时器有关的初值需修改,因都是要求时间准确的场合才用定时器,例如串口异步通信,普通的延时函数有误 差关系不大
用51单片机实现时钟功能程序???
DELAY200US:;@11.0592MHz NOP NOP NOP PUSH30H PUSH31H MOV30H,#2 MOV31H,#179 NEXT:DJNZ31H,NEXT DJNZ30H,NEXT POP31H POP30H RET ORG0060H ;DISPLAY子程序 DISPLAY:PUSHACC;不能写A,此处ACC代表地址,push后跟地址,代表把地址内的内容压入栈中 PUSH00H;R0 PUSH06H;R6 PUSH07H;R7 PUSH...