1.尽或许让变量运用占用代码空间最小的变量类型。例如无符号字符型和位操作(8051作为一款8位处理器供给了位操作支撑,而且大多数操作指令都是8位或许位操作的一般用小的数据类型去编写代码其功率更高)
2.尽或许运用无符号类型数据(8051单片机不直接支撑有符号的数据类型,有符号的操作需求额定的指令来支撑,可是无符号的数据类型是直接就能被8051支撑的)
3.尽或许挑选小的存储形式即small(绝大多数的运用选用small存储形式都能满意,也能够挑选large存储形式,将一些数组和结构体存入xdata或许pdata存储空间的话挑选极大存储形式,留意的是keilc51实时库运用的根本指针能够作业在任何存储形式)
4.当运用其他存储形式的时分尽或许将变量存储在data区域内(将变量存储在data空间里,这部分空间单片机能够直接拜访,据有最高的履行功率,一般这个区域存储的是最有功率的代码)本地图片,请从头上传
5.要知道怎么在你的设备上运用PDATA存储形式(pdata供给的256字节的空间,运用MOVX @Ri指令拜访8位地址,pdata存储空间的运用不同于8051单片机内部的设备,需求设置页寄存器。Xdata 存储类型是通用的能到达的最大的存储空间64kb)
6.尽或许运用内存类型的指针(默许的,keil c51编译器运用通用指针能够拜访任何类型的内存空间,内存型的指针只能拜访固定的存储空间,可是这种方法能够发生更快更小的程序代码)
7.削减运用重入函数(8051系列缺少对仓库变量的支撑,重入函数的完结经过keilc51编译器运用一个编译时刻的仓库对内存范围内的数据内容的掩盖完结的,重入函数在8051单片机上模拟出仓库的结构。因为在嵌入式运用很少会用到重入函数代码,可是你在规划的过程中应尽或许的少用这种重入特点)
8.运用LX51 Linker/Locate 和Linker code packing来削减程序的体积。(LX51 Linker/Locate剖析而且优化你的整个程序。代码将会在内存中从头排列,最大极限的运用2字节的AJMP和ACALL指令来替代3字节的LJMP和LCALL指令。Linker code packing运用通用代码段生成子程序)
9.尽量坚持短的中止函数(结构好的的中止函数仅仅是履行数据的获取或许是计时,数据的处理是在主函数或许实时体系的使命函数中完结,这样能够有用的下降触及保存/存储的中止函数的调用)
10.查看关于时钟周期的需求(代码拜访数据需求必定的周期,尤其是在实时体系中运用多个线程或许中止服务程序中需求在主函数中)