(51单片机)那个大佬给讲解一下这个延时函数 51单片机c语言延时函数 Void delay 1ms(un...

\uff0851\u5355\u7247\u673a\uff09\u6c42\u9ad8\u624b\u7ed9\u8bb2\u89e3\u4e00\u4e0b\u8fd9\u4e24\u4e2a\u5ef6\u65f6\u51fd\u6570\u6709\u6ca1\u6709\u533a\u522b\uff1f

\u5f53\u7136\u6709\u533a\u522b\uff0c\u4f46\u8981\u7f16\u8bd1\u6210\u6c47\u7f16\u4ee3\u7801\u624d\u80fd\u770b\u51fa\u5177\u4f53\u5dee\u522b

C\u7a0b\u5e8f\u4e2d\u53ef\u4f7f\u7528\u4e0d\u540c\u7c7b\u578b\u7684\u53d8\u91cf\u6765\u8fdb\u884c\u5ef6\u65f6\u8bbe\u8ba1\u3002\u7ecf\u5b9e\u9a8c\u6d4b\u8bd5\uff0c\u4f7f\u7528unsigned char\u7c7b\u578b\u5177\u6709\u6bd4unsigned int\u66f4\u4f18\u5316\u7684\u4ee3\u7801\uff0c\u5728\u4f7f\u7528\u65f6\u5e94\u8be5\u4f7f\u7528unsigned char\u4f5c\u4e3a\u5ef6\u65f6\u53d8\u91cf\u3002 \u4ee5\u67d0\u6676\u632f\u4e3a12MHz\u7684\u5355\u7247\u673a\u4e3a\u4f8b\uff0c\u6676\u632f\u4e3a12MHz\u5373\u4e00\u4e2a\u673a\u5668\u5468\u671f\u4e3a1us\u3002
void delay_ms(unsigned int ms_number) // ms\u5ef6\u65f6\u51fd\u6570 (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=0;c<?;c++);
}
void delay_ms(unsigned int ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<200;j++);
for(j=0;j<102;j++);
}
}

\u62d3\u5c55\u8d44\u6599
C\u8bed\u8a00\u662f\u4e00\u95e8\u901a\u7528\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\uff0c\u5e94\u7528\u5e7f\u6cdb\u3002C\u8bed\u8a00\u7684\u8bbe\u8ba1\u76ee\u6807\u662f\u63d0\u4f9b\u4e00\u79cd\u80fd\u4ee5\u7b80\u6613\u7684\u65b9\u5f0f\u7f16\u8bd1\u3001\u5904\u7406\u4f4e\u7ea7\u5b58\u50a8\u5668\u3001\u4ea7\u751f\u5c11\u91cf\u7684\u673a\u5668\u7801\u4ee5\u53ca\u4e0d\u9700\u8981\u4efb\u4f55\u8fd0\u884c\u73af\u5883\u652f\u6301\u4fbf\u80fd\u8fd0\u884c\u7684\u7f16\u7a0b\u8bed\u8a00\u3002
\u5c3d\u7ba1C\u8bed\u8a00\u63d0\u4f9b\u4e86\u8bb8\u591a\u4f4e\u7ea7\u5904\u7406\u7684\u529f\u80fd\uff0c\u4f46\u4ecd\u7136\u4fdd\u6301\u7740\u826f\u597d\u8de8\u5e73\u53f0\u7684\u7279\u6027\uff0c\u4ee5\u4e00\u4e2a\u6807\u51c6\u89c4\u683c\u5199\u51fa\u7684C\u8bed\u8a00\u7a0b\u5e8f\u53ef\u5728\u8bb8\u591a\u7535\u8111\u5e73\u53f0\u4e0a\u8fdb\u884c\u7f16\u8bd1\uff0c\u751a\u81f3\u5305\u542b\u4e00\u4e9b\u5d4c\u5165\u5f0f\u5904\u7406\u5668\uff08\u5355\u7247\u673a\u6216\u79f0MCU\uff09\u4ee5\u53ca\u8d85\u7ea7\u7535\u8111\u7b49\u4f5c\u4e1a\u5e73\u53f0\u3002

u16 i,这是定义一个16位整型的形参变量 i ,其实,u16 并不是C51的变量类型,而是在程序的前面用#define u16 unsigned int 宏定义的。
延时就是利用循环体while(i--); 来实现的,变量x先减1,判断不是0,继续循环,继续减1,判断,直到x=0,结束循环,延时结束。

