第14章单片机c51程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章单片机c51程序设计

14.9 MCS-51汇编语言与C51的混合编程 func3(long e, long f):长整型变量e是第一个参数,在 R4,R7中传递,长整型变量f是第二个参数,只能在参数段中传递(第二个参数的传递寄存器 R4,R7已被占用)。 第十四章 单片机C51程序设计 func4(float g, char h):单精度浮点变量g是第一个参数,在R4,R7 中传递,字符变量h是第二个参数,只能在参数段中传递(第二个参数的传递寄存器 R5已被占用)。 14.9 MCS-51汇编语言与C51的混合编程 参数传递段给出了汇编子程序使用的固定存储区,就像参数传递给C函数一样,参数传递段的首地址通过名为“?函数名?BYTE”的PUBLIC符号确定。当传递位值时,使用名为“?函数名?BIT”的PUBLIC符号确定。所有传递的参数放在以首地址开始递增的存储区内,函数返回值放入CPU寄存器中,如表14-8所示。 第十四章 单片机C51程序设计 14.9 MCS-51汇编语言与C51的混合编程 第十四章 单片机C51程序设计 表 14-8 函数返回值的寄存器 返回类型 返回的寄存器 说 明 bit C 在进位标志中返回i (unsigned) char R7 在R7中返回 (unsigned) int R6 ,R7 返回值高位字节在R6中,低位字节在R7中 (unsigned) long R4 ~R7 返回值高位字节在R4中,低位字节在R7中 float R4 ~R7 32位IEEE格式,指数和符号数在R7中 指针 R1,R2,R3 R3中放寄存器类型,高位地址在R2中,低位地址在R1中 注意:在汇编程序中,当前选择的寄存器组及寄存器ACC、B、DPTR和PSW的内容都可能改变。当程序被C51调用时,必须无条件地假设这些寄存器的内容已被破坏。 14.10 C51编程举例 利用优先权解码芯片74LS148,把多个中断源信号作为一个中断,在8个中断源的情况下,经过优先级译码,只占用3个I/O端口。图14-6所示是在MCS-51单片机的外部中断 上扩展多个外部中断源的逻辑原理图。当有任一中断源产生中断请求,就能在MCS-51单片机的外部中断 上产生一个有效中断信号,由 口的低三位可判断出对应的中断源。C51参考程序如下: 第十四章 单片机C51程序设计 14.10.1 多中断源处理 #includereg51.h /*包含头文件reg51.h*/ typedef unsigned char BYTE BYTE status; void main( ) /*主程序*/ { PX0=1; /*设置 为高优先级中断*/ EX0=1; /* 允许中断*/ EA=1; /*开中断*/ for(; ;) } void service_int0() interrupt 0 using0 /* 中断服务程序, 使用第0组寄存器*/ { status=P1 ; /*读取 口状态以确定发生中断的中 断源*/ status=status0x07; /*屏蔽高5位*/ } switch(status) /*根据中断号作相应处理*/ {case0: { … /*处理中断源1*/ break ; } case1: { … /*处理中断源2*/ break ; } case7: { … /*处理中断源8*/ break ; } } } 14.10 C51编程举例 第十四章 单片机C51程序设计 14.10.1 多中断源处理 图14-6 多个中断源的中断 14.10 C51编程举例 本例中说明了一个重要的中断处理技术,在实际中断系统中,如果中断处理程序比较长,如放在中断服务程序中进行处理,可能会延长甚至会丢掉比该中断优先级低或相同优先级的中断请求。为了提高中断响应速度,可以只在中断服务程序中为该中断建立中断标志,而把中断处理程序放在主程序中去处理。在主程序中判断是否有中断标志,如有中断标志则根据中断情况作相应的处理。 第

您可能关注的文档

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档