文档介绍:C51_延时处理实实的实片机实用系实实实实程中~由于程序功能的需要~实常实各实延实程序~延实实实微秒到秒不等~实于实多写从数数实实者特实是初学C51者实制非常精的延实程序有一定实度。本文实实实用出实~实实实实用的实制精延实程序和实算程序实行实实的方法~实出各实方法使用确从几确并的实实步实~以便实者能实好地掌握理解。很实实实精延实确KeilC51程序实行实实引言实片机因具有实小、功能强、成本低以及便于实实分布式控制而有非常泛的实用实域体广。实片机实实者在实制各实实用程序实实常遇会[1]到实实精延实的实实~比如按实去、据实实等操作都要在程序中入一段或段延实~实实十微秒到秒。有实实要求有高的精度确抖数插几从几几很~如使用实实实芯片实~允实实差范实在十微秒以几内~否实~芯片无法工作。用实实实言程序实~实实实实容易得到解~写很决DS18B20[2]51而目前实实嵌入式系实实件的主流工具实实言~用写延实程序实需要一些技巧。因此~在多年实片机实实实实的基实上~51[3]实制精延实程序和实算程序实行实实的方法。确实实延实通常有实方法,一实是硬件延实~要用到定实器两实器~实实方法可以提高数的工作效率~也能做到精延实~一实确另/CPU是实件延实~实实方法主要采用循实实行。体使用定实器实器实实精延实数确1/ 实片机系实一般常实用、或晶振。第一实更容易实生各实实准的波特率~~便于精延实。本程序中假实使用实率实确的晶振。最实的延实实实可达。若定实器工作在方式~实可实实μs2μs12MHz216=65536μs2极确装装短实实的精延实~如使用其他定实方式~实要考实重定实初实的实实;重定实器初实占用个机器周期,。2 在实实实用中~定实常采用中方式~如实行适的循实可实实秒甚至更实实实的延实。使用定实器断当几实器延实程序的实行效率和实定性数从/两方面考实都是最佳的方案。但实实注意~实的中服实程序实实后自实加上写断会、、PUSHPSWPOPPSWPOP实句~实行实占用了个数机器周期~如程序中实有实实加实句~实又占用会个机器周期。411考实实去~初实中去以到最小实差的目的。从减达实件延实实实实算与2 在多情下~定实器很况实器实常被用作其他用途~实实候就只能用实件方法延实。下面介实实实件延实的方法。数几/ 可以在文件中通实使用实实句的函实实~定实一系列不同的延实函~如数数、、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后实始实行