- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KeilC51应用程序设计.
Keil C51应用程序设计 Keil C51程序的一般结构 与标准C语言相同,Keil C51程序由一个或多个 函数构成,其中应至少包含一个main函数。一般结构如下: 预处理命令 /* 用于包含头文件等 */ 全局变量说明 /* 全局变量可被本程序的所有函数引用 */ 功能函数说明 /* 说明自定义函数,以便调用 */ main() { /* 主函数 */ 局部变量说明;/* 局部变量只能在所定义函数内部引用 */ 执行语句; 函数调用; } /* 其他函数定义 */ 数据类型 Keil C51能够识别的数据类型 变量定义格式 Keil C51能够识别的存储器类型 编译模式 Keil C51能够识别的编译器模式 一般指针与基于存储器的指针 Keil C51对存储器的访问 绝对地址访问 头文件“ABSACC.H”中的预定义宏 中断服务函数与寄存器组定义 常用中断号与中断向量 数据调用协议 数据调用协议 数据调用协议 Keil C51的库函数 本征库函数 本征库函数是指编译时直接将固定的代码插入到当前行,而不是用汇编语言中的“ACALL”和“LCALL”指令来实现调用,从而大大提高函数的访问效率。非本征库函数则必须由“ACALL”和“LCALL”指令来实现调用。Keil C51的本征库函数只有9个,数量虽少,但非常有用。本征库函数在头文件INTRINS.H中定义。 字符判断转换库函数 字符判断转换库函数的原型声明在头文件CTYPE.H中定义。 Keil C51的库函数 输入输出库函数 输入输出库函数的原型声明在头文件STDIO.H中定义,通过8051系列单片机的串行口工作, 如果希望支持其它I/O接口, 只需要改动_getkey()和putchar()函数, 库中所有其它I/O支持函数都依赖于这两个函数模块,在使用8051系列单片机的串行口之前,应先对其进行初始化。 例如以2400波特率(12MHz时钟频率)初始化串行口的语句如下: SCON=0x52; /* SCON 置初值 */ TMOD=0x20; /* TMOD 置初值 */ TH1=0xf3; /* T1 置初值 */ TR1=1; /* 启动 T1 */ Keil C51的库函数 字符串处理库函数 字符串处理库函数的原型声明包含在头文件STRING.H中,字符串函数通常接收指针串作为输入值。一个字符串应包括2个或多个字符, 字符串的结尾以空字符表示。在函数 memcmp、memcpy、memchr、memccpy、memset和memmove中,字符串的长度由调用者明确规定。 类型转换及内存分配库 类型转换及内存分配库函数的原型声明包含在头文件STDLIB.H中,利用该库函数可以完成数据类型转换以及存储器分配操作。 Keil C51的库函数 字符串处理库函数 字符串处理库函数的原型声明包含在头文件STRING.H中,字符串函数通常接收指针串作为输入值。一个字符串应包括2个或多个字符, 字符串的结尾以空字符表示。在函数 memcmp、memcpy、memchr、memccpy、memset和memmove中,字符串的长度由调用者明确规定。 类型转换及内存分配库 类型转换及内存分配库函数的原型声明包含在头文件STDLIB.H中,利用该库函数可以完成数据类型转换以及存储器分配操作。 数学计算库函数 数学计算库函数的原型声明包含在头文件MATH.H中。 * * Keil C51编译器除了支持常用的char(字符型), int(整型), long(长整型), float(浮点型),*(指针型)等基本数据类型之外,还支持以下扩充数据类型。 bit 位类型。可定义一个位变量,但不能定义位 指针, 也不能定义位数组。 sfr 特殊功能寄存器。可以定义8051单片机的所 有内部8位特殊功能寄存器。sfr型数据占用 一个内存单元, 其取值范围是0~255。 sfr16 16位特殊功能寄存器。它占用两个内存单元, 取值范围是0~65535,可以定义8051单片机 内部16位特殊功能寄存器。 sbit 可寻址位。可以定义8051单片机内部RAM中的 可寻址位或特
文档评论(0)