当前位置:文档之家› 第1讲 MSP430单片机概述及开发环境

第1讲 MSP430单片机概述及开发环境


逗号运算符的作用是把几个表达式串在一起,成为逗号表达式,其格式为“表达式1,表
达式2,……,表达式n”,运算顺序为从左到右,整个逗号表达式的值是最右边表达式的值。 强制类型转换运算符的作用是将一个表达式或变量转换成所需类型,符号为“()”。例如 ,(int)a是将a转换为整型;(float)(a+b)是将a+b的结果转换为浮点数。
注意:在C430中,标识符的命名应该做到简洁明了、含义清晰,这样便于程序的阅读和维护。例
如,在比较最大值时,最好使用max来定义该标识符;在片内模块初始化函数部分,函数命名后面尽
量加上_init,如ADC12_init()表示ADC12模块初始化函数。
2.1 MSP430单片机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。
位操作 运算符 & 说明 举例
| ^ ~ <<
>>
若 P1 端 口 输 出 寄 存 器 P1OUT=00001111 , 则 执 行 按位相与,均为1时,结果为1 P1OUT=P1OUT&111111110;语句后,P1OUT=00001110, 即把最后一位输出拉低,其余位不变。 若 P1OUT=00001111 , 则 执 行 按位相或,有1则结果为1,均为0时结果 P1OUT=P1OUT|10000000; 语 句 后 , P1OUT=10001111 , 为0 即把第一位输出拉高其余位不变。 按位异或,两个变量相同时,结果为0; 若 P1OUT=00001111 , 则 执 行 两个变量不同时,结果为1 P1OUT=P1OUT^00111100; 语 句 后 , P1OUT=00110011 。 若P1OUT=00001111,则执行P1OUT=~P1OUT;语句后, 按位取反,1取反后为0;0取反后为1 P1OUT=11110000。 左移,把第一个变量的二进制位左移第 二个变量指定的位数,其左移出的数据丢 若a=00100010,则执行a<<2;语句后,a=10001000。 弃,变量右侧补“0” 右移,把第一个变量的二进制位右移第 二个变量指定的位数,其右移出的数据丢 若a=00100010,则执行a>>2;语句后,a=00001000。 弃,变量左侧补“0”
%
算符
2.1 MSP430单片机C语言基础
C语言中表示加1与减1时可以采用自增(++)和自减运算符(--)。运算符“++”使操作数加1,而“--” 使操作数减1,操作数可以在前,也可以在后,它们的作用和差异如表2.1.3所示。 表2.1.3 自增与自减运算符列表 类型 i++ ++i i---i 含义 自加1在执行语句之后 自加1在执行语句之前 自减1在执行语句之后 自减1在执行语句之前 举例(设i的初值为5) j=i++; 执行语句后i为6,j为5 j=++i; 执行语句后i为6,j为6 j=i--; 执行语句后i为4,j为5 j=--i; 执行语句后i为4,j为4
1.1 MSP430单片机的特点
MSP430单片机是一个 16 位、具有精简指令集、超低功耗的混合信号处理器。 MSP430单片机具有以下主要特点: 1、超低功耗
2、强大的处理 能力
MSP430单片机 的五大特点
5、高效灵活 的开发环境
3、高性能模 拟技术及丰富 的片上外设
4、系统工作稳定
1.2 MSP430单片机应用选型
表2.1.5 逻辑运算符描述列表
符号
&&
含义
逻辑与,二者均为非零数,结果为真,否 则为假
设:a=4,b=5
a&&b 返回值1
||
逻辑或,只要有一个非零数,结果为真, 否则为假
a||b 返回值1
!
逻辑非,非真即假,非假即真
!a 返回值0
2.1 MSP430单片机C语言基础
4.位操作运算符与表达式
位操作运算符主要有6种,具体描述列表如表2.1.6所示。 表2.1.6 位操作运算符描述列表
图2 MSP430单片机型号解码图 在MSP430单片机型号中,除“430”以外的数字,其含义如下。第一位数字表示主系 列,目前有以下几个主系列: MCLK 为 8MHz 的 MSP430F1xx 系列、 MCLK 为 16MHz 的 MSP430F2xx 系列、 MCLK 为 16MHz 并具有 LCD 驱动器的 MSP430F4xx 系列、 MCLK 高达 25MHz的MSP430F5xx系列、MCLK高达25MHz并具有LCD驱动器的MSP430F6xx系列。
2.1 MSP430单片机C语言基础
2.1.2 变量
变量用于存储数据,程序运行中其值可以被改变,每个变量都必须有一个名字,即变量名。程序 定义了一个变量,即表示在内存中拥有了一个可供使用的存储单元,用来存放数据,即变量的值。而 变量名则是编程者给该存储单元所起的名称。程序运行过程中,变量的值存储在内存中。从变量中取 值,实际上是根据变量名找到相应的内存地址,从该存储单元中读取数据。在定义变量时基础
6.特殊运算符与表达式
特殊运算符包括条件运算符、逗号运算符和强制类型转换运算符,在此仅作简要介绍。
条件运算符主要用于条件求值运算,其表达式一般形式为“表达式1?表达式2:表达式3”
,运算符“?”的作用是在计算表达式1之后,如果表达式1为真,则执行表达式2,并将结果 作为整个表达式的数值;如果表达式1的值为假,则执行表达式3,并以其结果作为整个表达式 的值。例如,y=’a’>’b’?3:5;执行完该语句后,y的值为5。
2.1 MSP430单片机C语言基础
2.1.3 C语言运算符
算术运算符 特殊运算符与表达式
关系运算符与表达式
C语言 运算符
赋值运算符与表达式
逻辑运算符与表达式
位操作运算符与表达式
2.1 MSP430单片机C语言基础
1.算术运算符
C语言中有5种基本的算术运算符:+、-、*、/和%,具体描述如表2.1.2所示。
1.3 MSP430F5xx/6xx系列单片机结构概述
MSP430单片机采用的是冯· 诺依曼结构。冯· 诺依曼结构是一种将程序存储器和数据存
储器合并在一起且指令和数据共享同一总线的存储器结构。MSP430单片机的结构主要包
含16位精简指令集CPU、存储器、片上外设、时钟系统、仿真系统以及连接它们的数据总 线和地址总线,如图3所示。
表2.1.2 5种基本的算术运算符描述列表 运算符 + * / 含义 加法或正值运算符 减法或负值运算符 乘法运算符 除法运算符 模运算符或求余运 说明 例如,3+5、+3 例如,5-3、-3 例如,5*3 当两个整数相除时,结果为整数,小数部分舍去, 例如,-5/3的运算结果为-1 参加运算的均应是整数,例如,5%3结果为2
符号
> >= ==
含义
大于 大于等于 等于
设:a=4,b=5
a>b 返回值0 a>=b 返回值0 a==b 返回值0
<
<= !=
小于
小于等于 不等于
a<b 返回值1
a<=b 返回值1 a!=b 返回值1
2.1 MSP430单片机C语言基础
3.逻辑运算符与表达式
C语言中有3种逻辑表达式:与、或、非,具体描述列表如表2.1.5所示。
2.1 MSP430单片机C语言基础
2.关系运算符与表达式
当两个表达式用关系运算符连接起来就成为了关系表达式,通常关系运算符用来判断某个条件是 否成立。当条件成立,运算的结果为真;当条件不成立,运算的结果为假。用关系运算符的结果只有 “0”和“1”两种,关系运算符描述列表如表2.1.4所示。 表2.1.4 关系运算符列表
图3 MSP430F5xx/6xx系列单片机结构
1.4 MSP430F6638单片机特性、结构和外部引脚
1.4MSP430F6638单片机的结构
图4 MSP430F6638单片机结构框图
2.1 MSP430单片机C语言基础
2.1.1 标识符和关键字
1.标识符 标识符用来标识程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变 量、常量、数组等。标识符的第一个字符必须是字母或下划线,随后的字符必须是字母、 数字或下划线。例如,count_data、text2是正确形式,而2count是错误形式。 C语言对大小写字符敏感,所以在编写程序时要注意大小写字符的区别。例如,对于 sec和SEC这两个标识符来说,C语言会认为它们是两个完全不同的标识符。
加法赋值,x+=a;等价于 x=x+a; 减法赋值,x-=a;等价于x=xa; 乘法赋值,x*=a;等价于 x=x*a;
除法赋值,x/=a;等价于x=x/a; 求余赋值,x%=a;等价于 x=x%a;
2.1 MSP430单片机C语言基础
例1 将 P1.0 置 1、P1.1 置 0、P1.2 取反,不影响其他位。 P1OUT |= 0x01; //“按位或”,相当于置1 P1OUT &= ~0x02; //取反后再“按位与”,相当于置0 P1OUT ^= 0x04; //“按位异或”,相当于取反
相关主题