第二章MSP430单片机软件工程开发基础.ppt
- 文档编号:2734046
- 上传时间:2022-11-10
- 格式:PPT
- 页数:47
- 大小:5.27MB
第二章MSP430单片机软件工程开发基础.ppt
《第二章MSP430单片机软件工程开发基础.ppt》由会员分享,可在线阅读,更多相关《第二章MSP430单片机软件工程开发基础.ppt(47页珍藏版)》请在冰豆网上搜索。
MSP430单片机原理与应用单片机原理与应用第2章MSP430单片机软件工程开发基础MSP430单片机单片机C语言基础语言基础2.1MSP430单片机软件工程基础单片机软件工程基础2.2MSP430单片机软件开发集成环境单片机软件开发集成环境CCSv52.3MSP430单片机的CPU属于RISC(精简指令集)处理器,RISC处理器基本上是为高级语言所设计的,因为精简指令系统很大程度上降低了编译器的设计难度,有利于产生高效紧凑的代码。
初学者完全可以在不深入了解汇编指令系统的情况下,直接开始C语言的学习。
本章介绍MSP430单片机软件工程的开发基础,主要讲解MSP430单片机C语言编程基础、MSP430单片机的软件编程方法及软件集成开发环境的基本操作。
通过本章的讲解,旨在使读者对MSP430单片机的编程思想有一定的了解。
22.1MSP430单片机C语言基础2.1.1标识符和关键字1标识符标识符用来标识程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变量、常量、数组等。
标识符的第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线。
例如,count_data、text2是正确形式,而2count是错误形式。
C语言对大小写字符敏感,所以在编写程序时要注意大小写字符的区别。
例如,对于sec和SEC这两个标识符来说,C语言会认为它们是两个完全不同的标识符。
注意:
在C430中,标识符的命名应该做到简洁明了、含义清晰,这样便于程序的阅读和维护。
例如,在比较最大值时,最好使用max来定义该标识符;在片内模块初始化函数部分,函数命名后面尽量加上_init,如ADC12_init()表示ADC12模块初始化函数。
32.1MSP430单片机C语言基础2关键字关键字是一种具有特定含义的标识符,由于系统已经对这些标识符进行了定义,程序就不能再次定义,需要加以保留。
用户不能将关键字用作自己定义的标识符。
C语言中,关键字主要有以下3类。
数据类型关键字:
auto,char,const,double,enum,extern,float,int,long,register,sizeof,short,static,typedef,union,unsigned,void,volitile。
程序控制关键字:
break,case,continue,default,do,else,for,goto,if,return,switch,whlie。
预处理功能关键字:
define,endif,elif,ifdef,ifndef,include,line,undef。
42.1MSP430单片机C语言基础2.1.2变量变量用于存储数据,程序运行中其值可以被改变,每个变量都必须有一个名字,即变量名。
程序定义了一个变量,即表示在内存中拥有了一个可供使用的存储单元,用来存放数据,即变量的值。
而变量名则是编程者给该存储单元所起的名称。
程序运行过程中,变量的值存储在内存中。
从变量中取值,实际上是根据变量名找到相应的内存地址,从该存储单元中读取数据。
在定义变量时,变量的类型必须与其被存储的数据类型相匹配,以保证程序中变量能够被正确地使用。
当指定了变量的数据类型时,系统将为它分配若干相应字节的内存空间。
C430中变量类型及描述如表2.1.1所示。
变量类型所占字节数值域char1-128127unsignedchar0255int2-3276832767unsignedint065535long4-231231-1unsignedlong0232-1longlong8-263263-1unsignedlonglong0264-1float4-3.40282e383.40282e38doublt8-1.79769e3081.79769e308表2.1.1C430中变量类型52.1MSP430单片机C语言基础2.1.2变量(续)
(1)const:
定义常量。
在C430中,const关键字定义的常量实际上被放在了Flash中,可以用const关键字定义常量数组。
(2)static:
相当于本地全局变量,只能在函数内使用,可以避免全局变量混乱。
(3)volatile:
定义“挥发性”变量。
编译器将认定该变量的值会随时改变,对该变量的任何操作都不会被优化过程删除。
62.1MSP430单片机C语言基础2.1.3C语言运算符特殊运算符与表达式特殊运算符与表达式算术运算符算术运算符赋值运算符与表达式赋值运算符与表达式位操作运算符与表达式位操作运算符与表达式关系运算符与表达式关系运算符与表达式逻辑运算符与表达式逻辑运算符与表达式C语言运算符72.1MSP430单片机C语言基础1算术运算符C语言中有5种基本的算术运算符:
+、-、*、/和%,具体描述如表2.1.2所示。
运算符含义说明+加法或正值运算符例如,3+5、+3-减法或负值运算符例如,5-3、-3*乘法运算符例如,5*3/除法运算符当两个整数相除时,结果为整数,小数部分舍去,例如,-5/3的运算结果为-1%模运算符或求余运算符参加运算的均应是整数,例如,5%3结果为2表2.1.25种基本的算术运算符描述列表82.1MSP430单片机C语言基础C语言中表示加1与减1时可以采用自增(+)和自减运算符(-)。
运算符“+”使操作数加1,而“-”使操作数减1,操作数可以在前,也可以在后,它们的作用和差异如表2.1.3所示。
表2.1.3自增与自减运算符列表类型含义举例(设i的初值为5)i+自加1在执行语句之后j=i+;执行语句后i为6,j为5+i自加1在执行语句之前j=+i;执行语句后i为6,j为6i-自减1在执行语句之后j=i-;执行语句后i为4,j为5-i自减1在执行语句之前j=-i;执行语句后i为4,j为492.1MSP430单片机C语言基础2关系运算符与表达式当两个表达式用关系运算符连接起来就成为了关系表达式,通常关系运算符用来判断某个条件是否成立。
当条件成立,运算的结果为真;当条件不成立,运算的结果为假。
用关系运算符的结果只有“0”和“1”两种,关系运算符描述列表如表2.1.4所示。
符号含义设:
a=4,b=5大于ab返回值0=大于等于a=b返回值0=等于a=b返回值0小于ab返回值1=小于等于a=b返回值1!
=不等于a!
=b返回值1表2.1.4关系运算符列表102.1MSP430单片机C语言基础3逻辑运算符与表达式C语言中有3种逻辑表达式:
与、或、非,具体描述列表如表2.1.5所示。
表2.1.5逻辑运算符描述列表符号含义设:
a=4,b=5&逻辑与,二者均为非零数,结果为真,否则为假a&b返回值1|逻辑或,只要有一个非零数,结果为真,否则为假a|b返回值1!
逻辑非,非真即假,非假即真!
a返回值0112.1MSP430单片机C语言基础4位操作运算符与表达式位操作运算符主要有6种,具体描述列表如表2.1.6所示。
表2.1.6位操作运算符描述列表位操作运算符说明举例&按位相与,均为1时,结果为1若P1端口输出寄存器P1OUT=00001111,则执行P1OUT=P1OUT&111111110;语句后,P1OUT=00001110,即把最后一位输出拉低,其余位不变。
|按位相或,有1则结果为1,均为0时结果为0若P1OUT=00001111,则执行P1OUT=P1OUT|10000000;语句后,P1OUT=10001111,即把第一位输出拉高其余位不变。
按位异或,两个变量相同时,结果为0;两个变量不同时,结果为1若P1OUT=00001111,则执行P1OUT=P1OUT00111100;语句后,P1OUT=00110011。
按位取反,1取反后为0;0取反后为1若P1OUT=00001111,则执行P1OUT=P1OUT;语句后,P1OUT=11110000。
左移,把第一个变量的二进制位左移第二个变量指定的位数,其左移出的数据丢弃,变量右侧补“0”若a=00100010,则执行a右移,把第一个变量的二进制位右移第二个变量指定的位数,其右移出的数据丢弃,变量左侧补“0”若a=00100010,则执行a2;语句后,a=00001000。
122.1MSP430单片机C语言基础5赋值运算符与表达式通常把“=”称为赋值运算符,赋值运算符主要有11种,具体描述列表如表2.1.7所示。
表2.1.7赋值运算符描述列表运算符描述运算符描述=简单赋值&=按位与赋值,x&=a;等价于x=x&a;+=加法赋值,x+=a;等价于x=x+a;|=按位或赋值,x|=a;等价于x=x|a;-=减法赋值,x-=a;等价于x=x-a;=异或赋值,x=a;等价于x=xa;*=乘法赋值,x*=a;等价于x=x*a;=右移赋值,x=a;等价与x=xa;/=除法赋值,x/=a;等价于x=x/a;=左移赋值,x=a;等价于x=xb?
3:
5;执行完该语句后,y的值为5。
逗号运算符的作用是把几个表达式串在一起,成为逗号表达式,其格式为“表达式1,表达式2,表达式n”,运算顺序为从左到右,整个逗号表达式的整个逗号表达式的值是最右是最右边表达式的表达式的值。
强制类型转换运算符的作用是将一个表达式或变量转换成所需类型,符号为“()”。
例如,(int)a是将a转换为整型;(float)(a+b)是将a+b的结果转换为浮点数。
142.1MSP430单片机C语言基础2.1.4程序设计的基本结构顺序结构是从前往后依次执行语句。
整体看所有的程序,顺序结构是基本结构,只不过中间某个过程是选择结构或是循环结构,执行完选择结构或循环结构后程序又按顺序执行。
1.顺序结构2选择结构选择结构又称为选取结构或分支结构,其基本特点是程序的流程由多路分支组成。
在程序的一次执行过程中,根据不同的条件,只有一条分支被选中执行,而其他分支上的语句被直接跳过。
C语言提供的选择结构语句有两种:
条件语句(ifelse)和开关语句(switch)。
152.1MSP430单片机C语言基础3循环结构循环语句主要用来进行反复多次操作,主要有3种语句,其格式如下:
for(表达式1;表达式2;表达式3)语句while(条件表达式)语句do循环体语句while(条件表达式)另外,还需介绍在循环语句控制中用到的两个重要关键字:
break和continue。
在循环语句中,break的作用是在循环体中测试到应立即结束循环条件时,控制程序立即跳出循环结构,转而执行循环语句后的语句;continue的作用是结束本次循环,一旦执行了continue语句,程序就跳过循环体中位于该语句后的所有语句,提前结束本次循环周期,并开始新一轮循环。
注意:
注意:
break和和continue的区的区别!
162.1MSP430单片机C语言基础2.1.5函数1函数的定义
(1)函数定义的语法形式类型标识符函数名(形式参数表)语句序列;
(2)函数的类型和返回值类型标识符规定了函数的类型,也就是函数的返回值类型。
函数的返回值是需要返回给主调函数的处理结果,由return语句给出,例如:
return0。
无返回值的函数其类型标识符为void,不必写return语句。
(3)形式参数与实际参数函数定义时填入的参数称为形式参数,简称形参。
它们同函数内部的局部变量作用相同。
形参的定义是在函数名后的括号中。
调用时替换的参数,是实际参数,简称实参。
定义的形参与调用函数的实参类型应该一致,书写顺序应该相同。
172.1MSP430单片机C语言基础2函数的声明调用函数之前首先要在所有函数外声明函数原型,声明形式如下:
类型说明符被调函数名(含类型说明的形参表);一旦函数原型声明之后,该函数原型在本程序文件中任何地方都有效,也就是说在本程序文件中任何地方都可以依照该原型调用相应的函数。
3函数的调用在一个函数中调用另外一个函数称为函数的调用,调用函数的方式有以下4种。
(1)作为语句调用:
把函数作为一个语句,函数无返回值,只是完成一定的操作。
例如:
ADC12_int()
(2)作为表达式调用:
函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 MSP430 单片机 软件工程 开发 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)