请问这段单片机编程代码代码中画圈是实现什么功能的

“usingy这个y是说这个中断函数使用的那个寄存器组就是51里面一般有4个r0--r7寄存器如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返... “using y 这个y是说这个中断函数使用的那个寄存器组就是51里面一般有4个 r0 -- r7寄存器,如果你的终端函数和别的程序用的不是同一个寄存器组则進入中断的时候就不会将寄存器组压入堆栈返回时也不会弹出来节省代码和时间” 这句话是什么意思啊尤其是后面一句,希望解答的详細点

51单片机编程代码中using使用在C51编程中,用来在中断函数中指定工作寄存器区工作寄存器共有4个区,分别代表R0~R7地址是:

using n那么n就是第几區,使用方法如下:

这表示外部中断0使用第1工作区地址。

其实上面的话说得很清楚了单片机编程代码在进入中断之前,是要先进行现场保護的有一些寄存器是单片机编程代码进入中断时自己压入堆栈的,但在程序里边所用到寄存器r0-r7是不会自动压入堆栈而是用程序来实現的,这就会占用CPU时间和FLASH空间你用C语言写单片机编程代码中断程序,这些程序代码是由编译软件自动完成的

如果你的中断函数和别的函数使用的是不同的寄存器组,那么编译软件就不会自动添加寄存器压栈和出栈代码这当然就省时省代码了噻。

 简单点如果你的程序鈈大或对时间要求不高,你没必要去管单片机编程代码使用那个寄存器组即可以不使用using来说明寄存器组。这样C语言在编译时编译软件會自动增加寄存器r1-r7的进出栈代码到你的汇编代码中,已保存和恢复寄存器r1-r7的值 
从感观上来说,你用C语言实现代码里是没有进出栈的那段代码的而是编译器为保证中断返回后能正常运行而自动添加的。C语言中你也不会直接去操作r1-r7寄存器而是C语言编译后就可能用到r1-r7寄存器而已,只是你完全不知情
如果你是完全汇编编程的话,那么你就得自己写代码去实现寄存器r1-r7的保护

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 单片机代码 的文章

 

随机推荐