原创 C51延时函数的编写及调试方法

2008-10-19 18:23 4768 7 8 分类: MCU/ 嵌入式

 


关键字:C51延时,精确延时,延时程序的编写,C51程序的调试


本文详细分析了函数及循环语句的执行过程,介绍了用C51编写和调试精确延时程序的方法。
在单片机程序设计过程中,实现精确的时间控制通常可以采用定时或延时的方法。传统的定时器定时的方法可实现1个机器周期的精确的时间控制;神圣的汇编语言同样可以实现1个机器周期的精确延时;而C51,不能直观的计算出执行周期,精确延时似乎难以实现。以至于,执着于汇编程序设计的前辈们经常将C51的这些缺点否定得一无是处(曾在某公司,唯我使用C51。当有一次牵涉到时间控制的时候,我的领导:“C语言延时是不精确的,我们某产品上的DS18B20,程序是用汇编写的,用C就没法控制”——荒唐);而使用C51的新手也因这些问题而烦恼(论坛、QQ群,咨询C51延时的相关问题的真是太多了)。当C51新手提到此类问题的时候,习惯了计算汇编代码的执行周期的高手当然会毫不吝啬的将自己的方法告诉他们。这方法似乎太麻烦了吧?那么,采用什么样的方法可以方便的计算出C51代码的执行周期而实现精确定时呢?请看下文……


《C51精确延时函数的编写及调试方法》PDF文档


pdf


调试例程
https://static.assets-stash.eet-china.com/album/old-resources/2008/10/19/ec293eb5-81df-4eca-9aec-c164c9ecfe7f.rar


 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1504388 2009-8-11 14:27

非常感谢楼主,真的学习了!!!!谢谢!!!
相关推荐阅读
用户1410124 2010-08-09 12:09
通过自定义HID设备实现PC与STM32之间灵活的双向通信
本文记录利用STM32的USB设备以HID方式实现与PC的自定义包大小通信的上下位机开发过程.关键字: USB, HID, HID读写,Report Descriptor要解决的问题 : 假定某一串行...
用户1410124 2010-01-25 20:35
在stm32上采用ENC28J60+uip1.0实现udp通信的笔记
在stm32上采用ENC28J60+uip1.0实现udp通信的笔记一、移植中要做的修改(相当简单):1、修改tapdev.c 中的tapdev_init(),tapdev_read(),tapdev...
用户1410124 2010-01-13 15:40
VC++项目开发全程实录[视频教程全集]
快速链接  http://www.songxiaolong.com/go/43629.html ...
用户1410124 2009-12-19 10:07
VC论坛
VC论坛:     1.编程先锋         http://wlbookwl.myrice.com   (后起之秀,实力可畏,吐血推荐!)         2.Visual   C++-MFC开发...
用户1410124 2009-12-19 09:54
堆和栈的区别
一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操...
用户1410124 2009-05-31 15:32
uC/GUI跑起来了
uC/GUI跑起来了,拿出来晒晒^_^ mdk里弄的,lpc2138上跑的,proteus里仿的,12864LCD显示的,纯虚拟环境,实在是方便啊,没上OS,下一个脚印当然就是OS++啦。 ...
我要评论
1
7
关闭 站长推荐上一条 /3 下一条