MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。本书介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。 \r\n 本书可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。
第1章 C语言基本知识\r\n\r\n1.1 标识符与关键字\r\n1.1.1 标识符\r\n1.1.2 关键字\r\n1.2 数据基本类型\r\n1.2.1 整型数据\r\n1.2.2 实型数据\r\n1.2.3 字符型数据\r\n1.2.4 各种数据转换关系\r\n1.3 C语言的运算符\r\n1.3.1 算术运算符\r\n1.3.2 关系运算符和逻辑运算符\r\n1.3.3 赋值运算符\r\n1.3.4 逗号运算符\r\n1.3.5 ? 与 :运算符\r\n1.3.6 强制转换运算符\r\n1.3.7 各种运算符优先级列表\r\n1.4 程序设计的三种基本结构\r\n1.4.1 语句的概念\r\n1.4.2 顺序结构\r\n1.4.3 选择结构\r\n1.4.4 循环结构\r\n1.5 函数\r\n1.5.1 函数定义\r\n1.5.2 局部变量与全局变量\r\n1.5.3 形式参数与实际参数\r\n1.5.4 函数调用方式\r\n1.5.5 函数嵌套调用\r\n1.5.6 变量的存储类别\r\n1.5.7 内部函数和外部函数\r\n1.6 数组\r\n1.6.1 一维数组\r\n1.6.2 多维数组\r\n1.6.3 字符数组\r\n1.7 指针\r\n1.7.1 指针与地址的概念\r\n1.7.2 指针变量的定义\r\n1.7.3 指针变量的引用\r\n1.7.4 数组的指针\r\n1.7.5 函数的指针\r\n1.7.6 指针数组\r\n1.8 结构和联合\r\n1.8.1 结构定义\r\n1.8.2 结构类型变量的定义\r\n1.8.3 结构类型变量的初始化\r\n1.8.4 结构类型变量的引用\r\n1.8.5 联合\r\n1.9 枚举\r\n1.9.1 枚举的定义\r\n1.9.2 枚举元素的值\r\n1.9.3 枚举变量的使用\r\n1.10 类型定义\r\n1.10.1 类型定义的形式\r\n1.10.2 类型定义的使用\r\n1.11 位运算\r\n1.11.1 位运算符\r\n1.11.2 位域\r\n1.12 预处理功能\r\n1.12.1 简单宏定义和带参数宏定义\r\n1.12.2 文件包含\r\n1.12.3 条件编译命令\r\n\r\n第2章 C430--MSP430系列的C语言\r\n\r\n2.1 MSP430系列的C语言\r\n2.1.1 C430概述\r\n2.1.2 C430程序设计工作流程\r\n2.1.3 开始\r\n2.1.4 C430程序生成\r\n2.2 C430的数据表达\r\n2.2.1 数据类型\r\n2.2.2 编码效率\r\n2.3 C430的配置\r\n2.3.1 引言\r\n2.3.2 存储器分配\r\n2.3.3 堆栈体积\r\n2.3.4 输入输出\r\n2.3.5 寄存器的访问\r\n2.3.6 堆体积\r\n2.3.7 初始化\r\n\r\n第3章 C430的开发调试环境\r\n\r\n3.1 引言\r\n3.1.1 Workbench特性\r\n3.1.2 Workbench的内嵌编辑器特性\r\n3.1.3 C编译器特性\r\n3.1.4 汇编器特性\r\n3.1.5 连接器特性\r\n3.1.6 库管理器特性\r\n3.1.7 CSPY调试器特性\r\n3.2 Workbench概述\r\n3.2.1 项目管理模式\r\n3.2.2 选项设置\r\n3.2.3 建立项目\r\n3.2.4 测试代码\r\n3.2.5 样本应用程序\r\n3.3 Workbench的操作\r\n3.3.1 开始\r\n3.3.2 编译项目\r\n3.3.3 连接项目\r\n3.3.4 调试项目\r\n3.3.5 使用Make命令\r\n3.4 Workbench的功能汇总\r\n3.4.1 Workbench的窗口\r\n3.4.2 Workbench的菜单功能\r\n3.5 Workbench的内嵌编辑器\r\n3.5.1 内嵌编辑器操作\r\n3.5.2 编辑键说明\r\n3.6 CSPY概述\r\n3.6.1 CSPY的C语言级和汇编语言级调试\r\n3.6.2 程序的执行\r\n3.7 CSPY的操作\r\n3.7.1 程序生成\r\n3.7.2 编译与连接\r\n3.7.3 CSPY运行\r\n3.7.4 C语言级调试\r\n3.7.5 汇编级调试\r\n3.8 CSPY的功能汇总\r\n3.8.1 CSPY的窗口\r\n3.8.2 CSPY的菜单命令功能\r\n3.9 CSPY的表达式与宏\r\n3.9.1 汇编语言表达式\r\n3.9.2 C语言表达式\r\n3.9.3 CSPY宏\r\n3.9.4 CSPY的设置宏\r\n3.9.5 CSPY的系统宏\r\n\r\n第4章 C430程序设计实例\r\n\r\n4.1 程序设计与调试环境\r\n4.1.1 程序设计调试集成环境\r\n4.1.2 设备连接\r\n4.1.3 ProF149实验系统\r\n4.2 数值计算\r\n4.2.1 C语言表达式\r\n4.2.2 利用MPY实现运算\r\n4.3 循环结构\r\n4.4 选择结构\r\n4.5 SFR访问\r\n4.6 RAM访问\r\n4.7 FLASH访问\r\n4.8 WDT操作\r\n4.8.1 WDT使程序自动复位\r\n4.8.2 程序对WATCHDOG计数溢出的控制\r\n4.8.3 WDT的定时器功能\r\n4.9 Timer操作\r\n4.9.1 用Timer产生时钟信号\r\n4.9.2 用Timer检测脉冲宽度\r\n4.10 UART操作\r\n4.10.1 点对点通信\r\n4.10.2 点对多点通信\r\n4.11 SPI操作\r\n4.12 比较器操作\r\n4.13 ADC12操作\r\n4.13.1 单通道单次转换\r\n4.13.2 序列通道多次转换\r\n4.14 时钟模块操作\r\n4.15 中断服务程序\r\n4.16 省电工作模式\r\n4.17 调用汇编语言子程序\r\n4.17.1 程序举例\r\n4.17.2 生成C程序调用的汇编子程序\r\n\r\n第5章 C430的扩展特性\r\n\r\n5.1 C430的语言扩展概述\r\n5.1.1 扩展关键字\r\n5.1.2 #pragma编译命令\r\n5.1.3 预定义符号\r\n5.1.4 本征函数\r\n5.1.5 其他扩展特性\r\n5.2 C430的关键字扩展\r\n5.2.1 interrupt\r\n5.2.2 monitor\r\n5.2.3 no_init\r\n5.2.4 sfrb\r\n5.2.5 sfrw\r\n5.3 C430的 #pragma编译命令\r\n5.3.1 bitfields=default\r\n5.3.2 bitfields=reversed\r\n5.3.3 codeseg\r\n5.3.4 function=default\r\n5.3.5 function=interrupt\r\n5.3.6 function=monitor\r\n5.3.7 language=default\r\n5.3.8 language=extended\r\n5.3.9 memory=constseg\r\n5.3.10 memory=dataseg\r\n5.3.11 memory=default\r\n5.3.12 memory=no_init\r\n5.3.13 warnings=default\r\n5.3.14 warnings=off\r\n5.3.15 warnings=on\r\n5.4 C430的预定义符号\r\n5.4.1 DATE\r\n5.4.2 FILE\r\n5.4.3 IAR_SYSTEMS_ICC\r\n5.4.4 LINE\r\n5.4.5 STDC\r\n5.4.6 TID\r\n5.4.7 TIME\r\n5.4.8 VER\r\n5.5 C430的本征函数\r\n5.5.1 _args$\r\n5.5.2 _argt$\r\n5.5.3 _BIC_SR\r\n5.5.4 _BIS_SR\r\n5.5.5 _DINT\r\n5.5.6 _EINT\r\n5.5.7 _NOP\r\n5.5.8 _OPC\r\n5.6 C430的汇编语言接口\r\n5.6.1 创建汇编子程序框架\r\n5.6.2 调用规则\r\n5.6.3 C程序调用汇编子程序\r\n5.7 C430的段定义\r\n5.7.1 存储器分布与段定义\r\n5.7.2 CCSTR段\r\n5.7.3 CDATA0段\r\n5.7.4 CODE段\r\n5.7.5 CONST\r\n5.7.6 CSTACK\r\n5.7.7 CSTR\r\n5.7.8 ECSTR\r\n5.7.9 IDATA0\r\n5.7.10 INTVEC\r\n5.7.11 NO_INIT\r\n5.7.12 UDATA0\r\n\r\n第6章 C430的库函数\r\n\r\n6.1 引言\r\n6.1.1 库模块文件\r\n6.1.2 头文件\r\n6.1.3 库定义汇总\r\n6.2C 库函数参考\r\n6.2.1 C库函数的说明格式\r\n6.2.2 C库函数说明\r\n\r\n第7章 C430编译器的诊断消息\r\n\r\n7.1 编译诊断消息的类型\r\n7.2 编译出错消息\r\n7.3 编译警告消息\r\n\r\n附录A MSP430系列FLASH型芯片资料\r\n\r\n附录B ProF149实验系统\r\n\r\n附录C MSP430x14x.H文件\r\n\r\n附录D IAR MSP430 C语言产品介绍
MSP430系列是一种具有集成度高、功能丰富、功耗极低等技术特点的16位单片机品种。它可以用C语言来完成程序设计。这些特点使得MSP430系列非常适合于应用在各种嵌入式系统中。
用C语言程序设计来实现嵌入式系统的系统软件和应用软件开发,可以大大提高开发调试工作的效率;同时,所产生的文档资料也容易理解,便于移植。适用于MSP430系列的C语言,与标准C语言兼容程度高,开发调试的集成环境和人机界面良好。
MSP430系列芯片的技术特点,在北京航空航天大学出版社出版的《MSP430系列超低功耗16位单片机原理与应用》和《MSP430系列FLASH型超低功耗16位单片机》等书中已经作了详细的介绍。本书介绍适用于MSP430系列的C语言程序设计。
本书从C语言程序设计基础入手,逐步深入地阐述了MSP430系列的C语言程序设计基本概念及它对标准C语言的扩展特性。书中详细介绍了IAR公司为MSP430系列提供的集成调试环境Embedded Workbench和C语言调试器CSPY的操作。同时,书中提供了许多C程序设计实例,供读者在阅读和实践时参考。
阅读本书的读者应具备C语言程序设计的基本知识,应该已经对MSP430系列的FLASH型芯片有较深的了解。但是,如果尚未学过C语言也不会造成很大障碍。通过对书中第1章的阅读和后续程序实例的练习,相信读者是会很快掌握C430的。
在本书的写作过程中,得到了唐斌先生的大力协助,他也为书中程序实例的设计和调试付出了大量的劳动,在此表示衷心的感谢。
由于作者的学识水平有限,书中难免有错误和不妥之处,恳请读者批评指正。
作者 2002年8月