第五章 单片机C语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(6)C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。 (7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明。防止其它程序调用。 【例】编写一个用于统计外中断0的中断次数的中断服务程序。 extern int x; void int0() interrupt 0 using 1 { x++; } 三、指定工作寄存器(using n修饰符) 修饰符using n用于指定本函数内部使用的工作寄存器组,其中n的取值为0~3,表示寄存器组号。 对于using n修饰符的使用,注意以下几点 (1)加入using n后,C51在编译时自动的在函数的开始处和结束处加入以下指令。 { PUSH PSW ;标志寄存器入栈 MOV PSW,#与寄存器组号相关的常量 POP PSW ;标志寄存器出栈 } (2)using n修饰符不能用于有返回值的函数,因为C51函数的返回值是放在寄存器中的。如寄存器组改变了,返回值就会出错。 三、函数的调用与声明 调用 声明 1.函数的调用 三种: (1)函数语句。把被调用函数作为主调用函数的一个语句。 函数调用的一般形式如下 函数名(实参列表); 对于有参数的函数调用,若实参列表包含多个实参,则各个实参之间用逗号隔开。 (2)函数表达式。函数被放在一个表达式中,以一个运算对象的方式出现。这时的被调用函数要求带有返回语句,以返回一个明确的数值参加表达式的运算。 (3)函数参数。被调用函数作为另一个函数的参数。 2.自定义函数的声明 在C51中,函数原型一般形式如下: [extern] 函数类型 函数名(形式参数表); 函数的声明是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便调用函数时系统进行对照检查。 函数的声明后面要加分号。 如果声明的函数在文件内部,则声明时不用extern,如果声明的函数不在文件内部,而在另一个文件中,声明时须带extern,指明使用的函数在另一个文件中。 5.6 8051单片机C51程序框架 #include “reg51.h” void extern0_ISR(void) interrupt 0 { } void timer0_ISR(void) interrupt 1 { } void extern1_ISR(void) interrupt 2 { } void timer1_ISR(void) interrupt 3 { } void serial_ISR(void) interrupt 4 { } void main() { } 作业: 第145页 第4题 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 继续上例: sbit P1_3=P1^3; sbit P1_4=P1^4; sbit P1_5=P1^5; sbit P1_6=P1^6; sbit P1_7=P1^7; 说明: 在C51中,为了用户处理方便,C51编译器把MCS-51单片机的,当用户要使用时,只须要在常用的特殊功能寄存器和特殊位进行了定义,放在一个“reg51.h”或“reg52.h”的头文件中使用之前用一条预处理命令#include reg52.h把这个头文件包含到程序中,然后就可使用殊功能寄存器名和特殊位名称。 三、变量的存储模式 C51编译器支持三种存储模式:SMALL模式、COMPACT模式和LARGE模式。不同的存储模式对变量默认的存储器类型不一样。 (1)SMALL模式。SMALL模式称为小编译模式,在SMALL模式下,编译时,函数参数和变量被默认在片内RAM中,存储器类型为data COMPACT模式:COMPACT模式称为紧凑编译模式,在COMPACT模式下,编译时,函数参数和变量被默认在片外RAM的低256字节空间,存储器类型为pdata。 LARGE模式:LARGE模式称为大编译模式,在LARGE模式下,编译时函数参数和

文档评论(0)

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

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

1亿VIP精品文档

相关文档