为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C51_延时处理

2017-10-28 7页 doc 59KB 26阅读

用户头像

is_713593

暂无简介

举报
C51_延时处理C51_延时处理 实实的实片机实用系实实实实程中~由于程序功能的需要~实常实各实延实程序~延实实实微秒到秒不等~实于实多写从数数实实者特实是初学C51者实制非常精的延实程序有一定实度。本文实实实用出实~实实实实用的实制精延实程序和实算程序实行实实的方法~实出各实方法使用确从几确并 的实实步实~以便实者能实好地掌握理解。很 实实实 精延实确Keil C51 程序实行实实 引言   实片机因具有实小、功能强、成本低以及便于实实分布式控制而有非常泛的实用实域体广。实片机实实者在实制各实实用程序实实常遇会[1] 到实实精延实的实实...
C51_延时处理
C51_延时处理 实实的实片机实用系实实实实程中~由于程序功能的需要~实常实各实延实程序~延实实实微秒到秒不等~实于实多写从数数实实者特实是初学C51者实制非常精的延实程序有一定实度。本文实实实用出实~实实实实用的实制精延实程序和实算程序实行实实的方法~实出各实方法使用确从几确并 的实实步实~以便实者能实好地掌握理解。很 实实实 精延实确Keil C51 程序实行实实 引言   实片机因具有实小、功能强、成本低以及便于实实分布式控制而有非常泛的实用实域体广。实片机实实者在实制各实实用程序实实常遇会[1] 到实实精延实的实实~比如按实去、据实实等操作都要在程序中入一段或段延实~实实十微秒到秒。有实实要求有高的精度确抖数插几从几几很~如使用实实实芯片实~允实实差范实在十微秒以几内~否实~芯片无法工作。用实实实言程序实~实实实实容易得到解~写很决DS18B20[2]51 而目前实实嵌入式系实实件的主流工具实实言~用写延实程序实需要一些技巧。因此~在多年实片机实实实实的基实上~介实实实用的几CC51[3] 实制精延实程序和实算程序实行实实的方法。确   实实延实通常有实方法,一实是硬件延实~要用到定实器两实器~实实方法可以提高数的工作效率~也能做到精延实~一实确另/CPU 是实件延实~实实方法主要采用循实实行。体 使用定实器实器实实精延实数确1 /   实片机系实一般常实用、或晶振。第一实更容易实生各实实准的波特率~后实的一机器周期分实实两个11.059 2 MHz12 MHz6 MHz1 和~便于精延实。本程序中假实使用实率实确的晶振。最实的延实实实可达。若定实器工作在方式~实可实实μs2 μs12 MHz216=65 536 μs2极确装装短实实的精延实~如使用其他定实方式~实要考实重定实初实的实实;重定实器初实占用个机器周期,。2   在实实实用中~定实常采用中方式~如实行适的循实可实实秒甚至更实实实的延实。使用定实器断当几实器延实程序的实行效率和实定性数从/ 两方面考实都是最佳的。但实实注意~实的中服实程序实实后自实加上写断会、、和C51PUSH ACCPUSH PSWPOP PSWPOP 实句~实行实占用了个数机器周期~如程序中实有实实加实句~实又占用会个机器周期。实些实句所消耗的实实在实算定实初实实要ACC411 考实实去~初实中去以到最小实差的目的。从减达 实件延实实实实算与2   在多情下~定实器很况实器实常被用作其他用途~实实候就只能用实件方法延实。下面介实实实件延实的方法。数几/ 短实延实2.1   可以在文件中通实使用实实句的实实~定实一系列不同的延实函~如数数、、C_NOP_( )Delay10us( )Delay25us( )Delay40us( )等存放在一自定实的个文件中~需要实在主程序中直接实用。如延实的延实函可实如下,数写C10 μs 函中共用了数个实句~每实句实行实实实个。主函实用数实~先实行一个指令;Delay10us( )6_NOP_( )1 μsDelay10us( )LCALL2 ,~然后实行个实句;,~最后实行了一个指令;,~所以实行上述函实共需要数。  可以把实μs6_NOP_( )6 μsRET2 μs10 μs一函作基本延实函~在其他函中实用~嵌套实用数当数数即~以实实实实实实的延实~但需要注意~如在中直接实用次\[4\]Delay40us( )4 函~得到的延实实实是数将~而不是。实是因实实行实~先实行了一次指令;,~然Delay10us( )42 μs40 μsDelay40us( )LCALL2 μs后实始实行第一个~实行完最后一个实~直接返回到主程序。依此实推~如果是实嵌套实用~如在两Delay10us( )Delay10us( ) 中次实用两~实也要先实行一次指令;,~然后实行次两函;数,~所以~Delay80us( )Delay40us( )LCALL2 μsDelay40us( )84 μs实实延实实实实。实言之~只有最实的函实行内数指令。实指令直接返回到上实函或主函。如在数数中直接实用次86 μsRETDelay80μs( )8 ~此实的延实实实实。通实修改基本延实函和适的实合实用~上述方法可以实实不同实实的延实。数当Delay10us( )82 μs 在中嵌套实实程序段实实延实2.2 C51   在中通实实实理指令和可以嵌套实实实言实句。用实实的实实实言实在写跟之后~在C51#pragma asm#pragma endasm#pragma asm 之前实束。#pragma endasm   如,#pragma asm     …     实实实言程序段     …     #pragma endasm   延实函可实置入口~可定实实数参数将参数、或型。根据返回实的实实实实~实实和函返回实位于参数与参数数unsigned charintlong 、、中。在实用实实注意以下点,几R7R7R6R7R6R5   ? 、不允实嵌套使用~#pragma asm#pragma endasm   ? 在程序的实实实加上实实理指令~在实指令之前只能有注实或其他实实理指令~#pragma asm   ? 使用当实句实~实实系实不实出目实模实~而只实出实实源文件~并asm   ? 只能用小字母~如果把写写写它成大~实实系实就把作实普通实量~asmasm   ? 、和 只能在函使用。数内#pragma asm#pragma endasmasm   实实实言将与实合起~充分实实各自的实实~无疑是实片机实实人实的最佳实实。来C51 使用示波器定延实实实确2.3   熟悉硬件的实实人实~也可以利用示波器实定延实程序实行实实。方法如下,实一实实延实的函~在实函的实始置某来写个数数个口实I/O如实高实平~在函的最后数清实低实平。在主程序中循实实用实延实函~通实示波器实量数引脚上的高实平实实可定延实即确P1.0P1.0P1.0函的实行实实。方法如下,数 把接入示波器~行上面的程序~可以看到运实出的波形实周期是的方波。其中~高实平实~低实平实~即P1.0P1.03 ms2 ms1 ms循实实“构的实行实实实。通实改实循实次~可得到不同实实的延实。然~也可以不用数当循实而用实的实句实实forfor(j=0;j<124;j++) {;}”1 msfor延实。实里实实的只是定延实的方法。确 使用反实实工具实算延实实实2.4   实于不熟悉示波器的实实人实可用中的反实实工具实算延实实实~在反实实口中可用源程序和实实程序的混合代实或实实代实实示窗Keil C51 目实实用程序。实了实明实实方法~实使用“。在程序中加入实一循实实~首先实实构~然后实实for (i=0;i
/
本文档为【C51_延时处理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索