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

图 6.1.7.1 这个 就是我们需要 的 HEX 机器 码烧录文件 第七步:编 译后生成. hex 机器码文件 的目录位置 。 以上编译 成功后,只要 打开电脑 D 盘的 stc89c52rc 文件 夹,就可以 找到.h ex 扩展名的 机器码文件, 这 个文件就是 我们要下载到 单片机的机器 码文件 。 【6.2 注意!最后,还有一个非常重要的 keil 编译环境需要设置。 】 STC89C52 单片 机与 AT89 C52 单片机…

100%1 / 836
6.1.6.2 双击出错提示那行自动跳转到错误附近
(2)查找错误的时候,只需要双击错误提示 error 那行内容光标就会自动跳到源代码错误的附近
便大家寻找语法错误。
(3)还有一种很实用的方法,就是直接把提醒出错那一整行英文复制粘贴到网上去搜索往能搜索
所需的正确答案或者重要提示。
----------------------------------步骤之间的分割线----------------------------------------
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”,第四步点击“确定