其他函数中调用这个延时函数是会直接为变量i赋值,例如 delay(10);此时这个延时函数在运行时,i会循环减1直至为0时跳出完成延时,至于延时时间需要参照单片机系统的晶振频率、单片机运行速度等因素估算。

  • (51鍗曠墖鏈)閭d釜澶т浆缁欒瑙d竴涓嬭繖涓欢鏃跺嚱鏁
    绛旓細u16 i锛岃繖鏄畾涔変竴涓16浣嶆暣鍨嬬殑褰㈠弬鍙橀噺 i 锛屽叾瀹烇紝u16 骞朵笉鏄C51鐨勫彉閲忕被鍨嬶紝鑰屾槸鍦ㄧ▼搴忕殑鍓嶉潰鐢#define u16 unsigned int 瀹忓畾涔夌殑銆傚欢鏃跺氨鏄埄鐢ㄥ惊鐜綋while(i--); 鏉ュ疄鐜扮殑锛屽彉閲弜鍏堝噺1锛屽垽鏂笉鏄0锛岀户缁惊鐜紝缁х画鍑1锛屽垽鏂紝鐩村埌x=0锛岀粨鏉熷惊鐜紝寤舵椂缁撴潫銆
  • 鍝綅澶т浆鏈 51鍗曠墖鏈C璇█缂栫▼涓瀛﹀氨浼,甯繖鎵句竴涓嬩功绫嶇櫨搴︾綉鐩樿祫婧愬憲...
    绛旓細鎴戣繖鏈夎祫婧 鍙互鐪嬩笅 51鍗曠墖鏈C璇█缂栫▼涓瀛﹀氨浼歨ttps://pan.baidu.com/s/1MeLKzFg_iAoZfYSKRaaAOw?pwd=1234鎻愬彇鐮侊細1234 鏈功浠TC89C52锛圓T89S52锛変负渚嬶紝浠嬬粛浜51鍗曠墖鏈虹殑缁撴瀯鍜岀壒鐐广佸叆闂ㄥ拰鎻愰珮鎵闇鐨凜璇█鐭ヨ瘑锛51鍗曠墖鏈虹殑杈撳叆/杈撳嚭銆佸畾鏃跺櫒銆佷腑鏂佷覆琛岄氫俊銆丄-D鍜孌-A杞崲銆佷氦娴佸拰鐩存祦鐢靛姩...
  • 鍝綅澶т浆鏈 MCS-51鍗曠墖鏈鍘熺悊鍙婂簲鐢,姹傛暀鏉愮櫨搴︾綉鐩樺晩!鎬ユユ!_鐧惧害...
    绛旓細https://pan.baidu.com/s/10lDpnn2Qf6dy6DhXPqQBCw 鎻愬彇瀵嗙爜锛1234 51鍗曠墖鏈鏄鍏煎鑻辩壒灏8051鎸囦护绯荤粺鐨勫崟鐗囨満鐨勭粺绉般51鍗曠墖鏈哄箍娉涘簲鐢ㄤ簬瀹剁敤鐢靛櫒銆佹苯杞︺佸伐涓氭祴鎺с侀氫俊璁惧涓傚洜涓51鍗曠墖鏈虹殑鎸囦护绯荤粺銆佸唴閮ㄧ粨鏋勭浉瀵圭畝鍗曪紝鎵浠ュ浗鍐呰澶氶珮鏍$敤鍏惰繘琛屽崟鐗囨満鍏ラ棬鏁欏銆
  • 鍝綅澶т浆鏈 51鍗曠墖鏈鍒濈骇鍏ラ棬瀹炴垬鏁欑▼,甯竴涓!鎬ラ渶涔︾睄!鏈変汉鏈夊悧...
    绛旓細鎴戣繖鏈夎祫婧 鍙互鐪嬩笅 51鍗曠墖鏈鍒濈骇鍏ラ棬瀹炴垬鏁欑▼https://pan.baidu.com/s/1vwM1L8ItnRmYXeI-DAqfvg?pwd=1234 鎻愬彇鐮侊細1234 鏈功鏄互涓烘祦琛岀殑51绯诲垪鍗曠墖鏈轰负鐭ヨ瘑涓讳綋锛屼娇鐢–璇█瀵51鍗曠墖鏈鸿蒋浠惰繘琛岀▼搴忚璁°傚叏涔︽诲叡鍒嗕负涓夐儴鍒嗭細鈶犲崟鐗囨満鍩虹鐭ヨ瘑绡囷紱鈶″崟鐗囨満鍩虹妗堜緥瀹炶返绡囷紱鈶㈠崟鐗囨満缁煎悎妗堜緥瀹炶返绡囥
  • 51鍗曠墖鏈at89s52鎬庝箞鍋0-9绉掑掕鏃,姹澶т浆瑙g瓟
    绛旓細鐢ㄤ竴涓叡闃存暟鐮佺鎺ュ湪P0鍙o紝鐢盤0鍙h緭鍑烘鐮併傚啀鐢ㄥ畾鏃跺櫒瀹氭椂50ms锛岄噰鐢ㄤ腑鏂柟寮忥紝瀵逛腑鏂鏁20娆″氨鏄竴绉掋傜敤涓涓彉閲忚绉掞紝鍒濆间负9锛屾瘡涓绉掑噺涓锛屽苟閫丳0鏄剧ず銆備豢鐪熷浘濡備笅銆
  • 姹C51鍗曠墖鏈哄ぇ浣甯姪
    绛旓細娉ㄦ剰bit鐨勮寖鍥 瀹氭椂鍣ㄤ腑鏂垨鍒濆鍖栬鎳
  • 51鍗曠墖鏈鐨勫紩鑴氱殑鍥涚妯″紡鍒嗗埆鏄湪浠涔堟儏鍐典笅鐢ㄤ粈涔堟ā寮?
    绛旓細杩欎笉鏄爣鍑51锛屾爣鍑51鐨処O鍙g粨鏋勯兘鏄噯鍙屽悜鍙o紝娌℃湁寮烘帹鎸藉拰寮婕忋備笉绠℃爣鍑51杩樻槸鎵╁睍51锛屼笂鐢靛浣嶇殑鏃跺橧O绠¤剼閮芥槸杈撳叆妯″紡锛岄伩鍏嶅鍥寸數璺笉鍖归厤寮曡捣鐨勬崯鍧忋傦紙褰撶劧锛屾煇浜涙儏鍐典笅浼氬埢鎰忓埄鐢ㄨ繖绉嶆崯鍧忥級
  • 51鍗曠墖鏈涓插彛杩炴帴娌¢棶棰,浣嗗嵈涓鐩存彁绀鸿鈥滀覆鍙f墦寮澶辫触鈥,璇澶т浆瑙g瓟...
    绛旓細USB璁惧鍚嶇О宸茬粡璇存槑浜嗕竴鍒団︹︿綘涔颁簡涓鏍逛豢鍐掑叾瀹冨搧鐗岀殑USB杞覆鍙g嚎锛岀劧鍚庤繖鏍圭嚎鏄甫鏈夐槻鎶勬澘鍔熻兘鐨勶紝绫讳技鑻规灉閰嶄欢銆
  • 姹澶т浆甯湅涓51鍗曠墖鏈鐨勭▼搴,涓嶇煡閬撻敊璇嚭鍦ㄥ摢閲屼簡
    绛旓細鏈鍚庝竴琛岀殑绗竴涓暟鎹簲璇ユ槸0C0H锛屼綘鎵撶殑鏄ぇ鍐欏瓧姣峅锛屼笉鏄0銆傝鍙婃椂閲囩撼銆
  • 鐢51鍗曠墖鏈瀹炵幇8涓狶ED鐏垎涓2缁,鍒嗗埆闅忔椂闂存帶鍒朵寒鐏,涓ょ粍浜掍笉褰卞搷銆傛眰...
    绛旓細uchar t1,t2,sec1,sec2;void t0isr() interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;t1++;if(t1>=20){ t1=0;sec1++;} if(sec1<5)P1=P1&0x0f;else P1=P1|0xf0;sec1%=11;} void t1isr() interrupt 3 { TH1=(65536-50000)/256;TL1=(65536-50000)%256;t2++;...
  • 扩展阅读:以前的51网站去哪了 ... 51黑单片机开源论坛 ... 以前的51网址现在叫什么 ... 以前的51怎么进入 ... 51网站还在吗 ... 以前的51网还在吗 ... 51单片机入门视频 ... 加入51黑电子论坛 ... 以前的51空间现在怎么打开 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网