山东大学飞思卡尔单片机教学第6章-C语言程序设计.pptVIP

山东大学飞思卡尔单片机教学第6章-C语言程序设计.ppt

  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文档。上传文档
查看更多
C起动代码通常执行下列动作 (1) 关中断; (2) 将初始化数据从ROM复制到RAM; (3) 将未初始化数据区清零; (4) 为堆栈定位空间以及初始化堆栈; (5) 创建并初始化堆; (6) 执行构造函数并初始化所有全局变量(仅C++); (7) 开中断; 第六章 C语言程序设计 * 中华民族有着五千多年的文明历史,中华民族在世界上是一个非常卓越和伟大的民族。我们有过繁荣昌盛的唐朝,有过强盛无比疆域辽阔的汉朝和元朝,更有灿烂美丽的唐、宋文化 关于实验安排 10周和11周的周二晚上在兴隆山校区计算中心1号和3号机房 (1、2班1号机房,3、4班2号机房,17:30前到) 开放实验: 11周、12周和13周在千佛山校区机械厂教学车间楼207 (1、2班星期六全天;3、4班星期天全天:如有特殊事情者,可灵活选择; 上午9:00——下午17:00) 实验后撰写实验报告 集成开发环境先用熟4.6版本;然后会用5.0版本 本周实验安排 实验4:掌握最基本C语言程序的调试及运行方法 1.建立一个C语言工程,并按要求编写求两个数最大值的C语言程序,编译并排错; 2.使用全速调试,并观察程序运行结果; 3.使用单步调试,并观察数据区、寄存器区、存储器区的数据变化。 实验5:使用仿真方法,编写并调试复杂的C语言程序 1.自定义一个包含10个无符号int型的数组,数组元素分别是10,9,8,7,6,5,4,3,2,1,0。使用冒泡排序法对该数组元素进行从小到大排序,调试并观察存储器区数据变化,程序要有注释。 本周实验安排 2.基于上个程序,把排序好的数组进行数字滤波:去除最大的3个和最小的3个,剩下的求平均,调试并观察存储器区数据变化,程序要有注释。 3.课本195页例2、例3,课本196页例4 调试并观察存储器区数据变化。 第六章 C语言程序设计 §6-1 C语言程序设计基础 §6-2 MC9S12的C编程与ANSI C的不同 §6-3 C程序设计举例 内容提要: 单片机编程语言 ?? 汇编语言 ????? 优点:执行效率高,时序控制精确 ?? C语言 ?????? 优点:① 程序开发速度快,提高开发工作效率; ???????????????????? ② 软件调试直观; ???????????????????? ③ 可维护性好; ???????????????????? ④ 可移植性好(与汇编语言相比较)。 单片机C语言 单片机C语言和标准C语言的用法基本相同,但是单片机C语言是针对于资源少的MCU,它的编程方法和编程手段与PC机上使用C语言还是有很大差别。 §6-1 C语言程序设计基础 多文件C语言工程的头文件 当代码量非常大时,程序员一般会把代码分成几个部分,然后写入到多个文件中。这些文件一般分为C文件和H文件。作为一般规则,以下内容应该放到H文件中: 预处理和宏定义 结构、联合和枚举声明 typedef声明 外部函数声明 全局变量声明 如果定义的变量仅仅被一个C文件所私有,那么不可放到H文件中。 其它C语言基础知识参见补充课件: “补充(自己看)_C语言基础.PPT” CodeWarrior数据类型 §6-2 MC9S12的C编程与ANSI C的不同 自定义CodeWarrior数据类型 在CodeWarrior环境下按ALT+F7打开工程的通用设置,选择“Compiler for HC12”面板然后点按钮“Type Sizes”。 建议不要随意更改数据类型的设置 数据类型的事实 代码大小和执行时间的最大节约可通过为变量选择最合适的数据类型而得到。 16位微控制器内部的数据长度是16位(2字节),所以首选的数据类型是“int”。16位机处理16位数据比8位数据的效率更高。 对于9S12单片机来说,16位数据类型效率最高,因此在使用中,尽量选择int类型数据。 存贮类修饰符 以下关键字用于声明变量,以指定特定需要或内存中变量存贮的相关条件。 static(静态变量) volatile(可变变量) const(只读变量) 这三个关键字,一起让我们不仅可写出好的代码,而且可写出紧凑的代码。 static 在函数体声明的静态变量,在函数调用期间保持其值; 在模块内声明静态的变量(但在函数体之外) ,能被模块内所有函数访问; 在模块内声明静态的函数,只能被模块内其它函数调用。 如:static int func(int x,int y);当一个C语言工程由多个程序员进行编写时,就不用担心自己所定义的函数与别人定义的重名了。 如果在函数名和函数类型前加extern,则表示此函数是外部函数,可以被其他文件中的函数调用。如: extern int func(int x,int

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档