片机C语言程序设计.ppt
《片机C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《片机C语言程序设计.ppt(82页珍藏版)》请在三一办公上搜索。
1、第7章 单片机C语言程序设计,教学目标7.1 单片机C51语言概述7.2 C51语言基本语法 7.3 C51语言程序设计本章小结思考题与习题,7.1 单片机C51语言概述,7.1.1 单片机支持的高级语言,7.1.2 C51语言特点,7.1.1 单片机支持的高级语言,程序设计高级语言,PL/MBASICC51,是能够利用单片机所有特性直接控制硬件的唯一语言,对于一些需要直接控制硬件的场合,汇编语言是必不可少的。但汇编语言不是一种结构化的程序设计语言,对于较复杂的单片机应用系统,它的编写效率很低。,语言适用于简单编程而对编程效率、运行速度要求不高的场合,8052单片机内固化有BASIC语言解释器
2、。是一种结构化的语言,很象PASCAL,PL/M编译器好象汇编器一样产生紧凑的机器代码,可以说是高级汇编语言,但它不支持复杂的算术运算,无丰富库函数支持,学习PL/M无异于学习一种新的语言。是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用最广的单片机编程语言。,汇编语言,BASIC,PL/M,C51语言,单片机的C语言编程称为C51编程,C51语言本身不依赖机器硬件,不要求编程者对硬件深入了解,应用C51编程具有以下优点:,1语言简洁、紧凑,使用方便、灵活。,2运算符、数据结构丰富。,3结构化程序设计。,4可以直接对计算机硬
3、件进行操作。,5生成的目标代码质量高,程序执行效率高。,6可移植性好。,7.1.2 C51语言特点,用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。而针对8051的C51语言日趋成熟,成为了专业化的实用高级语言。,1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.提供的库包含许多标准子程序,具有较强的数据处理能力;5.由于具有方便的模块化编程技术,使已编好程序可容易地移植;,C-51与ASM-51相比,有如下优
4、点:,7.2 C51语言基本语法,7.2.1 C51语言的函数及程序结构,7.2.2 C51语言的数据类型及存储类型,7.2.3 C51语言的运算符,7.2.4 C51语言的语句,C51语言的指针,7.2.7 中断函数、头文件及绝对地址访问,7.2.5 C51语言的数组,实战1,实战2,实战3,实战4,实战5,实战6,实战7,C51函数的一般格式 类型 函数名(参数表)声明语句;执行语句;,同C语言程序一样,C51采用函数结构,每个C51语言程序由一个或多个函数组成。,7.2.1 C51语言的函数及程序结构,其中,函数往往由“函数定义”和“函数体”两个部分组成。函数定义部分包括有函数类型、函数
5、名、形式参数说明等,函数名后面必须跟一个圆括号(),形式参数在()内定义。函数体由一对花括号“”组成,在“”的内容就是函数体。如果一个函数内有多个花括号,则最外层的一对“”为函数体的内容。函数体内包含若干语句,一般由两部分组成:声明语句和执行语句。声明语句用于对函数中用到的变量进行定义。也可能对函数体中调用的函数进行声明。执行语句由若干语句组成,用来完成一定功能。当然也有的函数体仅有一对“”,其中内部既没有声明语句,也没有执行语句。这种函数称为空函数。,C语言的语句规则:1.每个变量必须先说明后引用。2.书写时格式十分自由,一行可以书写多条语句,一个语句也可以多行书写。但每个语句必须以“;”结
6、尾。3.注释用/*/或者/表示。4.“”花括号必须成对,位置随意,多个花括号可同行书写,也可逐行书写。5.区分大小写字母。为层次分明,增加可读性,同一层的“”花括对齐,采用逐层缩进方式书写。,与一般C语言的结构相同:,1、C51语言的函数以“”开始,以“”结束,3、有且只有一个main()函数,以main()函数为程序入口,中间可以调用其他函数,最后在main()函数结束,2、程序体中包含若干语句还可以包含若干函数,均以;号结束。,4、函数放置顺序可随意,但是调用之后的函数需要先声明。,C语言程序的组成结构:全局变量说明/*可被各函数引用*/main()/*主函数*/局部变量说明/*只在本函数
7、引用*/执行语句(包括函数调用语句);fun1(形式参数表)/*函数1*/形式参数说明 局部变量说明 执行语句(包括调用其他函数语句)funn(形式参数表)/*函数n*/形式参数说明 局部变量说明 执行语句,uchar keyscan(void)/按键扫描函数,返回4个按键值 XXXXXXX;return key;/返回按键值:key,void main(void)uchar i;while(1)i=keyscan();/按键扫描函数,uchar keyscan(void)/按键扫描函数,返回4个按键值 XXXXXXX;return key;/返回按键值:key,uchar keyscan(v
8、oid);/声明函数,void main(void)uchar i;while(1)i=keyscan();/按键扫描函数,7.2 C51语言基本语法,C51语言的函数及程序结构,C51语言的数据类型及存储类型,7.2.3 C51语言的运算符,7.2.4 C51语言的语句,C51语言的指针,7.2.7 中断函数、头文件及绝对地址访问,7.2.5 C51语言的数组,实战1,实战2,实战3,实战4,实战5,实战6,实战7,7.2.2 C51语言的数据类型及存储类型,C51的数据有常量和变量之分。在程序运行中其值不变的量。可以为十进制数、十六进制数(用0 x表示,汇编后缀H)、字符(括起)和字符串型
9、常量(“”括起)。用符号表示常量,符号常用大写表示,此符号需用宏定义指令(#define)对其进行定义(相当于汇编的“EQU”伪指令)。#define AA 100;相当于AA EQU 100,常量,数值型常量:,符号型常量:,在程序运行中其值可以改变的量,常用小写字母表示。一个变量由两部分组成:变量名和变量值。定义一个变量,编译系统就会自动为它安排一个存贮区,具体的地址值,用户不必在意。,变量,在C51中,变量在使用前必须对变量进行定义,指出变量的数据类型和存储模式。以便编译系统为它分配相应的存储单元。定义的格式如下:,C51的变量声明的一般格式如下 数据类型 存储类型 变量名=初值;,例如
10、:unsigned char code Flag=0 x0f;声明一个无符号的char型变量Flag,赋初值0 x0f;所在的存储空间在的ROM中。,C语言中的基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,06553
11、5,有,float,32,有,char,8,-128127,无,unsigned char,8,0255,1.176E383.40E+38,一、C51的数据类型:,表明该数据有无符号、位数多少位,整数还是小数等信息,(续)C51的数据类型扩充定义,sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明,例:sfr SCON=0 x98;sfr16 T2=0 xCC;sbit OV=PSW2;bit keyscanflag=1;,二、C51数据的存储类型:,指明变量所处的单片机的存储器区域情况。,MCS-51存储器结构图(a)程序存储器地址分配;(
12、b)数据存储器地址分配,FFH,1FH,00FFH,C51的变量声明的一般格式如下 数据类型 存储类型 变量名=初值,;例如:unsigned char code Flag=0 x0f;就是声明一个无符号的char型变量Flag,并给他赋初值为0 x0f;并且声明他所在的存储空间在片内统一编址的ROM中。声明中,如果没有存储类型,则数据默认的存储空间为data型,也就是在片内RAM中。,char data var;/*字符变量var定位在片内RAM区char code MSG=ENTER PARAMETER:/*字符数组定位在程序存贮区*/unsigned long xdata array10
13、0;/*无符号长型数组在片外RAM区,每 元素占4bytes*/float idata x,y,z;/*实型变量x,y,z,在片内用间址访问的内部RAM区*/bit lock;/*位变量lock定位在片内RAM可位寻址区*/unsigned int pdata dimension;/*无符号整型变量dimension定位在分页的外部RAM区*/unsigned char xdata vector 1044;/*无符号字符型三 维数组,定位在片外RAM区*/,7.2 C51语言基本语法,7.2.1 C51语言的函数及程序结构,7.2.2 C51语言的数据类型及存储类型,C51语言的运算符,7.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
链接地址:https://www.31ppt.com/p-5997854.html