找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 49802|回復: 5
打印 上一主題 下一主題
收起左側

51單片機制作—1秒延時程序 c語言

[復制鏈接]
跳轉到指定樓層
樓主
ID:85192 發(fā)表于 2015-7-14 17:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

/2016.03.28       ( E:\DPJ_C\1S_x.c )
#include <reg51.h>
void delay_ms(unsigned int ms)                        // 延時子程序
{   
  unsigned int a,b;
  for(a=ms;a>0;a--)
  for(b=123;b>0;b--);
}
void main ()
{
  while(1)
{
  delay_ms(1000); //1s 延時,數(shù)字即為多少毫秒  
  P1=~P1;
}
}

還有一個更簡單的,補在這里。 每秒多了23us ,int 改為 char 。 如果用 int ,ms=1000,居然用了1.495S
//  2010 04 01 E:\DPJ_C\ms.c
#include <reg51.h>
void delay_ms(unsigned int ms)
{
  unsigned int a;
  while(ms--)     //while()內(nèi)的ms不為0,即為真
  for(a=0;a<123;a++);
}
void main()
{
while(1)
  {
  delay_ms(1000);
  P1=~P1;
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:215533 發(fā)表于 2017-6-28 16:35 | 只看該作者
C語言程序求助
回復

使用道具 舉報

板凳
ID:137736 發(fā)表于 2017-7-2 17:55 來自觸屏版 | 只看該作者
用定時器中斷精確延時
回復

使用道具 舉報

地板
ID:159139 發(fā)表于 2017-7-7 18:38 來自觸屏版 | 只看該作者
這種是要求不高時的延時程序,如要求高要用定時器。
回復

使用道具 舉報

5#
ID:242547 發(fā)表于 2018-5-10 22:47 | 只看該作者
怎么算的��?每次不是123*2個機器周期*1us=0.2ms嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表