共4条
1/1 1 跳转至页
新书介绍-MSP430系列单片机C语言程序设计与开发
内 容 简 介
MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP4
30系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。本书介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。
本书可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。
前 言
序
C语言是很多单片机开发工程师常用的工具软件之一,使用它可以大大地提高编程效率,所产生的文档容易理解和移植。
MSP430系列单片机是一种高性能、低功耗的绿色单片机,其代码存储空间从1K至60K不等。当程序量大于8K时,使用汇编语言会使软件设计工作的效率大大降低。对于MSP430系列单片机,给广大单片机工程师提供与标准C语言基本兼容的C编译软件是拓展大容量程序空间应用的最好方法。美国TI公司MSP430单片机总监Mark Witt先生非常重视这件事情,在去年他访问我们公司时曾同我谈到了此事,并且帮我们与IAR公司牵线搭桥,使IAR顺利地在中国开展业务。同时Mark Witt先生还非常赞同我们出版关于MSP430 C语言的书籍。在广大读者、单片机工程师和爱好者的要求下,经过半年多的努力和北京航空航天大学出版社的大力支持,终于使《MSP430系列单片机C语言程序设计与开发》一书与广大读者见面了。
如果说《MSP430系列超低功耗16位单片机原理与应用》和《MSP430系列Flash型超低功耗16位单片机》使广大读者认识并掌握了MSP430单片机的性能和用途,那么《MSP430系列单片机C语言程序设计与开发》将会使您对MSP430系列单片机的软件设计技术有一个非常大的提升。
广大读者在阅读此书过程中若需要对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月
目 录
第1章 C语言基本知识
1.1 标识符与关键字1
1.1.1 标识符1
1.1.2 关键字1
1.2 数据基本类型2
1.2.1 整型数据2
1.2.2 实型数据3
1.2.3 字符型数据4
1.2.4 各种数据转换关系6
1.3 C语言的运算符7
1.3.1 算术运算符7
1.3.2 关系运算符和逻辑运算符7
1.3.3 赋值运算符8
1.3.4 逗号运算符8
1.3.5 ? 与 :运算符8
1.3.6 强制转换运算符9
1.3.7 各种运算符优先级列表9
1.4 程序设计的三种基本结构10
1.4.1 语句的概念10
1.4.2 顺序结构11
1.4.3 选择结构12
1.4.4 循环结构14
1.5 函数18
1.5.1 函数定义18
1.5.2 局部变量与全局变量19
1.5.3 形式参数与实际参数20
1.5.4 函数调用方式20
1.5.5 函数嵌套调用21
1.5.6 变量的存储类别22
1.5.7 内部函数和外部函数23
1.6 数组23
1.6.1 一维数组24
1.6.2 多维数组24
1.6.3 字符数组26
1.7 指针27
1.7.1 指针与地址的概念27
1.7.2 指针变量的定义28
1.7.3 指针变量的引用28
1.7.4 数组的指针28
1.7.5 函数的指针30
1.7.6 指针数组31
1.8 结构和联合32
1.8.1 结构定义32
1.8.2 结构类型变量的定义33
1.8.3 结构类型变量的初始化34
1.8.4 结构类型变量的引用34
1.8.5 联合34
1.9 枚举36
1.9.1 枚举的定义36
1.9.2 枚举元素的值37
1.9. 3 枚举变量的使用37
1.10 类型定义38
1.10.1 类型定义的形式38
1.10.2 类型定义的使用38
1.11 位运算39
1.11.1 位运算符39
1.11.2 位域40
1.12 预处理功能41
1.12.1 简单宏定义和带参数宏定义41
1.12.2 文件包含43
1.12.3 条件编译命令44
第2章 C430--MSP430系列的C语言
2.1 MSP430系列的C语言45
2.1.1 C430概述45
2.1.2 C430程序设计工作流程46
2.1.3 开始46
2.1.4 C430程序生成47
2.2 C430的数据表达48
2.2.1 数据类型48
2.2.2 编码效率50
2.3 C430的配置51
2.3.1 引言51
2.3. 2 存储器分配52
2.3.3 堆栈体积52
2.3.4 输入输出52
2.3.5 寄存器的访问54
2.3.6 堆体积54
2.3.7 初始化54
第3章 C430的开发调试环境
3.1 引言56
3.1.1 Workbench特性56
3.1.2 Workbench的内嵌编辑器特性56
3.1.3 C编译器特性57
3.1. 4 汇编器特性57
3.1.5 连接器特性58
3.1.6 库管理器特性58
3.1.7 CSPY调试器特性59
3.2 Workbench概述59
3.2.1 项目管理模式59
3.2.2 选项设置60
3.2.3 建立项目60
3.2.4 测试代码61
3.2.5 样本应用程序61
3.3 Workbench的操作62
3.3.1 开始63
3.3.2 编译项目68
3.3.3 连接项目69
3.3.4 调试项目71
3.3.5 使用Make命令73
3.4 Workbench的功能汇总75
3.4.1 Workbench的窗口75
3.4.2 Workbench的菜单功能81
3.5 Workbench的内嵌编辑器99
3.5.1 内嵌编辑器操作99
3.5.2 编辑键说明99
3.6 CSPY概述101
3.6.1 CSPY的C语言级和汇编语言级调试101
3.6.2 程序的执行102
3.7 CSPY的操作103
3.7.1 程序生成103
3.7.2 编译与连接103
3.7.3 CSPY运行103
3.7.4 C语言级调试104
3.7.5 汇编级调试111
3.8 CSPY的功能汇总113
3.8.1 CSPY的窗口113
3.8.2 CSPY的菜单命令功能120
3.9 CSPY的表达式与宏132
3.9.1 汇编语言表达式132
3.9.2 C语言表达式133
3.9.3 CSPY宏135
3.9.4 CSPY的设置宏137
3.9.5 CSPY的系统宏137
第4章 C430程序设计实例
4.1 程序设计与调试环境143
4.1.1 程序设计调试集成环境143
4.1.2 设备连接144
4.1.3 ProF149实验系统144
4.2 数值计算145
4.2.1 C语言表达式145
4.2.2 利用MPY实现运算146
4.3 循环结构147
4.4 选择结构148
4.5 SFR访问149
4.6 RAM访问150
4.7 FLASH访问151
4.8 WDT操作153
4.8. 1 WDT使程序自动复位153
4.8.2 程序对WATCHDOG计数溢出的控制154
4.8.3 WDT的定时器功能155
4.9 Timer操作155
4.9.1 用Timer产生时钟信号155
4.9.2 用Timer检测脉冲宽度156
4.10 UART操作157
4.10.1 点对点通信157
4.10.2 点对多点通信160
4.11 SPI操作163
4.12 比较器操作165
4.13 ADC12操作167
4.13.1 单通道单次转换167
4.13.2 序列通道多次转换168
4.14 时钟模块操作170
4.15 中断服务程序171
4.16 省电工作模式175
4.17 调用汇编语言子程序176
4.17.1 程序举例176
4.17.2 生成C程序调用的汇编子程序177
第5章 C430的扩展特性
5.1 C430的语言扩展概述178
5.1.1 扩展关键字178
5.1.2 #pragma编译命令178
5.1.3 预定义符号179
5.1.4 本征函数179
5.1.5 其他扩展特性179
5.2 C430的关键字扩展179
5.2.1 interrupt180
5.2.2 monitor180
5.2.3 no_init181
5.2.4 sfrb181
5.2.5 sfrw182
5.3 C430的 #pragma编译命令182
5.3.1 bitfields=default182
5.3.2 bitfields=reversed182
5.3.3 codeseg183
5.3.4 function=default183
5.3.5 function=interrupt184
5.3.6 function=monitor184
5.3.7 language=default184
5.3.8 language=extended184
5.3.9 memory=constseg185
5.3.10 memory=dataseg185
5.3.11 memory=default185
5.3.12 memory=no_init186
5.3.13 warnings=default186
5.3.14 warnings=off186
5.3.15 warnings=on186
5.4 C430的预定义符号186
5.4.1 DATE187
5.4.2 FILE187
5.4.3 IAR_SYSTEMS_ICC187
5.4.4 LINE187
5.4.5 STDC187
5.4.6 TID187
5.4.7 TIME188
5.4.8 VER188
5.5 C430的本征函数188
5.5.1 _args$188
5.5.2 _argt$189
5.5.3 _BIC_SR189
5.5.4 _BIS_SR190
5.5.5 _DINT190
5.5.6 _EINT190
5.5.7 _NOP190
5.5.8 _OPC190
5.6 C430的汇编语言接口191
5.6.1 创建汇编子程序框架191
5.6.2 调用规则191
5.6.3 C程序调用汇编子程序193
5.7 C430的段定义193
5.7.1 存储器分布与段定义194
5.7.2 CCSTR段194
5.7.3 CDATA0段194
5.7.4 CODE段195
5.7.5 CONST195
5.7.6 CSTACK195
5.7.7 CSTR195
5.7.8 ECSTR195
5.7.9 IDATA0196
5.7.10 INTVEC196
5.7.11 NO_INIT196
5.7.12 UDATA0196
第6章 C430的库函数
6.1 引言197
6.1.1 库模块文件197
6.1.2 头文件197
6.1.3 库定义汇总197
6.2C 库函数参考204
6.2.1 C库函数的说明格式204
6.2.2 C库函数说明204
第7章 C430编译器的诊断消息
7.1 编译诊断消息的类型230
7.2 编译出错消息231
7.3 编译警告消息243
附录 AMSP430系列FLASH型芯片资料248
附录 BProF149实验系统251
附录 CMSP430x14x.H文件253
附录 DIAR MSP430 C语言产品介绍275
关键词: 新书 介绍 -MSP430 系列 单片机 语言 程
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |