[计算机软件及应用]单片机c语言

[计算机软件及应用]单片机c语言

ID:23138007

大小:3.95 MB

页数:125页

时间:2018-11-04

[计算机软件及应用]单片机c语言_第1页
[计算机软件及应用]单片机c语言_第2页
[计算机软件及应用]单片机c语言_第3页
[计算机软件及应用]单片机c语言_第4页
[计算机软件及应用]单片机c语言_第5页
资源描述:

《[计算机软件及应用]单片机c语言》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、山东科技大学单片机设计——C51程序设计目录第一章C与805121.18051的编程语言21.2C51编译器31.3Keil/FranklinC51编程实例41.4C51程序结构10第二章C51数据与运算112.1数据与数据类型112.2常量与变量122.3C51数据的存贮类型与8051存贮器结构152.48051特殊功能寄存器(SFR)及其C51定义202.58051并行接口及其C5l定义222.6位变量(BIT)及其C51定义222.7C51运算符、表达式及其规则23第三章Cx51流程控制语句333.1C语言程序的基本

2、结构及流程图333.2选择语句3733循环语句40第四章C5l构造数据类型464.1数组464.3结构634.4共用体(union)694.5枚举(enum)70第五章函数725.1函数的分类725.2函数的定义735.3函数的参数和函数值755.4函数的调用76第六章程序876.基本概念876.2模块化程序开发过程906.3汇编和编译926.4覆盖和共享966.5库和连接/定位器976.6混合编程1016-7程序优化105第七章8051内部资源的C编程1067.1中断1067-2定时器/计数器(T/C}1127.3串行口

3、121124山东科技大学第一章C与80511.18051的编程语言对于8051单片机,现有四种语言支持,即汇编,PL/M,C和BASIC。BASK通常附在PC机上,是初学编程的第一种语言。一个新变量名定义后可在程序中做变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间,不能做到实时性。BASIC为简化使用变量,所有变量都用浮点值。2+2这样简单的运算完全是浮点算术操作,因而程序复杂且执行时间长。即使是编译BASIC,

4、也不能解决此浮点运算问题。8052单片机片内固化有解释BASIC语言,BASIC适用于要求编程简单而对编程效率或运行速度要求不高的场合。PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。它很像PASCAL,是一种结构化语言,但它使用关键字去定义结构。FL/M编译器像好的汇编器一样可产生紧凑代码。PL/M总的来说是“高级汇编语言”,可详细控制着代码的生成。但对8051系列,PL/M不支持复杂的算术运算、浮点变量,也无丰富的库函数支持。学习PL/M无异于学习一种新语言。C是一种源于编写UNIX操作系统的语言

5、,它是一种结构化语言,可产生紧凑代码。C结构是以括号{}而不是字和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:*对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解;关寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;*程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;*具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;*关键字及运算函数可用近似人的思维过程方式使用;*编程及程序调试时间显著缩短,从而提高效率;*提供的库包含许多标准子

6、程序,具有较强的数据处理能力;*己编好程序可容易地植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不作修改就可根据单片机的不同较快地移植过来。8051汇编语言非常像其它汇编语言,指令系统比第一代微处理器要强一些。8051的不同存贮器区域使得其复杂一些。尽管懂汇编语言不是你的目的,但看懂一些可帮助你了解影响任何语言效率的8051特殊限定。例如,懂得汇编语言指令就可使用在片RAM做变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进

7、行存取。要求使用浮点和启用函数时只有具备汇编编程经验才能避免生成庞大的、效率低的程序,这需要考虑简单的算术运算或先算好的查表法。最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。124山东科技大学1.2C51编译器8051系列单片机作为工业标准地位,从1985年开始就有8051单片机的C,语言编译器,简称C51。并非所有的C51编译器都产生能发挥8051特点的有效代码,下面就各公司的编译器作简要介绍。AMERICANAUTOMATION编译器通过#asm和endasm预处理选择支持汇编语言。此编译器编译速度慢

8、,要求汇编的中间环节。ARCHIMEDES它的鼻祖是瑞典的IAR,是支持分组开关(Bank)的编译器。它和ANSI兼容。只是需要一个较复杂的连接程序控制文件支持后程序才能运行。AVOCET软件包包括编译器、汇编器、连接器、库MAKE工具和编辑器,集成环境类似Borland和Turbo。C编译器产生一个汇

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。