SONiX 8051 开发指南:变量初始化与FAQ

需积分: 48 4 下载量 74 浏览量 更新于2024-08-06 收藏 2.45MB PDF 举报
"绝对变量不能被初始化-安捷伦53132a的技术文档" 这篇技术文档主要涉及的是松翰单片机8051的开发指导,特别强调了两个编程注意事项: 1. 绝对变量不能被初始化:在8051编程中,绝对变量是指在程序运行时其内存位置固定的变量。由于这些变量的位置是固定的,所以在声明时不能赋予初始值。这主要是因为8051的内存模型和编译器的规定,绝对变量通常用于定义特定地址的寄存器或存储区域,其值通常在程序运行期间由程序的其他部分设定。 2. bit型函数及变量不能用_at_指定:在8051的编程中,bit型变量用于表示单个位的布尔值,它们是直接映射到内部的SFR(特殊功能寄存器)的某一位。使用_at_关键字可以指定变量在内存中的位置,但这不适用于bit型变量,因为bit型变量的内存位置是由编译器自动处理的,以确保它们与SFR位对应。 文档还提到了一个开发工具链的概述,包括使用了Keil C51作为编译器,SN-Link Adapter V3.0作为仿真器,StarterKit作为目标板,以及MP5Writer或SN-Link ISP作为烧录器。此外,文档提供了FAQ(常见问题解答)列表,涵盖了从连接问题、仿真问题到特定功能如PWM、ADC和省电模式的注意事项等。 在软件开发流程中,文档指出了建立新项目、加入必要的初始化文件(如STARTUP.A51和OPTIONS_XXXX.A51)、设置工程属性等一系列步骤。这些步骤对于理解和调试8051程序至关重要,因为它们涉及到目标设备的配置、代码优化、调试选项以及输出文件的生成。 特别地,文档强调了数据区的划分和绝对地址的使用,这是8051编程中的关键概念,因为这种微控制器有固定的内存布局,开发者需要理解如何有效地利用不同的内存区域(如idata、bdata、pdata等)以适应程序的需求。 这篇文档是针对松翰单片机8051开发者的实用指南,涵盖了从基本的编程约束到高级的开发环境设置和问题解决策略,对于想要深入8051开发的工程师来说,是非常有价值的参考资料。