logo资料库

MSP430系列单片机实用C语言程序设计_张晞.pdf

第1页 / 共278页
第2页 / 共278页
第3页 / 共278页
第4页 / 共278页
第5页 / 共278页
第6页 / 共278页
第7页 / 共278页
第8页 / 共278页
资料共278页,剩余部分请下载后查看
书名页
版权页
前言
目录
第1章 MSP430 硬件基础知识
1.1 概述
1.2 存储器结构
1.3 复位
1.4 系统时钟
1.5 低功耗模式
1.6 中断
1.7 外围模块
第2章 C语言基础知识
2.1 标识符与关键字
2.1.1 标识符
2.1.2 关键字
2.2 数据类型
2.2.1 基本型
2.2.2 构造型
2.2.3 指针型
2.3 运算符
2.4 函数
2.5 数组
2.6 指针
2.7 位运算
2.8 存储类型
2.8.1 变量
2.8.2 函数
2.9 预处理功能
2.9.1 宏定义
2.9.2 条件编译
2.9.3 文件包含
2.10 程序的基本结构
2.10.1 顺序结构
2.10.2 选择结构
2.10.3 循环
2.10.4 跳转
第3 章IAR C 编译器的使用
3.1 概述
3.1.1 特性
3.1.2 软件结构
3.1.3 文件类型
3.2 开发调试环境
3.2.1 创建一个工程
3.2.2 编译链接项目
3.2.3 项目设置
3.2.4 调试
3.3 语言扩展
3.3.1 扩展关键字
3.3.2 内部函数
3.3.3 扩展定义
3.4 C语言与汇编语言混合使用
3.4.1 调用内部函数
3.4.2 直接嵌入
3.4.3 调用汇编模块
3.5 编写高质量的代码
3.6 函数库
第4章 开发工具
4.1 JTAG 仿真器、编程器
4.2 BSL 编程器
第5章 程序设计的规范与结构
5.1 程序规范
5.2 程序结构
5.3 框架程序
第6章 MSP430 异步串行通信
6.1 串行通信简介
6.2 串行通信软件实现
第7章 定时器
7.1 16 位定时器
7.1.1 定时中断
7.1.2 PWM 输出
7.1.3 捕获脉冲信号周期
7.1.4 软件模拟异步串行通信
7.2 基本定时器
第8章 FLASH 的读写、擦除与I/O 端口
8.1 FLASH 的读写和擦除
8.2 I/O 端口
8.2.1 非行列式键盘
8.2.2 行列式键盘
第9章 DMA 数据传输与IIC 总线
9.1 DMA 数据传输
9.2 IIC 总线
第10章 FLL+锁频环与液晶屏驱动模块
10.1 FLL+锁频环
10.2 液晶屏驱动模块
第11章 AD、DA 转换
11.1 ADC12
11.2 DAC12
第12章 比较器A
12.1 斜边AD 转换
12.2 电阻值测量
第13章 特殊处理
13.1 中断嵌套
13.2 程序异常处理
附录A MSP430 基本电路图
MSP430 系列单片机实用 C 语言程序设计 张 晞 王德银 张 晨 编著 人 民 邮 电 出 版 社
图书在版编目(CIP)数据 MSP430 系列单片机实用 C 语言程序设计/张晞,王德银,张晨编著. —北京:人民邮电出版社,2005.9 ISBN 7-115-13664-5 Ⅰ.M… Ⅱ.①张…②王…③张… Ⅲ.①单片微型计算机,MSP430 ②C 语言-程序设计 Ⅳ.①TP368.1②TP312 中国版本图书馆 CIP 数据核字(2005)第 089732 号 内 容 提 要 本书从应用角度出发,主要介绍 MSP430 的硬件基础部分和 IAR 公司的 MSP430 C 编译器 EW430,并 对 MSP430 中的各功能模块给出了应用实例。这些实例程序按照结构化编写,经作者的封装后,读者在开发 中只需稍加修改即可直接调用。书中还介绍了 MSP430 的几种典型应用,如软件模拟串行口、在线刷新 FLASH、实现中断嵌套等,并为其编写了完整代码,读者完全可以将其直接组合在自己的项目中。书中还讲 解了单片机领域编写程序的规范、程序结构的安排以及如何提高编码效率等实际应用中的问题。随书光盘中 包括了本书的所有程序代码。 MSP430 系列单片机实用 C 语言程序设计 北京市崇文区夕照寺街 14 号 编 著 张 晞 王德银 张 晨 责任编辑 刘映欣 人民邮电出版社出版发行 邮编 100061 电子函件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京顺义振华印刷厂印刷 新华书店总店北京发行所经销 开本:787×1092 1/16 印张:17.5 字数:426 千字 印数:1 – 5 000 册 插页:1 2005 年 9 月第 1 版 2005 年 9 月北京第 1 次印刷 ISBN 7-115-13664-5/TP·4784 定价:35.00 元(附光盘) 读者服务热线:(010)67132692 印装质量热线:(010)67129223
前前 言言 以前出版的有关 MSP430 的书籍主要是从 MSP430 内部结构的角度来讲述的,读者可以 从中获得比较全面的相关知识,但这些书的描述往往过于底层,使得读者使用时必须花费相 当多的时间认真推敲各个寄存器或者模块之间的关系。本书所描述的重点与以往的相关书籍 不同,本书并不准备详细地将 MSP430 重新描述一遍,相关的知识可以从 MSP430 的数据手 册或者类似书籍中获得。本书将通过实际应用来讲述如何用 C 语言编写 MSP430 的程序,所 提供的例子涵盖 MSP430 大多数的功能模块,而且都是采用结构化编程方法,使得这些例子 中的代码能够被读者重复利用,或者只需在例子的框架内进行修改,就可以满足需要。 MSP430 的功能非常强大,其内部的寄存器非常多,关系也比较复杂,对于初学者, 往往会有无从下手的感觉。通过学习本书中的例子,初学者能够尽快渡过初学 MSP430 时的瓶颈期。对于已经有经验的读者,本书更像是一本编程的代码库,因为书中的例子都 立足于应用,可以重复利用,能够大大提高工作效率。本书还详细讲述了 IAR 公司的 C 语言开发工具,可以作为 C 语言开发 MSP430 的使用手册。书中所有的例程都在 IAR 公司的 C 编译器 EW430 3.1A 版本下完成,并在北京东方美源公司提供的实验板上使用 JTAG 仿真器调试通过。由于没有详细介绍 MSP430 内部的寄存器,因此,读者阅读本书 的时候,手边最好有相应的 MSP430 芯片手册,以便随时查阅。 本书由张晞、王德银、张晨三人编写而成。张晞,中国矿业大学机电学院副教授,机械 制造及其自动化学科带头人,长期从事单片机的教学及研究工作。王德银,高级工程师,现 任河南平顶山煤业集团五矿矿长,主要从事煤矿机电自动化和安全生产监测系统的研究。张 晨,现任北京东方美源公司研发部主管,多年从事单片机的应用设计工作。本书在成书过程 中得到北京东方美源科技有限公司的大力支持,在此表示感谢。 由于作者水平有限,成书时间仓促,书中必定会存在不妥之处,恳请广大读者批评指正, 以便在以后的版本中及时修正,联系地址:mcu@mcu163.com(作者)或 liuyingxin@ptpress.com.cn (编辑)。欢迎访问作者的个人网站 http://www.mcu163.com,欢迎与作者进行技术交流。 编 者 2005 年 8 月
目目 录录 第 1 章 MSP430 硬件基础知识........................................................................................................ 1 1.1 概述....................................................................................................................................... 2 1.2 存储器结构........................................................................................................................... 2 1.3 复位....................................................................................................................................... 4 1.4 系统时钟............................................................................................................................... 6 1.5 低功耗模式........................................................................................................................... 8 1.6 中断..................................................................................................................................... 10 1.7 外围模块............................................................................................................................. 16 第 2 章 C 语言基础知识 ............................................................................................................... 17 2.1 标识符与关键字 ................................................................................................................. 18 2.1.1 标识符.......................................................................................................................... 18 2.1.2 关键字.......................................................................................................................... 18 2.2 数据类型............................................................................................................................. 19 2.2.1 基本型.......................................................................................................................... 19 2.2.2 构造型.......................................................................................................................... 20 2.2.3 指针型.......................................................................................................................... 21 2.3 运算符................................................................................................................................. 22 2.4 函数..................................................................................................................................... 26 2.5 数组..................................................................................................................................... 27 2.6 指针..................................................................................................................................... 27 2.7 位运算................................................................................................................................. 29 2.8 存储类型............................................................................................................................. 29 2.8.1 变量.............................................................................................................................. 29 2.8.2 函数.............................................................................................................................. 30 2.9 预处理功能......................................................................................................................... 30 2.9.1 宏定义.......................................................................................................................... 30 2.9.2 条件编译...................................................................................................................... 31 2.9.3 文件包含...................................................................................................................... 31 2.10 程序的基本结构 ............................................................................................................... 32 2.10.1 顺序结构.................................................................................................................... 32 2.10.2 选择结构.................................................................................................................... 32 2.10.3 循环............................................................................................................................ 34 – 1 –
MSP430 系列单片机实用 C 语言程序设计 2.10.4 跳转............................................................................................................................ 35 第 3 章 IAR C 编译器的使用 ......................................................................................................... 37 3.1 概述..................................................................................................................................... 38 3.1.1 特性.............................................................................................................................. 38 3.1.2 软件结构...................................................................................................................... 38 3.1.3 文件类型...................................................................................................................... 39 3.2 开发调试环境..................................................................................................................... 40 3.2.1 创建一个工程.............................................................................................................. 40 3.2.2 编译链接项目.............................................................................................................. 43 3.2.3 项目设置...................................................................................................................... 44 3.2.4 调试.............................................................................................................................. 50 3.3 语言扩展............................................................................................................................. 55 3.3.1 扩展关键字.................................................................................................................. 56 3.3.2 内部函数...................................................................................................................... 57 3.3.3 扩展定义...................................................................................................................... 60 3.4 C 语言与汇编语言混合使用 ............................................................................................. 63 3.4.1 调用内部函数.............................................................................................................. 63 3.4.2 直接嵌入...................................................................................................................... 63 3.4.3 调用汇编模块.............................................................................................................. 64 3.5 编写高质量的代码 ............................................................................................................. 67 3.6 函数库................................................................................................................................. 68 第 4 章 开发工具 .......................................................................................................................... 97 4.1 JTAG 仿真器、编程器....................................................................................................... 98 4.2 BSL 编程器......................................................................................................................... 99 第 5 章 程序设计的规范与结构 ................................................................................................ 101 5.1 程序规范........................................................................................................................... 102 5.2 程序结构........................................................................................................................... 106 5.3 框架程序........................................................................................................................... 109 第 6 章 MSP430 异步串行通信 ................................................................................................... 123 6.1 串行通信简介................................................................................................................... 124 6.2 串行通信软件实现 ........................................................................................................... 125 第 7 章 定时器............................................................................................................................ 137 7.1 16 位定时器...................................................................................................................... 138 7.1.1 定时中断.................................................................................................................... 139 – 2 –
目 录 7.1.2 PWM 输出 ................................................................................................................. 142 7.1.3 捕获脉冲信号周期.................................................................................................... 149 7.1.4 软件模拟异步串行通信 ............................................................................................ 153 7.2 基本定时器....................................................................................................................... 161 第 8 章 FLASH 的读写、擦除与 I/O 端口................................................................................... 167 8.1 FLASH 的读写和擦除 ..................................................................................................... 168 8.2 I/O 端口............................................................................................................................. 174 8.2.1 非行列式键盘............................................................................................................ 175 8.2.2 行列式键盘................................................................................................................ 185 第 9 章 DMA 数据传输与 IIC 总线............................................................................................... 193 9.1 DMA 数据传输................................................................................................................. 194 9.2 IIC 总线............................................................................................................................. 200 第 10 章 FLL+锁频环与液晶屏驱动模块 ................................................................................... 215 10.1 FLL+锁频环.................................................................................................................... 216 10.2 液晶屏驱动模块 ............................................................................................................. 218 第 11 章 AD、DA 转换.................................................................................................................. 233 11.1 ADC12............................................................................................................................. 234 11.2 DAC12............................................................................................................................. 244 第 12 章 比较器 A........................................................................................................................ 251 12.1 斜边 AD 转换 ................................................................................................................. 252 12.2 电阻值测量..................................................................................................................... 260 第 13 章 特殊处理....................................................................................................................... 267 13.1 中断嵌套......................................................................................................................... 268 13.2 程序异常处理 ................................................................................................................. 270 附录 A MSP430 基本电路图 – 3 –
第 1 章 MSP430 硬件基础知识 MSP430 是美国 Texas Instruments(TI)公司于 1996 年开始推向市场的超低功耗微处理器。除了超低功耗这一 特点外,在 MSP430 系列产品中还集成了很多功能模块, 可以应用于各个方面,使得用一片 MSP430 芯片就能完成 以前要用多片芯片组合才能完成的功能,大大地缩小了产 品的体积,并且降低了成本。因此,MSP430 系列一经推 出,就受到了业内人士的欢迎。迄今为止,MSP430 已经 广泛应用于各个领域,尤其是便携式仪器仪表、监测、医 疗器械以及汽车电子等领域。 本章将对 MSP430 的基础特性进行简明扼要地介绍,外 围模块的具体操作则完全略过。对基础特性的了解是操作任 何一种微处理器所必备的,仔细阅读本章内容可为学习全书 打下良好的基础。 1
MSP430 系列单片机实用 C 语言程序设计 11..11 概概 述述 当前市场上存在很多种微处理器,每种微处理器都各有其特色。针对不同的应用选择合 适的微处理器非常重要。MSP430 的主要特点为: (1)超低功耗 拥有 5 种低功耗模式,以适应不同的需要。CPU 从低功耗模式被唤醒, 这个过程最多只需要 6μs,因此,在某些需要迅速作出反应的应用中,CPU 能够及时退出低 功耗模式,进入工作模式。 (2)灵活的时钟使用方式 除了片内集成一个晶体振荡器外,还可外接 1~2 个晶体振 荡器。不同的内部功能模块可根据需要使用不同的晶体振荡器,在不需要时可以通过设置寄 存器将其关闭,以降低功耗。 (3)高速的运算能力 16 位 RISC 架构,125ns 指令周期。 (4)丰富的功能模块 集成了大量的功能模块,这些功能模块包括: 多通道 10~14 位 AD 转换器 双路 12 位 DA 转换器 比较器 液晶驱动器 电源电压检测 串行口 USART(UART/SPI) 硬件乘法器 看门狗定时器和多个 16 位、8 位定时器(可进行捕获、比较、PWM 输出) DMA 控制器 FLASH 存储器。它可以在运行过程中由程序控制写操作和段的擦除(In system programmable),不需要额外的高电压。 (5)廉价专业的开发工具 MSP430 的芯片上包括 JTAG 接口,因此在仿真调试程序时, 通过一个廉价的 JTAG 接口转换器就可以完成以往用昂贵的仿真器才能完成的功能,如设置 断点、单步执行程序、读写寄存器等。 (6)灵活快速的编程方式 可通过 JTAG 和 BSL 两种方式向 CPU 内装载程序。 (7)高保密性 只需按照特定的方式将 MSP430 内部的熔丝熔断,JTAG 口便被物理性 地阻断。BSL 方式所需要的密码长达 256 位,排列组合出来的密码量为 2 的 256 次幂,如此 巨大的数量被破解的可能性微乎其微。 (8)低电源电压范围 1.8~3.6V。 11..22 存存储储器器结结构构 MSP430 内部存储器的类型有:程序存储器 FLASH、数据存储器 RAM、外围模块寄存 – 2 –
分享到:
收藏