您当前的位置:五五电子网电子知识单片机-工控设备51单片机Keil C51高级编程(第四章) 正文
Keil C51高级编程(第四章)

Keil C51高级编程(第四章)

点击数:7614 次   录入时间:03-04 11:59:32   整理:http://www.55dianzi.com   51单片机

;

; Page Definition for Using the Compact Model with 64 KByte xdata RAM

;

; The following EQU statements define the xdata page used for pdata

; variables. The EQU PPAGE must conform with the PPAGE control used

; in the linker invocation.

;

PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.

PPAGE EQU 0 ; define PPAGE number.

;

;-----------------------------------------------------------------

3. 标准输入输出文件
putchar.c

putchar.c是一个低级字符输出子程,开发人员可修改后应用到自己的硬件系统上,例如向CLD或LEN输出字符。

缺省:putchar.c是向串口输出一个字符XON|XOFF是流控标志,换行符“\*n”自动转化为回车/换行“\r\n”。

getkey.c

getkey函数是一个低级字符输入子程,该程序可用到自己硬件系统,如矩阵键盘输入中,缺省时通过串口输入字符。

4. 其它文件
还包括对Watch-Dog有独特功能的INIT.A51函数以及对8×C751适用的函数,可参考源代码。

第四节 段名转换与程序优化

1. 段名协定(Segment Naming Conventions)
C51编译器生成的目标文件存放于许多段中,这些段是代码空间或数据空间的一些单元,一个段可以是可重定位的,也可以是绝对段,每一个可重定位的段都有一个类型和名字,C51段名有以下规定:

每个段名包括前缀与模块名两部分,前缀表示存储类型,模块名则是被编译的模块的名字,例如:

?CO?main1 :表示main1模块中的代码段中的常数部分

?PR?function1?module 表module模块中函数function1的可执行段,具体规定参阅手册。

2. 程序优化
C51编译器是一个具有优化功能的编译器,它共提供六级优化功能。确保生成目标代码的最高效率(代码最少,运行速度最快)。具体六级优化的内容可参考帮助。

在C51中提供以下编译控制指令控制代码优化:

OPTIMIZE(SJXE):尽量采用子程序,使程序代码减少。

NOAREGS:不使用绝对寄存器访问,程序代码与寄存器段独立。

NOREGPARMS:参数传递总是在局部数据段实现,程序代码与低版本C51兼容。

OPTIMIZE(SIZE)AK OPTIMIZE(speed)提供6级优化功能,缺省为: OPTIMIZE(6,SPEED)。



上一页  [1] [2] 


本文关键字:暂无联系方式51单片机单片机-工控设备 - 51单片机