从单片机基础到程序框架(全集 2019pdf版).pdf - 第26页

图 6.2.1 设置 编译器的 RAM 和 R OM 容 量大小的 模式 如上图所示 ,在一个已经 打开的工程里 ,鼠标 右键点击选中 左边选项框里 面的”T arget 1 ”选项,在右 键下 拉菜 单里选 择“ Options for T arget‘ Target 1’ ” 选项 ,弹 出一个 编译 环境 设置 对话 框, 第一 步 单击上面子 菜单切换到 “ Target” 窗口下, 第二步在 Memo ry M odel 选项…

100%1 / 836
6.1.7.1 这个就是我们需要 HEX 机器码烧录文件
第七步:编译后生成.hex 机器码文件的目录位置
以上编译成功后,只要打开电脑 D 盘的 stc89c52rc 文件夹,就可以找到.hex 扩展名的机器码文件,
个文件就是我们要下载到单片机的机器码文件
【6.2 注意!最后,还有一个非常重要的 keil 编译环境需要设置。
STC89C52 单片机与 AT89C52 单片机是兼容的,它们 ROM 程序容量都是 8K 字节,而它们的 RAM 数据容
量是不一样的,STC89C52 RAM 512 字节, AT89C52 RAM 256 字节管两者的 RAM 容量有一些小
差异,但是对于我们用作入门学习来说,这些都是无所谓的,所以本教程硬件平台虽然是 STC89C52 单片
机,但是 keil 的编译环境其实是 AT89C52 的芯片环境,因此本教程就以 AT89C52 为准。 刚才提到 AT89C52
的程序容量 ROM 8K 字节,数据容量 RAM 256 字节,那么问题来了,很多初学者经常遇到,有一些程
代码 ROM 明明没有超 8K,或者数据容量 RAM 明明还没超 256 字节,编译器居然报错提醒容量不够!什
原因?怎么解决?
什么原因?是单片机的内存分配模式问题引起的,具体原因暂时不深入讲解。
怎么解决?有一个非常重要的 keil 编译环境需要设置一下,设置步骤是:
6.2.1 设置编译器的 RAM ROM 量大小的模式
如上图所示,在一个已经打开的工程里,鼠标右键点击选中左边选项框里面的”Target 1”选项,在右
键下拉菜单里选择“ Options for Target‘Target 1’ 选项,弹出一个编译环境设置对话框,第一
单击上面子菜单切换到Target”窗口下,第二步在 Memory Model 选项的下拉菜单里选中“Compact: variables
in PDATA”,第三步在 Code Ram Size 选项的下拉菜单里选中“Large: 64K program”,第四步点击“确定
第七节:本节预留。
本节预留。