- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它]第6章单片机23ok
总学时:72 实验学时:12 主讲:房德君 电气工程系 c. 开发周期长: §6-3 单片机C语言程序设计 一个简单的浮点数运算需要书写很长一段程序,这是由于汇编语言为一种低级的语言,使编程周期长; [例如] 传感器的曲线拟合,以及各种函数计算等,只能采用查表法: 某个孔板流量计的计算公式: 其中,fch---管道甲烷浓度,fpt—管道压力,f△pt---孔板差压,ft---管道温度; §6-3 单片机C语言程序设计 d. 调试和排错比较困难: 编好的程序必须通过调试或仿真以检查程序的功能是否正确、完整;由于汇编语言可读性差,程序段长,使排错和检查困难; e. 优点:可以控制程序的运行时间: 由于汇编语言的指令执行时间知道,所以对于某一段程序而言,可很容易算出这段程序的精确运行时间,特别是在要求控制单片机地处理速度方面是优势。 这个优点也越来越不凸现了,因为大多系统都采用了中断系统,例如网络通信等,从而很难实现软件的运行时间的控制,目前一般可采用定时器来完成准确地运行时间控制; §6-3 单片机C语言程序设计 f. 关于代码效率: 我们一般认为用汇编语言编写的程序效率是高的,这里主要是二个方面: 大多情况下,用c语言编写的程序的代码长度要长一些,运行速度也慢一些,但由于目前单片机的程序存储器已经很大,且时钟也高,因而,这一缺点在现代单片机应用中是不突出的。 §6-3 单片机C语言程序设计 2. C语言具有如下特点: a. 具有良好的c语言基础: 主要表现在两个方面: ⅰ.一般大学生都具备c语言基础,大学中,c语言成为最基本的计算机语言; §6-3 单片机C语言程序设计 ⅱ. 有大量的c语言开发开发例程(参考书或者网上查到); b. 语言简洁、使用方便灵活: c语言是现有程序设计语言中规模最小的语言之一,c语言的关键字很少(ANSI C标准一共只有32个关键字,9种控制语句),这对单片机来说是足够的; 另外,c语言的书写形式比较自由,表示方法简洁。 c. 表达能力强: c语言具有丰富的结构类型和多种运算符,可完成较复杂的数据表达和运算处理。C语言编译器提供强大的函数库,是语言表达更简洁; §6-3 单片机C语言程序设计 d. 可读性、可移植性好: 可读性:由于C语言的书写格式符合人的书写习惯,所以有比较好的可读性,例如:x=5.2*7.6,语言表达清楚(而汇编运算表达能力差,需要一大段的程序描述)。 可移植性:(即将一个课题的相同功能的程序,搬到另一个课题中使用,而不用再编程) 这就是汇编语言面向具体的物理地址,而c语言采用浮动地址单元(变量);就像普通大学与夜大学的区别; 甚至:能实现快速的单片机类型的转换(程序的移植性); 例如:手机换代,其输入法总是不变的原因; e. 目前全部单片机支持c语言的开发: §6-3 单片机C语言程序设计 不管低档、中档还是高档单片机,都支持C语言的开发; 原因: ①不同厂家或系列指令系统不同,制约了单片机的换型; ② 单片机功能越来越强大,使程序更加复杂,所以c语言使用成为必然; ③符合电子产品的快速开发的社会发展的需要; 一般要求1-2个月就应开发出一个产品,---为了占有市场; 在这方面,各方面做了大量的工作: ◆单片机生产厂家提供集成开发环境,支持第三方c语言; ◆c编译器生产厂家大量支持新开发的单片机; §6-3 单片机C语言程序设计 例如:IAR C编译器支持: 其编辑界面完全一样,只是开发平台有区别; 目前编译器直接完成程序的编辑,编译、调试等工作—形成开发工具包或者套件。 f. 可实现结构化程序设计: C语言是以函数作为程序设计的基本单位的,实际上C语言就是由许多函数组成的,一个函数即相当于一个程序模块,所以C语言很容易进行结构化程序设计; §6-3 单片机C语言程序设计 g. 可以直接操作计算机硬件: C语言具有直接访问机器物理地址的能力,对8051单片机来说:可访问: 但对于外部扩展的器件口地址虽然也相当于一个数据单元,但要求是透明的(例如:8255、A/D等器件的口地址的访问)。 §6-3 单片机C语言程序设计 对于数据存储器,可通过变量将数据存入数据存储器中,但用户并不知道数据存放到哪个单元,这是由编译器完成变量的单元分配的。 由于单片机有多个区域的数据存储单元,所以用户对每一存储单元是不透明的,可是,能选择内部或外部存储器的区域。 h. 控制运行时间方面较差: 这里所说的运行时间控制是指用c语言编写的一段程序具体能运行多长时间是很难确定的,而汇编语言根据指令的运行时间很容易推算出程序的运行时间。 §6-3 单片机C语言程序设计 但准确掌握某段程序的运行时间,在实际应
文档评论(0)