第3章单片机C语言程序设计基础2ppt课件.ppt
-
资源ID:15608678
资源大小:1.65MB
全文页数:22页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第3章单片机C语言程序设计基础2ppt课件.ppt
在此输入您的封面副标题第3章单片机C语言程序设计基础223.1 单片机C程序设计的一般格式 3.1.1 单片机C语言编程的步骤单片机C程序设计的步骤一般如下:(1)分析设计任务,确定算法,画出编程算法的流程图。(2)使用通用的文字编辑软件如记事本等编写C源程序,也可在支持C语言的仿真器或编译器上直接编写,如Keil 51 C编译器。(3)在C编译器上进行调试及编译,编译后可生成后缀名为HEX的十六进制目标程序文件。(4)用编程器将目标程序文件写入单片机。33.1.2 单片机C程序的几个基本概念 1、函数C语言程序是由一个主函数和若干个其它函数所构成,根据定义形式可将函数分为:无参数函数、有参数函数和空函数。(1)无参数函数的定义形式类型标识符 函数名()函数体类型标识符用来指定函数返回值的类型。如定义一个延时函数名为delay,函数体为_nop_( )的函数,它的定义形式为:delay( )_nop_( ); /空操作函数,相当于汇编中的4(2)有参数函数的定义形式类型标识符 函数名(形式参数列表及参数说明)函数体例如一个毫秒级有参延时函数的定义形式为:delay1ms(int t) /参数变量t为整型int i,j;for(i=0;it;i+)for(j=0;j120;j+);3.1.2 单片机单片机C程序的几个基本概念程序的几个基本概念 52、指针与指针变量、指针与指针变量一个变量具有一个变量名,对它赋值后就有一个变量值,变量名和变量值是两个不同的概念。变量名对应于内存单元的地址,表示变量在内存中的位置,而变量值则是放在内存单元中的数据,也就是内存单元的内容。变量名对应于地址,变量值对应于内容。63.1.2 单片机C程序的几个基本概念、文件包含处理命令、文件包含处理命令#include文件包含处理的命令格式为:#include “文件名”或者用#include 通常被包含的文件多为头文件,即以h为后缀的文件,如reg52.h、intrins.h、stdio.h等。、宏定义、宏定义指定一个标志符去定义一个常量或字符串。如:#define P 568在中,一般常量和字符串定义用大写,而变量定义用小写。宏定义还可以进行参数替换。73.1.3 单片机C语言程序的基本结构单片机C语言编程的基本结构说明:(1)C程序由一个主函数和若干子函数组成,其中主函数的名字必须为main()。C程序通过函数调用去执行指定的工作。函数调用类似于汇编语言中的子程序调用。被调用的函数可以是系统提供的库函数,也可以是用户自行定义的功能函数。(2)一个函数由说明部分和函数体两部分组成。函数说明部分是对函数名、函数类型、形参名、形参类型等的说明 。8(3)C程序的执行总是从main()函数开始的。(4)当一个程序文件需要包含其他源程序文件时,应在本程序文件头部用包含命令# include(5)C程序中一个函数中需调用另一个子函数时,另一个子函数应写在前面。当另一个子函数放在本函数后面时,应在本函数开始前说明。(6)C程序书写格式自由,一行可写一个语句或几个语句,每个语句的结尾处需用“;”结束。3.1.3 单片机单片机C语言程序的基本结构语言程序的基本结构93.2.1 常量和符号常量常量和符号常量在程序运行中值不会改变的量称为常量。#define PAR 3.14159一般符号常量用大写字母。常量通常分为以下几种类型:1、整型常量、整型常量可以用十进制和十六进制三种形式表示,如:十进制数:11,-45,0;十六进制数:0 x11,0 x55,0 x00(以0 x开头)2、实型常量、实型常量实型常量就是实型常数,实型常数又叫浮点数。3.2 单片机单片机C语言的数据类型语言的数据类型103.2.1 常量和符号常量常量和符号常量3、字符常量、字符常量在C语言中字符常量是指用单引号括起来的单个字符。如a、b、?、A等都是字符常量,应注意在C中a和A是不同的字符常量,即C中严格区分字母的大小写。4、字符串常量、字符串常量在C中还有另一种字符数据称为字符串。字符串常量与字符常量不同,它是由一对双引号括起来的字符序列。如“You are man.”、“CHINA”、“15.68”等都是字符串常量。字符常量和字符串常量二者不同,不能混用。如a和“a”在内存中,a占1个字节,而“a”占2个字节,即一个字母再加一个字符串结束符。3.2 单片机单片机C语言的数据类型语言的数据类型113.2.2 变量变量变量类型标志符说明标志符数据长度值域范围位变量bit1位0,1sbit1位0,1字符变量char有符号Signed char8位-128+127无符号Unsigned char8位0255整型变量int有符号Signed int16位-32768+32767无符号Unsigned int16位065535长整数型变量long int有符号Signed long32位-231231-1无符号Unsigned long32位0232-1实数型变量float单精度32位|3.4e-38|3.4e+38|double双精度64位|1.7e-308|1.7e+308|寄存器变量sfr8位0255sfr1616位06553512算术运算符优先级规定为:先乘除模(求余),后加减,括号最优先。结合性规定为:自左至右,即运算对象两侧的算术符优先级相同时,先与左边的运算符号结合。关系运算符的优先级规定为:、=、=四种运算符优先级相同,=、!=相同,但前四种优先级高于后四种。关系运算符的优先级低于算术运算符,高于赋值(=)运算符。逻辑运算符的优先级次序为:!、&、|。当表达式中出现不同类型的运算符时,非(!)运算符优先级最高,算术运算符次之,关系运算符再次之,其次是&和|,最低为赋值运算符。位操作的对象只能是整型或字符型数据。3.3 单片机C语言的运算符和表达式 133.4 单片机C语言的一般语法结构3.3.1 顺序结构顺序结构 3.3.2 分支结构分支结构分支结构可分为单分支、双分支和多分支三种,C程序中提供了三种条件转移语句,分别为if、if-else语句和switch语句。C语言判断条件为:非“0”即真,为“0”即假。1、单分支转移语句、单分支转移语句单分支转移语句的格式为:if(条件表达式)执行语句;当执行语句只有一句时,可以省去。 143.3.2 分支结构2、双分支转移语句、双分支转移语句双分支转移语句的格式为:双分支转移语句的格式为:if (条件表达式)(条件表达式)语句语句1;else 语句语句2;if-else语句的执行步骤是:先判断条件表达式是否成立,若语句的执行步骤是:先判断条件表达式是否成立,若成立(为真)则执行语句成立(为真)则执行语句1,否则执行语句,否则执行语句2,然后继续执,然后继续执行后面的语句。行后面的语句。 153.3.2 分支结构3、多分支转移语句、多分支转移语句多分支转移语句的格式为:多分支转移语句的格式为:switch(条件表达式)(条件表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;break;switch语句的执行步骤是:当条件表达式的值同某一语句的执行步骤是:当条件表达式的值同某一case后后面的常量表达式相同时则执行相应的语句。如都不相同,面的常量表达式相同时则执行相应的语句。如都不相同,则执行则执行default后面的语句。后面的语句。163.3.3 循环结构1、While语句语句while语句的一般格式为:语句的一般格式为:while (表达式)(表达式)循环体语句;循环体语句;while语句的执行步骤是:先判断语句的执行步骤是:先判断while后的表达式是否成立,后的表达式是否成立,若成立(为真)则重复执行循环体语句,直到表达式不成若成立(为真)则重复执行循环体语句,直到表达式不成立时退出循环。立时退出循环。 2、do-While语句语句do-while语句的一般格式为:do循环体语句;while (表达式);do-while语句的执行步骤是:先执行循环体语句,然后判断表达式是否成立,若成立(为真)则重复执行循环体语句,直到表达式不成立时退出循环。 173.3.3 循环结构3、for语句语句for语句的一般格式为:语句的一般格式为:for(表达式(表达式1;表达式;表达式2;表达式;表达式3)循环体语句;循环体语句;for语句的执行步骤是:先求表达式语句的执行步骤是:先求表达式1的值并作为变量的初值,的值并作为变量的初值,再判断表达式再判断表达式2是否满足条件,若为真则执行循环体语句,是否满足条件,若为真则执行循环体语句,最后执行表达式最后执行表达式3对变量进行修正,再判断表达式对变量进行修正,再判断表达式2是否满是否满足条件,这样直到表达式足条件,这样直到表达式2的条件不满足时退出循环。的条件不满足时退出循环。 183.5 51系列单片机的C语言程序 3.5.1 存储类型及存储区存储类型及存储区在单片机中,一个变量可以放在片内存储单元,也可以放在单片机中,一个变量可以放在片内存储单元,也可以放在片外存储单元,或者放在间接寻址区。在片外存储单元,或者放在间接寻址区。 存储类型标识符与存储空间的对应关系data直接片内RAM,共128字节,00H-7FHbdata片内RAM的位寻址区,共16字节,20H-2FHidata间接寻址区,共128字节,80H-FFHpdata分页寻址片外RAM区,共256字节,00H-FFHxdata片RAM区,共64K字节,0000H-FFFFHcode程序存储区,共64K字节,0000H-FFFFH193.5.2 特殊功能寄存器(SFR)(1)sfr声明字节寻址的特殊功能寄存器,比如声明字节寻址的特殊功能寄存器,比如sfr P0=0 x80,表示,表示P0口地址为口地址为0 x80。(2)sfr16许多新型许多新型8051派生系列单片机用两个连续地址的派生系列单片机用两个连续地址的SFR来指来指定定16位数值。位数值。(3)sbit声明可位寻址的特殊功能寄存器和别的可位寻址的对象。声明可位寻址的特殊功能寄存器和别的可位寻址的对象。“=”后将绝对地址赋给变量名后将绝对地址赋给变量名 203.5.3 中断标识符单片机单片机C程序的中断程序与汇编不同,其中断过程是用程序的中断程序与汇编不同,其中断过程是用interrupt关键字和中断号(关键字和中断号(0到到31)来实现,中断号告诉编)来实现,中断号告诉编译器中断程序的入口地址,中断号对应着译器中断程序的入口地址,中断号对应着IE寄存器中的使寄存器中的使能位,如能位,如IE寄存器中的寄存器中的0位对应着外部中断位对应着外部中断0,依此类推,依此类推,表表3.4为单片机中断源与为单片机中断源与C程序中断号的对应关系。程序中断号的对应关系。 C中的中断号对应单片机的中断源0外部中断01定时器0溢出中断2外部中断13定时器1溢出中断4串行口中断5定时器2溢出中断213.6 单片机C语言应用3.6.1 C语言程序编写举例语言程序编写举例LED点阵显示原理点阵显示原理八十年代以来出现了组合型八十年代以来出现了组合型IED点阵显示器,以发光二极管点阵显示器,以发光二极管为像素,用高亮度发光二极管芯阵列组合而成,并采用环为像素,用高亮度发光二极管芯阵列组合而成,并采用环氧树脂和塑模封装。点阵显示器有单色和双色两类,可显氧树脂和塑模封装。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。示红,黄,绿,橙等。LED点阵有点阵有44、48、57、58、88、1616、2424、4040等多种;等多种;3.6.2 【实训【实训3】Proteus 7 Professional 入门入门 实验目的学习Proteus 7.5软件的使用方法,主要包括硬件原理图的设计方法,单片机目标程序的加载及调试方法等,为后续单片机硬件仿真实验打下基础。223.6.3 【实训【实训4】跑马灯】跑马灯 实训目的1学习单片机系统中并行I/O接口的使用方法。2学会用C语言编写单片机程序的基本方法。