有关51单片机延时子程序

51C 用循环作延时的程序比汇编不好写多了。它不能计算的,只能用逐一试验的方法。这里也作个1 秒延时的,用P1口输出,每秒求反一次。仿真中可看出每秒红或蓝电平切换一次。改ms参数,可以改动延时时间,当然也是不断试验出的。这另外2 个延时时间也是很有用的,3ms延时,可作为数码管显示中的防鬼影,10ms延时可作为按键防抖用,留着备用。

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char

void delayms(ms);

void main ()
{
    while(1)
   {
      delayms(10);           //ms=1 为2.79ms,约 3ms,可作为数码管显示消鬼影延时

                                //ms=8 为9.88ms,约 10ms,可作为按键防抖延时
                                //ms=1000 为1.015s ,约 1s 延时
      P2=~P2;      //P2取反,P2口是LED灯
   }
}

void delayms(ms)          // 延时子程序
{    
  uint a,b,c;
  for(a=2;a>0;a--)
  for(b=46;b>0;b--)
  for(c=ms;c>0;c--);
}

转载于:https://www.cnblogs.com/steararre/archive/2012/03/12/2392620.html

51单片机很全的常用子程序 \ACM-12864汉字液晶显示驱动程序\acm12864.c ........................\.DC0809\0809_1.c ........................\.......\0809_2.c ........................\.......\0809_3.c ........................\.......\0809_4.c ........................\.......\0809_5.c ........................\adc2051\adc2051.c ........................\Ad_da转换\0832波形输出\三角波.asm ........................\.........\............\正弦波.asm ........................\.........\............\锯齿波.ASM ........................\.........\AD5G1443.ASM ........................\.........\AD7701.ASM ........................\.........\ADC0809.ASM ........................\.........\JIANCE.ASM ........................\.........\TLC2543.ASM ........................\.........\TLC548_5.ASM ........................\.........\TLC5615.ASM ........................\.........\文档.doc ........................\.D转换类\ADC0809.ASM ........................\........\DAC0832.txt ........................\........\目前AD-DA常用芯片.txt ........................\AT90S8515打铃程序.ASM ........................\C51_table\1第一章:基本概念\#define\#define.c ........................\.........\.................\.......\#define.Opt ........................\.........\.................\.......\#define.Uv2 ........................\.........\.................\Do_While\dowhile.c ........................\.........\.................\........\dowhile.Opt ........................\.........\.................\........\dowhile.Uv2 ........................\.........\.................\For\for.c ........................\.........\.................\...\For.Opt ........................\.........\.................\...\For.Uv2 ........................\.........\.................\Goto\Goto.c ........................\.........\.................\....\Goto.Opt ........................\.........\.................\....\Goto.Uv2 ........................\.........\.................\IF\if1.c ........................\.........\.................\..\if2.c ........................\.........\.................\..\if3.c ........................\.........\.................\..\if4.c ........................\.........\.................\..\table.Opt ........................\.........\.................\..\table.Uv2 ........................\.........\.................\SWITCH-CASE\switch.c ........................\.........\.................\...........\switch.Opt ........................\.........\.................\...........\switch.Uv2 ........................\.........\.................\typedef\typedef.c ........................\.........\.................\.......\typedef.Opt ........................\.........\.................\.......\typedef.Uv2 ........................\.........\.................\While\While.c ........................\.........\.................\.....\While.Opt ........................\.........\.................\.....\While.Uv2 ........................\.........\3第三章:开机后的启动流程\Poweron_initial.c ........................\.........\.........................\Poweron_initial.Opt ........................\.........\.........................\Poweron_initial.plg ........................\.........\.........................\Poweron_initial.Uv2 ........................\.........\4第四章:延时例程\Delay.c ........................\.........\.................\delay.Opt ........................\.........\.................\delay.plg ........................\.........\.................\delay.Uv2 ........................\.........\.................\pulse.c ........................\DES算法演示\Debug\des.dll ........................\...........\des.c ........................\...........\des.dll ........................\...........\des.dsp ........................\...........\des.dsw ........................\...........\des.h ........................\...........\des.lib ........................\...........\Release\des.dll ........................\hex2bcd.asm ........................\I2c总线\页写.ASM ........................\.IC\IC卡读卡器的C程序\搞定.c ........................\...\周立功IIC\24C02.c ........................\...\.........\test.c ........................\...\.........\VI2C_C51.c ........................\...\网络资料\24c02.c ........................\...\........\93cxx.c ........................\...\........\PC并口模拟IIC.c ........................\LED显示\八位串行LED显示驱动器MAX7219 7211应用程序.ASM ........................\main_last.asm ........................\RTX-51 Real-Time(汉).pdf ........................\RTX-51 实时操作系统.pdf ........................\SOFT_UART.ASM ........................\testpw.asm ........................\test_read.asm ........................\中断应用\intrrupt.c ........................\串行通信\8031单片机通信软件(与PC).asm ........................\........\..51与8051点对点通讯\接收.asm ........................\........\....................\甲机发送.asm ........................\........\......PC机间通讯软的设置\PC机主程序.c ........................\........\........................\PC机发送子程序.c ........................\........\........................\PC机完全程序.c ........................\........\........................\PC机接收子程序.c ........................\........\........................\单片机主程序.asm ........................\........\........................\单片机完全程序.asm ........................\........\........................\单片机接收中断子程序.asm ........................\........\........................\单片机查询发送子程序.asm ........................\........\ch1.asm ........................\........\COMMA28.ASM ........................\........\jtx.asm ........................\........\PC机与51单片机的快速串行通信程序.asm ........................\........\QS_COMMA.ASM ........................\........\SjtxR.asm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值