第一章 1.3 SDCC扩展.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 1.3 SDCC扩展 应用示例 SDCC简介 关键字与数据类型 目 录 外国人 中国人 需要通过翻译人员将其他国家的语言翻译为双方可读懂的语言。 同样,我们需要借助编译器将人类的编程语言翻译为机器可识别的机器语言。 计算机语言 如何读懂其他国家的语言呢? 计算机如何读懂人类的编程语言? 相当于人类的编程语言 相当于编译器 相当于机器语言 什么是编译器 将便于人编写、阅读、维护的高级计算机语言翻译为计算机能识别、运行的低级机器语言的程序。 机器语言 for (i = 0; i 10; i++) 高级语言 汇编语言 MOV DPTR, #0012H 低级 高级 用0和1表达 阅读困难 开发效率极低 用助记符表达 代码难懂 开发效率低 用特定语法表达 容易理解 开发效率高 编译器的编译过程一般是将高级语言(比如c语言)翻译为汇编语言,同时生成各种辅助文件。 SDCC编译器简介 SDCC(Small Device C Compiler)是为8位单片机开发的免费C编译器,支持符合ANSI标准C语言程序设计。 在存储器类 型、指针和 函数方面做 了扩展 大量的标准优化,如循环优化等 Text Text Text TKStudio IDE集成开发环境是广州致远电子有限公司开发的一个微处理器软件开发平台,是一款具有强大内置编译器的多内核编译/调试环境,内部集成了SDCC编译器。 SDCC也是命令行固件开发工具,含预处理器、编译器、汇编器、链接器和优化器。 sdcpp asx8051 aslink s51 sdcdb packihx sdcc SDCC编译器工具链 SDCC编译器工具链是如何构建目标工程的呢? c 编 译 器 c 预 编 译 器 8051 汇 编 器 8051链 接 器 ucSim8051 软 件 仿 真 器 源 码 调 试 器 Inter hex 转 换 器 SDCC构建目标示意图 C源文件 (*.c) 汇编源文件 (*.asm) 符号文件 (*.sym) 目标文件 (*.rel) 列表文件 (*.lst) 汇编文件 (*.asm) 目标文件 (*.rel) 列表文件 (*.lst) 符号文件 (*.sym) 链接器 aslink.exe 存储映像表(*.map) 存储器文件(*.mem) 汇编列表文件(*.rst) 调试信息文件(*.cdb) CMF51格式文件 Inter hex文件(*.hex) C编译器 sdcc.exe 汇编器 asx8051.exe 步骤1 (编译) 步骤2 (链接) SDCC的编译过程 C编译器 sdcc.exe 汇编器 asx8051.exe 通过SDCC编译器将c语言翻译成汇编语言。 SDCC的链接过程 链接器 aslink.exe hex文件为最终所需的下载文件。 应用示例 SDCC简介 关键字与数据类型 目 录 SDCC编译器 一般的51编译器 SDCC针对8051单片机自身的特点做了一些扩展,特别是在存储区,存储类型,指针和函数方面做了一些扩充。 SDCC的扩展 char int unsigned long float double if else switch case void for while… … SDCC支持的关键字 SDCC支持的数据类型 整型类型 浮点类型 指针类型 应用示例 SDCC简介 关键字与数据类型 目 录 前面我们介绍了SDCC编译的过程,那么对于一个具体的工程,它又是如何将C文件编译成目标文件呢?接下 来让我们上机实操一下。 SDCC编译实例 通过TKStudio开发工具创建一个工程,然后编写相应的程序。 通过SDCC编译器将led.c文件编译为led.asm文件。 通过SDCC链接器将目标文件编译为最终的hex文件。 软件延时子程序 不同编译器的编译结果 SDCC编译结果 Keil c51编译结果 单个LED闪烁程序 低电平 延迟 LED熄灭 延迟 LED点亮 LED灯闪烁过程 +E K R 1 10K Y +E 0V Y: td 启动延时 停止延时 独立按键延时去抖原理 独立按键延时去抖程序 KEY1输入状态 KEY1按下? 延时10ms K

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档