单片机C语言程序设计.PPT

上传人:国*** 文档编号:504694 上传时间:2018-10-16 格式:PPT 页数:82 大小:220KB
下载 相关 举报
单片机C语言程序设计.PPT_第1页
第1页 / 共82页
单片机C语言程序设计.PPT_第2页
第2页 / 共82页
单片机C语言程序设计.PPT_第3页
第3页 / 共82页
单片机C语言程序设计.PPT_第4页
第4页 / 共82页
单片机C语言程序设计.PPT_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、单片机 C语言程序设计C语言的特点及程序结构一 C语言的特点1语言简洁、紧凑,使用方便、灵活。2运算符丰富。3数据结构丰富。具有现代化语言的各种数据结构。4可进行结构化程序设计。5可以直接对计算机硬件进行操作。6生成的目标代码质量高,程序执行效率高。7可移植性好。功能函数主函数功能函数功能函数 1 fun1()函数体 主函数 main()主函数体 功能函数 2 fun2()函数体 C语言程序结构一般如下:预处理命令 include函数说明 long fun1();float fun2();int x,y;float z;二 C语言的程序结构其中,函数往往由 “函数定义 ”和 “函数体 ”两个部

2、分组成。函数定义部分包括有函数类型、函数名、形式参数说明等,函数名后面必须跟一个圆括号(),形式参数在()内定义。函数体由一对花括号“”组成,在 “”的内容就是函数体。如果一个函数内有多个花括号,则最外层的一对 “”为函数体的内容。函数体内包含若干语句,一般由两部分组成:声明语句和执行语句。声明语句用于对函数中用到的变量进行定义。也可能对函数体中调用的函数进行声明。执行语句由若干语句组成,用来完成一定功能。当然也有的函数体仅有一对 “”,其中内部既没有声明语句,也没有执行语句。这种函数称为空函数。C语言程序在书写时格式十分自由,一条语句可以写成一行,也可以写成几行;还可以一行内写多条语句;但每

3、条语句后面必须以分号 “; ”作为结束符。 C语言程序对大小写字母比较敏感,在程序中,同一个字母的大小写系统是作不同的处理。在程序中可以用 “/*/”或 “/”对 C程序中的任何部分作注释,以增加程序的可读性。C语言本身没有输入输出语句。输入和输出是通过输入输出函数scanf()和 printf()来实现的。输入输出函数是通过标准库函数形式提供给用户。 C语言与 MCS-51单片机用 C语言编写 MCS-51单片机程序与用汇编语言编写 MCS51单片机程序不一样,用汇编语言编写 MCS51单片机程序必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口

4、数据。用 C语言编写的 MCS51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但在 C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。用 C语言编写单片机应用程序与标准的 C语言程序也有相应的区别:C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的 C语言程序不需要考虑这些问题; C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的 C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。现在支持 MCS-51系列单片机的

5、 C语言编译器有很多种,如American Automation、 Avocet、 BSO/TASKING、 DUNFIELD SHAREWARE、 KEIL/Franklin等。各种编译器的基本情况相同,但具体处理时有一定的区别,其中 KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,现在使用特别广泛。本书以 KEIL/Franklin编译器介绍MCS-51单片机 C语言程序设计。C51程序结构C51的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同,但 C51程序与标准的 C程序在以下几个方面不一样:( 1) C51中定义的库函数和标准 C语言定义的库函数

6、不同。标准的 C语言定义的库函数是按通用微型计算机来定义的,而 C51中的库函数是按 MCS-51单片机相应情况来定义的;( 2) C51中的数据类型与标准 C的数据类型也有一定的区别,在 C51中还增加了几种针对 MCS-51单片机特有的数据类型;第四章 单片机 C语言程序设计( 3) C51变量的存储模式与标准 C中变量的存储模式不一样, C51中变量的存储模式是与 MCS-51单片机的存储器紧密相关;( 4) C51与标准 C的输入输出处理不一样, C51中的输入输出是通过 MCS-51串行口来完成的,输入输出指令执行前必须要对串行口进行初始化;( 5) C51与标准 C在函数使用方面也

7、有一定的区别,C51中有专门的中断函数。第四章 单片机 C语言程序设计C51的数据类型C51的数据类型分为基本数据类型和组合数据类型,情况与标准 C中的数据类型基本相同,但其中 char型与 short型相同, float型与 double型相同,另外, C51中还有专门针对于 MCS-51单片机的特殊功能寄存器型和位类型。 一 字符型 char有 signed char和 unsigned char之分,默认为 signed char。它们的长度均为一个字节,用于存放一个单字节的数据。对于 signed char,它用于定义带符号字节数据,其字节的最高位为符号位, “0”表示正数, “1”表

8、示负数,补码表示,所能表示的数值范围是 -128+127;对于 unsigned char,它用于定义无符号字节数据或字符,可以存放一个字节的无符号数,其取值范围为 0255。 unsigned char可以用来存放无符号数,也可以存放西文字符,一个西文字符占一个字节,在计算机内部用 ASCII码存放。 二 int整型分 singed int和 unsigned int。默认为 signed int。它们的长度均为两个字节,用于存放一个双字节数据。对于 signed int,用于存放两字节带符号数,补码表示,数的范畴为 -32768+32767。对于 unsigned int,用于存放两字节无

9、符号数,数的范围为 065535。三 long长整型分 singed long和 unsigned long。默认为 signed long。它们的长度均为四个字节,用于存放一个四字节数据。对于 signed long,用于存放四字节带符号数,补码表示,数的范畴为 -2147483648+2147483647。对于 unsigned long,用于存放四字节无符号数,数的范围为 04294967295。四 float浮点型float型数据的长度为四个字节,格式符合 IEEE-754标准的单精度浮点型数据,包含指数和尾数两部分,最高位为符号位, “1”表示负数, “0”表示正数,其次的 8位为阶

10、码,最后的 23位为尾数的有效数位,由于尾数的整数部分隐含为 “1”,所以尾数的精度为 24位。 五 * 指针型指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量要占用一定的内存单元,对不同的处理器其长度不一样,在 C51中它的长度一般为13个字节。六特殊功能寄存器型这是 C51扩充的数据类型,用于访问 MCS-51单片机中的特殊功能寄存器数据,它分 sfr和 sfr16两种类型,其中sfr为字节型特殊功能寄存器类型,占一个内存单元,利用它可以访问 MCS-51内部的所有特殊功能寄存器;sfr16为双字节型特殊功能寄存器类型,占用两个字节单元,利用它可以访问 MCS-51内部的所有两个字节的特殊功能寄存器。在 C51中对特殊功能寄存器的访问必须先用 sfr或 sfr16进行声明。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。