微信扫一扫,移动浏览光盘
简介
本书采用案例化教学的方式,以TI公司的MSP430单片机为例,结合独立开发的MSP430实验台的硬件模块设计教学项目。书中每一知识点的介绍都列举了清晰易懂的相关例程,真正从应用的角度讲解知识,既可使读者提高动手能力又可培养其兴趣,是一本可以帮助读者快速入门并提高的实用性教材。全书分为8章。其中,第1章简单介绍单片机相关的几个基本概念以及MSP430系列单片机的基本资源; 第2章简介MSP430F149单片机,包括CPU的基本结构、存储器、时钟系统、工作模式及中断的基本概念; 第3章介绍IAR编译软件的基本应用; 第4章介绍MSP430单片机的I/O端口的应用,列举了LED、按键、数码管以及点阵的具体应用,通过不同的外围电路使读者逐步理解MSP430单片机I/O端口的应用; 第5章介绍MSP430单片机的定时器,包括看门狗定时器、定时器A的基本工作模式、定时器的捕获以及输出单元; 第6章介绍MSP430单片机的串行通信,主要包括USART、SPI总线和I2C总线的应用; 第7章主要介绍MSP430单片机ADC12的4种转换模式和DAC12的芯片TLC5615的基本应用; 第8章为具体实例应用,主要介绍液晶模块、时钟芯片DS1302、温度传感器DS18B20、HS0038红外接收、NRF24L01无线模块、步进电动机控制、超声模块的应用。本书可作为高等学校本专科相关专业教材或教师参考用书,也可作为单片机零基础并希望快速入门的初学者的自学参考书。
目录
目录
第1章MSP430系列单片机概述
1.1单片机的基本概念
1.2单片机的发展及应用领域
1.3常见单片机种类
1.4MSP430系列单片机简介
1.4.1MSP430系列单片机的特点
1.4.2MSP430的基本结构
1.4.3MSP430单片机系列介绍
第2章MSP430F149简介
2.1MSP430的总体架构
2.2CPU的结构和特点
2.2.1MSP430系列单片机芯片特征
2.2.2MSP430特殊寄存器介绍
2.3MSP430存储器
2.3.1程序存储器
2.3.2数据存储器
2.3.3Flash存储器
2.4MSP430的时钟系统
2.4.1案例介绍与分析
2.4.2MSP430的时钟源
2.4.3MSP430的时钟信号
2.4.4基本时钟寄存器
2.5MSP430的系统复位和低功耗工作模式
2.5.1系统复位和初始化
2.5.2低功耗工作模式
2.6中断系统
2.6.1中断的概念和类型
2.6.2中断响应及返回过程
2.6.3中断嵌套
2.6.4中断向量和中断相关寄存器
第3章IAR集成开发环境的使用
3.1IAR开发平台的安装与使用
3.1.1IAR的下载、安装
3.1.2IAR的初始化界面
3.1.3IAR菜单
3.1.4工具栏
3.1.5IAR的窗口
3.2IAR工程的建立与设置
3.2.1创建工作空间
3.2.2新建文件并添加到工程
3.2.3配置工程
3.3C?SPY硬件仿真调试
3.3.1仿真器的驱动及硬件连接
3.3.2仿真器的使用
第4章I/O端口应用
4.1任务1点亮*个LED小灯
4.1.1案例介绍与实现
4.1.2I/O端口的特点及结构
4.1.3相关寄存器
4.2任务21s流水灯
4.2.1案例介绍与实现
4.2.2本书常用的自定义头文件简介
4.3任务34种模式切换的流水灯
4.4任务4独立按键的应用
4.4.1案例介绍与实现
4.4.2独立按键原理
4.4.3独立按键消抖
4.5任务5I/O中断控制LED
4.5.1案例介绍与实现
4.5.2相关寄存器配置
4.5.3I/O端口操作的基本流程
4.6任务6矩阵按键的应用
4.6.1案例介绍与实现
4.6.2矩阵键盘的工作原理
4.6.3行列扫描法原理
4.7任务78位数码管全显0
4.8任务88位数码管统一从0到F循环显示
4.8.1案例介绍与实现
4.8.2数码管的编码原理
4.8.3静态显示原理
4.9任务9数码管的轮流显示及动态显示
4.9.1案例介绍与实现
4.9.2数码管的动态显示原理
4.9.3数码管动态显示的消影
4.10任务10数码管显示按键键值
4.11任务11点阵显示
4.11.1案例介绍与实现
4.11.2点阵的基础知识
4.11.3字符编码原理
第5章定时器
5.1任务1看门狗
5.1.1案例介绍与分析
5.1.2WDT的基本结构及工作原理
5.1.3WDT相关寄存器
5.1.4看门狗的定时模式
5.2任务2定时器A增计数应用
5.2.1案例介绍与分析
5.2.2定时器A的基本结构
5.2.3定时器A的工作模式——停止模式/增计数模式
5.2.4定时器A相关寄存器
5.3任务3定时器A的基本应用——连续计数模式
5.3.1案例介绍与分析
5.3.2连续工作模式的工作方式
5.3.3定时/计数器的中断
5.4任务4定时器A的基本应用——增减计数模式
5.4.1案例介绍与分析
5.4.2增/减计数模式的工作方式
5.5任务5捕获/比较部件
5.5.1案例介绍与分析
5.5.2相关寄存器
5.5.3比较单元
5.5.4捕获单元
5.6任务6单片机输出单元应用一
5.6.1案例介绍与分析
5.6.2输出单元的基本结构
5.6.3输出单元的工作方式
5.7任务7单片机输出单元应用二
5.8任务8单片机输出单元应用三
5.9任务9定时器B
5.9.1案例介绍与分析
5.9.2定时器B的基本结构和特点
5.9.3比较/捕获部件
第6章单片机的串行通信
6.1任务1通用串行异步通信UART的应用一
6.1.1案例介绍与实现
6.1.2串行通信的基本概念
6.1.3UART的工作原理
6.1.4USART相关的控制寄存器
6.1.5多机通信模式
6.2任务2通用串行异步通信UART的应用二
6.2.1案例介绍与实现
6.2.2USART接收部件的工作原理
6.2.3USART相关寄存器
6.3任务3通用串行通信同步模式——SPI
6.3.1案例介绍与实现
6.3.2SPI的工作原理
6.3.3同步模式寄存器
6.4任务4I2C总线
6.4.1案例介绍与实现
6.4.224C02的基本特性和引脚说明
6.4.3I2C总线协议简介
6.4.424C02的具体操作
第7章ADC12/DAC12转换模块
7.1任务1ADC单通道单次转换模式
7.1.1案例介绍与实现
7.1.2ADC12的基本结构与工作原理
7.1.3ADC12寄存器
7.2任务2ADC单通道多次转换模式
7.2.1案例介绍与分析
7.2.2ADC12的4种转换模式与使用
7.2.3ADC12的操作步骤
7.3任务3ADC序列通道单次转换模式
7.4任务4ADC序列通道多次转换模式
7.5任务5DAC12的芯片
7.5.1案例介绍与分析
7.5.2芯片TLC5615概述
7.5.3TLC5615的工作原理
第8章单片机应用实例
8.1任务1LCD1602
8.1.1案例介绍与实现
8.1.2LCD1602概述
8.1.3LCD1602的操作流程
8.2任务2LCD12864
8.2.1案例介绍与分析
8.2.2LCD12864概述
8.2.3LCD12864操作流程
8.3任务3时钟芯片DS1302
8.3.1案例介绍与分析
8.3.2DS1302概述
8.3.3DS1302的读写操作和寄存器配置
8.4任务4DS18B20
8.4.1案例分析与介绍
8.4.2DS18B20概述
8.4.3DS18B20寄存器配置
8.4.4DS18B20的初始化与数据读取
8.5任务5HS0038红外通信
8.5.1案例介绍与分析
8.5.2红外线接收器HS0038概述
8.5.3红外接收操作
8.6任务6NRF24L01无线模块
8.6.1案例介绍与分析
8.6.2NRF24L01概述
8.6.3NRF24L01的工作模式
8.6.4NRF24L01寄存器配置
8.6.5NRF24L01模块的操作与配置
8.7任务7PS2键盘
8.7.1案例介绍与分析
8.7.2PS2键盘概述
8.7.3PS2键盘的数据发送
8.8任务8步进电动机
8.8.1案例介绍与分析
8.8.228BYJ?48步进电动机概述
8.8.3芯片ULN2003简介
8.9任务9超声波模块应用——测距
8.9.1案例介绍与分析
8.9.2HC?SR04概述
8.9.3电气参数
8.9.4超声波工作时序图
附录MSP430F149引脚功能对照表
【免费在线读】
第5章定时器
5.1任务1看门狗
5.1.1案例介绍与分析看门狗定时器(WDT)是MSP430系列单片机中用于系统监测和内部定时使用的一种模块,当程序发生故障时能使受控系统重新启动,也可作为一般内部定时器使用。任务要求: 使用看门狗的定时功能定时产生一个方波,由P5.1输出。看门狗定时器结构图如图5?1所示。
图5?1看门狗定时器结构图
程序示例:
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDT_ADLY_250; //设置看门狗定时时间为250ms
IE1 |= WDTIE; //WDT 使能
P5DIR |= 0x02; //设置 P5.1 为输出
_EINT(); //中断允许
for (;;)
{
_BIS_SR(LPM3_bits); //进入 LPM3
_NOP(); //验证,可用C-SPY观察
}
}
//看门狗中断服务子程序
#pragma vector = WDT_VECTOR
interrupt void watchdog_timer(void)
{
P5OUT ^= 0x02; //P5.1 输出取反
}
问题及知识点引入
(1) 了解WDT的基本机构、特点、工作原理。(2) WDT有哪些工作模式?
5.1.2WDT的基本结构及工作原理看门狗定时器实质上是一个定时器,其主要功能是当程序发生故障时能使受控系统重新启动。如果WDT超过WDT所定时的时间,则发生系统复位。当系统不需要看门狗功能时,也可将它当普通的定时器使用,当到达WDT所定时的时间时能产生中断。此外,WDT还可以完全停止活动以支持超低功耗应用。在工业现场,由于供电电源、空间电磁干扰或其他原因往往会引起强烈的噪声干扰。这些干扰作用于数字器件,极易使其产生误动作,引起微控制器发生“程序跑飞”事故。若不进行有效处理,程序就不能回到正常工作状态,从而失去应有的控制功能。MSP430的看门狗定时器正是为了解决这类问题而设计的,尤其是在具有循环结构的程序任务中更为有效。当WDT超过WDT所定时的时间时,能发生复位操作。如果通过编制程序使WDT定时时间稍大于程序执行一遍所用的时间,并且程序执行过程中加入对看门狗定时器清零的指令,使计数器重新计数,则当程序正常运行时,就会在WDT定时时间到达之前执行WDT清零指令,不会产生WDT溢出。如果由于干扰使程序跑飞,则不会在WDT定时时间到达之前执行WDT清零指令,WDT就会溢出,从而产生系统复位,CPU需要重新运行用户程序,这样程序就可以又恢复正常运行状态。5.1.3WDT相关寄存器 WDT的寄存器是由控制寄存器WDTCTL和计数单元WDTCNT组成的,它的中断允许和中断标志位在SFR中。
1. 计数单元WDTCNTWDTCNT是一个16位增计数器,由MSP430所选定的时钟电路产生的固定周期脉冲信号对计数器进行加法计数。如果计数器事先被预置的初始状态不同,那么从开始计数到计数溢出为止所用的时间就不同。WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL(地址为0120H)进行访问。2. 控制寄存器WDTCTLWDTCTL由两部分组成,其中高8位被用作口令,低8位是对WDT操作的控制命令。要写入操作WDT的控制命令,必须先正确写入高字节看门狗口令,口令为5AH,如果口令写错将导致系统复位。在读WDTCTL时不需要口令,可直接读取地址120H中的内容,读出数据低字节为WDTCTL的值,高字节始终为69H。WDTCTL除了有看门狗定时器的控制位之外,还有两个位用于设置NMI引脚功能。下面是WDTCTL寄存器各位的定义。
15~876543210
WDTPWWDTHOLDWDTNMIESWDTNMIWDTTMSELWDTCNTCLWDTSSELWDTIS1WDTIS0
bit 15~8 WDTPW 看门狗密码,通常读到的是0x69H,写时必须为0x5AH,否则系统将复位。bit 7WDTHOLD看门狗定时/计数器使能位。当不使用看门狗定时/计数器时,该位置1,可以节约系统功耗。
0: 看门狗定时/计数器使能;
1: 看门狗/定时器停止。bit 6WDTNMIES中断的边沿触发方式选择位。
0: 上升沿触发NMI中断;
1: 下降沿触发NMI中断。bit 5WDTNMIRST/NMI引脚功能选择位,在PUC后被复位。
0: RST /NMI引脚为复位端;
1: RST/NMI引脚为边沿触发的非屏蔽中断输入。bit 4WDTTMSEL工作模式选择位。
0: 看门狗模式;
1: 定时器模式。bit 3WDTCNTCLWDTCNT清除位。当该位为1时,WDTCNT将从0开始计数。
0: 不清除WDTCNT;
1: 清除WDTCNT。bit 2WDTSSELWDTCNT的时钟源选择位。
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问