版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MSP430系列系列16位单片机位单片机原理与应用原理与应用许文建许文建华中科技大学光电国家实验室华中科技大学光电国家实验室Email:Page 2教学内容教学内容MSP430单片机结构单片机结构(1)内核结构、中断向量内核结构、中断向量(2)片面外围模块片面外围模块MSP430指令系统与程序设计指令系统与程序设计(1)指令集指令集(2)开发环境开发环境MSP430单片机应用单片机应用(1)MSP430F247最小系统板最小系统板(2)MSP430实验实验Page 3教学目的教学目的了解了解MSP430的基本资源的基本资源;学会使用学会使用IAR-EW430开发环境开发环境;学会使用学会使用M
2、SP430F247单片机片上外设单片机片上外设;能够使用能够使用MSP430进行应用开发进行应用开发;对对MSP430单片机深入学习的能力单片机深入学习的能力;Page 4学习方法学习方法=搞懂原理搞懂原理+多做实验多做实验学习使用单片机的学习使用单片机的8 8步步( (网上论坛总结网上论坛总结) ) 第一步:数字第一步:数字I/OI/O的使用的使用 第二步:定时器的使用第二步:定时器的使用 第三步:中断第三步:中断 第四步:与第四步:与PCPC机进行机进行RS232RS232通信通信 第五步:学会第五步:学会A/DA/D转换转换 第六步:学会第六步:学会SPISPI、I2CI2C接口和液晶显
3、示器接口接口和液晶显示器接口第七步:学会比较、捕捉、第七步:学会比较、捕捉、PWMPWM功能功能 第八步:学习第八步:学习USBUSB接口、接口、TCP/IPTCP/IP接口、各种工业总线的硬件与接口、各种工业总线的硬件与软件设计软件设计 Page 5C语言语言微机原理微机原理单片机原理与应用单片机原理与应用先修课程先修课程电子书电子书数据手册数据手册用户手册用户手册 http:/ http:/ http:/ 6MSP430系列单片机概述系列单片机概述TI公司公司 MSP430 系列是一个系列是一个 16 位的功能强大的超低位的功能强大的超低功耗类型微控制器,功耗类型微控制器, 特别适合于电池
4、应用的场合;特别适合于电池应用的场合;而且该系列将大量的外围模块整合到片内,也特别适而且该系列将大量的外围模块整合到片内,也特别适合于设计单片系统;合于设计单片系统;同时同时MSP430 有丰富的不同类型器件可供选择,给有丰富的不同类型器件可供选择,给设计者带来很大的灵活性设计者带来很大的灵活性Page 7MSP430产品系列产品系列(250)x1xx 8MHz 系列系列 (36) x2xx 16MHz 系列系列 (39) G2xx 值系列值系列 (9) 3xx 传统传统 8MHz 系列系列 (16) x4xx 8/16MHz LCD 系列系列 (89) x5xx 25MHz 系列系列 (53
5、) CC430 RF SoC系列系列 (8) Page 8MSP430产品系列产品系列Page 9主要特征主要特征超低功耗超低功耗架构和灵活的时钟系统可延长电池的使用寿命,且功耗低至: 0.1A RAM 保持模式 0.7A RTC 模式 165A/MIPS 集成智能外设集成智能外设(包括各种高性能模拟和数字外设)可转移 CPU 上的负载 16 位位 RISC CPU 架构架构 借助业界领先的代码密度实现全新应用 简单易用:简单易用:全套开发工具起始价仅为 20 美元 Page 10集成外设集成外设 10/12 位 SAR ADC 16 位 - ADC 12 位 DAC 比较器 LCD 驱动器
6、电源电压监控器 (SVS) 运算放大器 16 位和 8 位定时器 LDO/PMM RF 看门狗定时器 UART/LIN I2C SPI IrDA USB 硬件乘法器 DMA 控制器 温度传感器 实时时钟 Page 11MSP430F247特征特征 工作电压工作电压:1.8-3.6V(3.3V) Frequency:16MHz Flash:32KB RAM:4KB GPIO:48 封装封装:LQPF-64 ADC:12bit(8-ch) 接口接口:2-USCI_A(UART/LIN/IrDA/SPI )2-USCI_B(I2C/SPI ) 定时器定时器:16-Bit Timer_A(3-Capt
7、ure/CompareRegisters );16-Bit Timer_B(7-Capture/Compare) 看门狗看门狗:1个个 JTAG:1个个Page 12MSP430F247结构结构Page 13MSP430F247结构结构基本架构:冯-诺依曼CPU:16位;硬件乘法器储存器时钟系统JTAG调试端口片上外设(1)数字外设(2)模拟外设Page 14MSP430F247结构结构-CPU中央处理单元采用了精简的、高透明的、高效率的中央处理单元采用了精简的、高透明的、高效率的正交设计正交设计它包括一个它包括一个16位位的的ALU(算术逻辑运算单元);(算术逻辑运算单元); 16个寄存器;
8、个寄存器;一个指令控制单元;一个指令控制单元;Page 15 16个16位寄存器(R0,R1,R4至R15)用于存放数据和地址; 16个寄存器中有4个为特殊用途,扮演重要角色,分别是: 程序计数器(R0)、堆栈指针(R1)、状态寄存器(R2)、常数发生器(R3)MSP430F247结构结构-CPU-寄存器寄存器Page 16MSP430F247结构结构-硬件乘法器硬件乘法器可采用的乘法操作有: 16位x 16位 16位x 8位 8位x 16位 8位x 8位硬件乘法器模块支持3种乘法 无符号数相乘(MPY); 有符号数相乘 (MPYS); 无符号乘加 (MAC)。 硬件乘法器有2个存放操作数的1
9、6位的寄存器和3个存放相乘结果的寄存器。 只有当用户将第一操作数在第二操作数之前存入操作数寄存器中,乘法操作才会被正确执行。 当第一操作数写入相应的寄存器时,乘法的种类即被确定。当用户写入第二个操作数时,乘法操作便开始执行并在用户用变址寻址模式读结果寄存器之前结束。Page 17MSP430F247结构结构-存储器存储器MSP430存储器空间采用“冯-诺依曼结构” 。代码存储器( FLASH 、 ROM、EPROM、RAM)和数据存储器(RAM、EEPROM、ROM)由同一组地址及数据总线安排在一个地址空间中。总寻址空间在小存储模式时为64KB,大存储模式时为1MB。小存储模式采用线性寻址空间
10、。大存储模式时,代码访问的地址空间为16个64KB段,数据访问的地址空间为16个64KB页。存储器构成为64KB或更少时采用小存储模式,安排在最低的64KB,这时不必考虑寻址时的代码段和数据页。Page 18MSP430F247结构结构-存储器存储器Page 19MSP430F247结构结构-存储器存储器Page 20MSP430F247结构结构-存储器存储器 字节数据可以定位在偶地址或奇地址。 字数据定位在偶地址:低字节在偶地址,高字节在下一个奇地址。Page 21MSP430F247结构结构-clock-时钟源时钟源LFXT1CLK:由低频时钟晶体或外接 32768Hz 时钟源产生的低频/
11、高频振荡器或由标准晶体、振荡器,或外部400KHz16MHz的外部时钟源提供。 XT2CLK:可供选择的高频振荡器,由标准晶体、振荡器,或外部 400KHz16MHz 的外部时钟源提供。 DCOCLK:片内可数字控制的振荡器。 VLOCLK:片内超低功耗、12KHz的低频振荡器Page 22MSP430F247结构结构-clock-时钟信号时钟信号ACLK:辅助时钟。ACLK由软件选择来自LFXT1CLK和 VLOCLK 之一的时钟信号。ACLK经 1,2,4,8分频后得到。ACLK 可由软件选作各个外围模块。 MCLK:主时钟。MCLK由软件选择来自LFXT1CLK,VLOCLK,XT2CL
12、K(如果片内提供) ,DCOCLK 之一的时钟信号。MCLK 由 1,2,4,8分频得到。MCLK 用于 CPU和系统。 SMCLK:子系统时钟。SMCLK 由软件选择来自 LFXT1CLK,VLOCLK,XT2CLK(片内提供) ,DCOCLK 之一的时钟信号。SMCLK 由 1,2,4,8 分频得到。SMCLK 可由软件选作各个外围模块。Page 23Page 24MSP430F247-复位复位Page 25MSP430F247-复位复位POR信号是一个设备的复位信号,而且这个复位信号只能被以下的三种信号所产生: 1. 器件上电。 2. 复位模式配置的时候RST/NMI引脚上出现低电平 3
13、. 当PORON =1 时,一个SVS 低状态。一个POR的信号产生将有一个PUC信号同时产生,但是POR信号不是由PUC信号所产生的。以下事件将触发一个PUC信号: 1. 一个POR信号的产生。 2. 在WDT模式下,WDT定时器时间到。 3. WDT定时器写入错误的安全键值。 4. FLASH存储器写入错误的安全键值。 Page 26MSP430F247-复位复位系统复位之后设备的初始化条件系统复位之后设备的初始化条件 在复位模式时,RST/NMI引脚被配置 I/O引脚被设置为输出,在数字I/O的章节有详细的叙述 外围设备模块将被初始化,参照数据手册相关的章节 状态寄存器被复位 WDT定时
14、器将会在WDT的模式下被激活 程序指针将被载入到复位向量的区域(0FFFEh)。如果复位指针的向量指向0FFFFh时,设备将进入最低功耗模式。Page 27MSP430F247-复位复位-软件初始化软件初始化 系统复位之后,用户必需使用软件初始化设备以满足自己的使用需求。以下列举出了初始化必要的步骤:初始化SP,RAM的最顶部 根据应用要求初始化WDT 根据应用的要求初始化外围设备模块Page 28MSP430F247-复位复位-软件初始化软件初始化-实例实例 void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗关闭看门狗 P1DIR |= 0 x
15、01; / 设置设置P1.1口为输出口为输出 for (;) volatile unsigned int i; P1OUT = 0 x01; / 反转反转P1.0 使用异或使用异或 i = 50000; / 延时延时 do (i-); while (i != 0); Page 29MSP430F247-中断中断 中断的优先级是固定的。中断优先级的是以各个模块的连接关系来定义的,如图所示。最靠近CPU的模块是CPU/NMIRS模块,具有最高的优先级别。当系统同时有多个中断时,将依据中断优先级别去决定执行哪一个中断。1.系统中断 2.不可屏蔽中断3.可屏蔽中断 Page 30MSP430F247-
16、中断中断-中断向量中断向量结合用户手册Page 31MSP430F247-中断中断-中断处理过程中断处理过程中断请求与响应;中断请求与响应;1). 当前正在执行的指令被执行完成;2). PC(目前正指向的下一条指令)被压入到堆栈中 3). SR被压入到堆栈中 4). 如果有多个中断请求等待处理,最高的优先级的中断被响应 5). 如果只有一个中断请求,其中断标志位将会被自动复位。而其余的n个 中断标志位仍保持着置位,等待软件来处理 6). 状态寄存器SR被清除。这将终止任何低功耗模式。因为GIE位被清除,所以任何的中断都不能发生 7).中断向量中的地址将会被压入到PC中,程序将从中断处理函数开始
17、的地址处继续执行。Page 32MSP430F247-中断中断-中断处理过程中断处理过程执行中断服务程序;执行中断服务程序;中断返回中断返回 指令RETI (return from an interrupt service routine)将终止中断处理子程序。中断返回将占用5个周期去执行以下步骤: 1).压入到堆栈中的SR的数据出栈,所有先前(中断发生之前)的设置将有效,无论在中断服务子程序中是如何设置的 2).PC出栈,从断点处执行程序。 Page 33Page 34MSP430F247-中断中断-中断嵌套中断嵌套 430默认的是关闭中断嵌套的,除非在一个中断程序中再次开总中断EINT;
18、当进入中断程序时,只要不在中断中再次开中断,则总中断是关闭的,此时来中断不管是比当前中断的优先级高还是低都不执行; 若在中断A中开了总中断,则可以响应后来的中断B(不管(不管B的优先级比的优先级比A高还高还是低)是低),B执行完再继续执行A。注意:进入中断B后总中断同样也会关闭,如果B中断程序执行时需响应中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后跳出中断程序进入A程序时,总中断会自动打开; 若在中断中开了总中断,后来的中断同时同时有多个,则会按优先级来执行,即中断优先级只有在多个中断同时到来时才起做用!中断服务不执行抢先原则。 对于单源中断,只要响应中断,系统硬件自动
19、清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位倍被自动清除; 对于多源中断要手动清标志位,比如P1/P2口中断,要手工清除相应的标志,如果在这种中断用EINT();开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以在这类中断中必须先清标志再打开中断开关. Page 35MSP430F247-中断中断-应用应用初始化产生中断的外设初始化产生中断的外设打开外设级中断;(系主任)打开外设级中断;(系主任)打开部中断;(校长)打开部中断;(校长)系统运行,直至中断产生系统运行,直至中断产生中断处理函数中断处理函数;Page
20、36MSP430F247-中断中断-实例实例 void main (void) WDTCTL = WDTPW + WDTHOLD; / 关中断关中断 WDT P1DIR |= 0 x01; / P1.0 output CCTL0 = CCIE; / 使能使能CCR0 CCR0 = 20000; TACTL = TASSEL_2 + MC_1; / SMCLK, up mode _BIS_SR(LPM0_bits + GIE); / 进入进入 LPM0 使能总中断使能总中断 interrupt / Timer A0 服务程序服务程序/#pragma vector=TIMERA0_VECTOR _
21、interrupt void Timer_A (void); TIMERA0_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 Page 37MSP430F247-运行模式运行模式 MSP430系列单片机被设计用于超低功耗的应用,有多种运行模式可被使用SCG1SCG0OSCOFFCPUOFFModeCPU和时钟状态0000活动活动CPU是活动的, 所有时钟是允许活动的 0001LPM0 CPU, MCLK 被禁止。SMCLK , ACLK 是活动的。0101LPM1CPU, MCLK, DCO os
22、c被禁止。如果DCO不使MCLK 或SMCLK 在活动模式,DC产生器是被禁止。 SMCLK , ACLK活动1001LPM2CPU, MCLK, SMCLK, DCO osc 被禁止。 DC产生器保护允许ACLK活动。1101LPM3 CPU, MCLK, SMCLK, DCO osc被禁止。 DC 产生器 被禁止。ACLK活动。1111LPM4CPU和所有时钟是被禁止。Page 38MSP430F247-运行模式运行模式Page 39MSP430F247片上外设片上外设Page 40MSP430F247片上外设片上外设GPIO:P1-P6定时器定时器:16-Bit Timer_A(3-Ca
23、pture/Compare )16-Bit Timer_B(7-Capture/Compare )接口接口:2-USCI_A(UART/LIN/IrDA/SPI )2-USCI_B(I2C/SPI )ADC:12bit(8-ch)看门狗看门狗:1个个Page 41MSP430F247片上外设片上外设-学习内容学习内容外设的基本特性及功能外设的基本特性及功能外设的应用外设的应用(1)外设的控制寄存器外设的控制寄存器;(2)外设的工作过程外设的工作过程;(3)使用实例使用实例-实验。实验。Page 42MSP430F247片上外设片上外设-使用过程使用过程1.1.对外设进行初始化对外设进行初始化
24、( (通过配置外设的控制寄存器实现通过配置外设的控制寄存器实现) )2.2.打开外设的开关打开外设的开关, ,让外设工作起来让外设工作起来; ;3.3.在系统中进行外设应用操作在系统中进行外设应用操作 ( (如处理数据如处理数据, ,中断响应中断响应););Page 43MSP430F247片上外设片上外设-GPIOMSP430 器件拥有多达6组的数字输入/输出端口,P1P6。每一个端口有8个输入/输出引脚。每一个输入/输出引脚可以分别设置为输入或者输出方向,也就是说每一个输入/输出端口线可以分别设置为读取或者写入。端口 P1和P2有中断功能。P1和 P2输入/输出端口线的中断可以分别使能,并
25、且可以设置在输入信号的上升沿或下降沿产生中断。所有的 P1 输入/输出端口共用一个中断向量,所有的P2输入/输出端口共用另一个不同的中断向量。Page 44MSP430F247片上外设片上外设-GPIO-特性特性每个输入每个输入/输出位都可以独立编程。输出位都可以独立编程。 允许任意组合输入、输出。允许任意组合输入、输出。 P1和和 P2所有所有 8个位都可以分别设置为中断。个位都可以分别设置为中断。 可以独立操作输入和输出数据寄存器。可以独立操作输入和输出数据寄存器。 可以分别设置上拉或下拉电阻。可以分别设置上拉或下拉电阻。Page 45MSP430F247片上外设片上外设-GPIO-操作操
26、作I/O控制寄存器控制寄存器输入寄存器输入寄存器 PxIN 输出寄存器输出寄存器PxOUT方向寄存器方向寄存器PxDIR 上拉上拉/下拉电阻使能寄存器下拉电阻使能寄存器PxREN功能选择寄存器功能选择寄存器PxSELP1和和P2中断控制寄存器中断控制寄存器Page 46MSP430F247片上外设片上外设-GPIO-PxIN当某个输入/输出引脚被设置为输入/输出功能时,这个输入/输出端口的 PxIN 寄存器的相应位反映了这个引脚的输入信号的电平值。Bit = 0 : 输入为低电平 Bit = 1 : 输入为高电平!注意:!注意: 对这种只读寄存器写入,会在操作有效期间增加电流对这种只读寄存器写
27、入,会在操作有效期间增加电流损耗损耗Page 47MSP430F247片上外设片上外设-GPIO-PxOUT 当某个输入/输出引脚被设置为输入/输出功能、输出方向和禁用上(下)拉电阻时,这个输入/输出端口的PxOUT 寄存器的相应位反映了这个引脚的输出信号的电平值。 Bit = 0 : 输出为低电平 Bit = 1 : 输出为高电平 如果引脚的上拉(下拉)电阻使能,PxOUT 寄存器的相应位则表示是选择上拉电阻还是选择下拉电阻。 Bit = 0 : 引脚是下拉 Bit = 1 : 引脚是上拉Page 48MSP430F247片上外设片上外设-GPIO-PxDIR 无论引脚选择什么功能,每个 P
28、xDIR寄存器的每一位都要选择相应输入/输出引脚的方向。 被选择为其他功能(非输入/输出功能)的输入/输出引脚的 PxDIR 寄存器每个位的设置必须符合相应的功能要求。Bit = 0 : 端口引脚被选择为输入方向 Bit = 1 : 端口引脚被选择为输出方向Page 49MSP430F247片上外设片上外设-GPIO-PxREN PxREN寄存器的每一位都可以使能或禁止相应输入/输出引脚的上拉(下拉)电阻。 当引脚被设置为上拉(下拉)电阻使能时,由 PxOUT 寄存器的相应位选择该引脚是上拉电阻还是下拉电阻。 Bit = 0 : 上拉(下拉)电阻禁止 Bit = 1 : 上拉(下拉)电阻使能
29、Page 50MSP430F247片上外设片上外设-GPIO-PxSEL 端口引脚通常与其他外围模块功能形成多功能复用引脚。参照详细设计数据资料对引脚的功能进行选择。PxSEL 寄存器的每一位都可以用来选择引脚的功能是普通输入/输出端口还是外围模块功能。 Bit = 0 : 引脚选择为输入/输出功能 Bit = 1 : 引脚选择为外围模块功能Page 51MSP430F247片上外设片上外设-P1/P2中断中断P1和和 P2端口的每一个引脚都有中断功能,由相关寄存器端口的每一个引脚都有中断功能,由相关寄存器 PxIFG、PxIE和和PxIES 进行设置。进行设置。所有的所有的 P1 引脚引脚共
30、用一个中断向量共用一个中断向量,所有的,所有的 P2 引脚共用另一引脚共用另一个中断向量。个中断向量。PxIFG 寄存器可以用来测试发生的中断是来自寄存器可以用来测试发生的中断是来自P1 还是还是 P2。Page 52MSP430F247片上外设片上外设-P1/P2-PxIFG每一个每一个PxIFG寄存器的位是相应输入寄存器的位是相应输入/输出引脚的中断标志,输出引脚的中断标志, 当相应的引脚有输入信号发生时,中断标志位置当相应的引脚有输入信号发生时,中断标志位置 1。当相应的。当相应的 PxIE 位和位和 GIE 位置位,位置位, PxIFGX 中断标志才能够请求中断。中断标志才能够请求中断
31、。每一个每一个 PxIFG 标志必须由标志必须由软件进行复位软件进行复位。如果产生一个软件。如果产生一个软件初始化中断,软件也可以使初始化中断,软件也可以使 PxIFG 标志置位。标志置位。Bit = 0 : 没有中断产生没有中断产生 Bit = 1 : 有中断产生有中断产生 注意:注意: 只有跳变电平才能引起中断。只有跳变电平才能引起中断。Page 53MSP430F247片上外设片上外设-P1/P2-PxIES每一个每一个PxIES位选择相应的输入位选择相应的输入/输出引脚中断沿。输出引脚中断沿。 Bit = 0 : 电平由低到高跳变时电平由低到高跳变时PxIFGx标志置位标志置位 Bit
32、 = 1 : 电平由高到底跳变时电平由高到底跳变时PxIFGx标志置位标志置位 注意:注意:写写P1IES或或 P2IES 寄存器都会使相应的中断标志置位。寄存器都会使相应的中断标志置位。 PxIES PxINx PxIFGx 0 1 0 可以置位 0 1 1 不能改变 1 0 0 不能改变 1 0 1 可以置位 Page 54MSP430F247片上外设片上外设-P1/P2-PxIE 每一个 PxIE 位使能相关的PxIFG中断标志置位。 Bit = 0 : 中断禁止 Bit = 1 : 中断使能 注意:未使用引脚配置注意:未使用引脚配置 未使用的输入/输出引脚应当设置为输入/输出功能,输出
33、方向,并且不能连接到PC板上,以防止产生变化的输入信号,同时还可以降低功率损耗。既然引脚没有连接, 我们就不必关心PxOUT位的值。同样的,我们还可以置位未用引脚的PxREN位,使能完整的上拉/下拉电阻来防止可变输入信号的产生。Page 55MSP430F247片上外设片上外设-GPIO-应用实例应用实例 void main(void) WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗关闭看门狗 P1DIR |= 0 x01; / 设置设置P1.1口为输出口为输出 for (;) volatile unsigned int i; P1OUT = 0 x01; / 反转反转P1
34、.0 使用异或使用异或 i = 50000; / 延时延时 do (i-); while (i != 0); Page 56MSP430F247片上外设片上外设-TimerA-介绍介绍TimerA是一个16位的定时/计数器,最多拥有3 个捕获/比较寄存器。TimerA可以支持捕获/比较功能、PWM输出和定时器功能。TimerA还有扩展中断的功能,中断可以由定时器溢出产生或捕获比较寄存器产生。 4种操作模式的异步16位定时/计数器 可选择配置的时钟源 2个或3个可配置的捕获/比较器 可配置的 PWM输出 异步输入和输出锁存 对所有 TimerA中断快速响应的中断向量寄存器Page 57MSP43
35、0F247片上外设片上外设-TimerA-时钟时钟 时钟源时钟源定时器的时钟源可以是定时器的时钟源可以是内部时钟源内部时钟源ACLK, SMCLK,外部源外部源TACLK , INCLK。时钟源由时钟源由 TASSEL位来选择,位来选择, 分频分频所选择的时钟可以所选择的时钟可以通过通过IDx位进行位进行 2、4 或或8分频,分频,当当TACLR 置位时,分频器复位。置位时,分频器复位。Page 58MSP430F247片上外设片上外设-TimerA-启动启动定时器可以通过以下定时器可以通过以下2种方式启动或重新启动种方式启动或重新启动:当定时器计数到 MCX0并且时钟源处于活动状态时 当定时
36、器模式为 up或 up/down模式时(即单调增和增减模式) ,定时器可以通过写 0到 TACCR0来停止计数。定时器可以通过写一个非0 的数值来重新开始计数。在这种情况下,定时器从0开始增计数。Page 59MSP430F247片上外设片上外设-TimerA-模式模式 定时器有4种操作模式,他们分别是停止、单调增、连续和增减模式。 操作模式由 MCx 位来选择。 MCx 模式模式说明说明00停止模式定时器暂停01单调增模式 定时器循环地从 0增到TACCR0的值11连续模式定时器循环地从 0连续增加到 0FFFFH10增减模式定时器循环地从 0增到TACCR0的值再连续减至0Page 60T
37、imerA-单调增模式单调增模式 单调增模式用于计数周期不是0FFFFH的情况。 定时器重复增计数值寄存器TACCR0的值,而 TACCR0的值取决于定时周期,如图 ,定时器计数周期为 TACCR0+1。当定时器的值等于 TACCR0时,定时器就回到0重新计数。如果当定时器的值大于TACCR0,而此时选择单调增模式,定时器立即从0重新开始计数当定时器计数到TACCR0的值时,中断标志CCIFG 位置位。当定时器由TACCR0返回0时,TAIFG中断标志置位。Page 61TimerA-连续模式连续模式 在连续模式中,定时器重复计数到0FFFFH,然后重新从 0开始增计数,如图 。捕获比较寄存器
38、TACCR0以及其他捕获比较器工作方式一样。当定时器从 0FFFFH到 0时,TAIFG 中断标志置位Page 62TimerA-增减模式增减模式 增减模式在定时器周期不是 0FFFFH 且需要产生对称的脉冲时使用。定时器增计数到 TACCR0再从TACCR0减计数到 0,如图,周期是TACCR0值的2倍 该模式下,计数方向是固定的,即让定时器停止后再重新启动定时器,它就会沿着停止时的计数方向和数值开始计数。如果要从0开始, 就需要将 TACLR 置位来清除方向。TACLR 位也会清除TAR的值和定时器的时钟分频当定时器计数到由TACCR01 变到TACCR0时,CCIFG 置位;而定时器完成
39、减计数从 0001h到 0000h时,TAIFG 置位。Page 63TimerA-寄存器寄存器Page 64TimerA-应用实例应用实例 void main (void) WDTCTL = WDTPW + WDTHOLD; / 关中断 WDT P1DIR |= 0 x01; / P1.0 output CCTL0 = CCIE; / 使能CCR0 CCR0 = 20000; TACTL = TASSEL_2 + MC_1; /选择时钟源SMCLK, 向上计数模式 _BIS_SR(LPM0_bits + GIE); / 进入 LPM0 使能总中断 interrupt / Timer A0 服
40、务程序/#pragma vector=TIMERA0_VECTOR _interrupt void Timer_A (void); TIMERA0_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 Page 65MSP430F247片上外设片上外设-USCI-概要概要 通用串行通信接口(通用串行通信接口(USCI) 模块支持多种异步通信模式。不同的模块支持多种异步通信模式。不同的USCI模块支持不同的模式。模块支持不同的模式。 每一个USCI 模块以不同的字母命名。例如,USCI_A不同于 USCI
41、_B等等。USCI_Ax 模块支持: UART模式 脉冲调整的 IRDA 通信 自动波特率检测的 LIN通信 SPI 模式 USCI_Bx 模块支持: I2C 模式 SPI 模式 Page 66MSP430F247片上外设片上外设-USCI-特性特性 在异步模式中, USCI_Ax 模块是通过两个外部引脚连接 MSP430到外部系统,分别是UCAXRXD和UCAXTXD。 当UCSYNC位被清零时UART模式被选择。 7 位或8 位的奇,偶,或无校验。 独立的发送和接收寄存器 单独的发送和接收缓存寄存器 LSB-first 或 MSB-first数据发送或接收 多机系统中内置空闲线和地址位通信
42、 接收机开始边沿检测并从LMPX模式中自动唤醒 可编程对模块设置波特率并支持小数位的波特率 状态标志的错误检测和消除 状态标志的地址监测 l独立的接收中断和发送中断Page 67MSP430F247片上外设片上外设-UART在 UART 模式下,USCI 的发送和接收字符每次一位的异步速率到另一个设备。字符传输的时间取决于USCI 的波特率选择。传输和接收功能使用相同的波特率。USCI在 PUC 后或者通过设置 UCSWRST位。在PUC后,UCSWRST 位自动置位,保持 USCI 在复位状态。当置位时,UCSWRST位复位UCAXRXIE,UCAXTXIE,UCAXRXIFG,UCRXER
43、R,UCBRK,UCPEUCOE,UCFE,UCSTOE 和 UCBTOE位并置UCAXTXIFG位。清除 UCSWRST 位释放UCSI的操作Page 68MSP430F247片上外设片上外设-UART-配置过程配置过程相应的相应的 USCI 初始化初始化/重配置的过程如下重配置的过程如下1.设置 UCSWRST 2.UCSWRST=1 时初始化所有的UCSI 寄存器(包括 UCAXCTL1) 3.配置端口 4.软件清除 UCSWRST 5.通过 UCAXRXIE和/或 UCAXTXIE允许中断(可选)Page 69MSP430F247片上外设片上外设-UART-字符格式字符格式 UART的
44、字符格式展示在表中,包括一 个开始位, 7或8 个数据位, 一个奇/偶/无校验位, 一个地址位(地址位模式) , 一个或两个停止位。 UCMSB 位控制传输的方向以及选择 LSB或MSB的优先。必须满足UART通信才能 LSB-FIRST。Page 70MSP430F247片上外设片上外设-UART-波特率波特率Page 71MSP430F247片上外设片上外设-UART-波特率波特率USCI 波特率发生器能从非标准源频率中产生一个标准的波特率发生器能从非标准源频率中产生一个标准的波特率。通过波特率。通过 UCOS16 位提供两种操作选择位提供两种操作选择 。对于给定的对于给定的BRCLK,波
45、特率有除数因子,波特率有除数因子 N决定决定BaudratefNBRCLK除数因子除数因子 N通常不是一个整数值因此至少需要一个除法通常不是一个整数值因此至少需要一个除法器和一个调制器去调整波特率。器和一个调制器去调整波特率。 波特率误差波特率误差 Page 72MSP430F247片上外设片上外设-UART-模式模式UCSYNC BIT0 同步模式使能 0 异步模式 1 同步模式 UCMODEX BIT2-1 USCI模式。当 UCSYNC=0时 UCMODEX可选择的异步模式 00 USART模式 01 空闲线多机模式 02 地址位多机模式 03 UART自动波特率探测模式 当三个或更多的
46、设备通信时,USCI支持空闲线和地址位多机的通信格式。Page 73MSP430F247片上外设片上外设-UART-模式模式线路空闲多机模式线路空闲多机模式 Page 74MSP430F247片上外设片上外设-UART-模式模式地址位多机模式地址位多机模式 Page 75MSP430F247片上外设片上外设-UART-中断中断USCI有一个发送中断向量和接收中断向量。 USCI发送中断操作 UCAXTXIFG 中断标志被发送器置位表示UCAXTXBUF准备存放下一个字符。如果 UCAXTXIE 和GIE也置位将产生一个中断请求。如果字符被写到 UCAXTXBUF 中 UCAXTXIFG将自动复
47、位。USC接收中断操作 一个字符被接受并装载到UCAXRXBUF中时 UCAXRXIFG中断标志置位一次。如果 UCAXRXIE和GIE置位将产生一个中断请求。 复位 PUC信号或者UCSWRST=1时UCAXRXIFG和 UCAXRXIE 将被系统复位。当 UCAXRXBUF被读时 UCAXRXIFG 将自动复位。 Page 76MSP430F247片上外设片上外设-UART-中断中断 其他的中断控制特性包括: 在 UCAXRXEIE=0时错误字符不会置位UCAXRXIFG。 在 UCDORM=1 时,在多处理机模式下非地址字符不会置位 UCAXRXIFG。 当 UCBRKIE=1 时一个中
48、断条件将置位UCBRK 位和 UCAXRXIFG标志。 USCI 中断用法 USCI_AX 和 USCI_BX 使用同一个中断向量。 接收中断标志 UCAxRXIFG 和 UCBxRXIFG 和同一个中断向量连接, 发送中断标志 UCAxTXIFG 和UCBxTXIFG 分享另一个中断向量。Page 77MSP430F247片上外设片上外设-UART-寄存器寄存器结合用户手册学习Page 78MSP430F247片上外设片上外设-SPI 在同步方式中,通用串行通信接口通过三或四脚连接MSP430与外部系统: UCxSIMO、 UCxSOMI、UCxCLK和UCxSTE。当UCSYNC被置位时,
49、选择SPI 方式。用UCMODEx位选择SPI方式(3脚或4脚)。 UCSYNC BIT0 同步模式使能 0 异步模式 1 同步模式 Page 79MSP430F247片上外设片上外设-SPI-特点特点 SPI模式的特点包括: 字符长度为7或8位 最低位或最高位最先传送和接收 3线或 4线 SPI 操作 选择主模式或从模式 独立的发送和接收移位寄存器 独立的发送和接收缓存寄存器 连续发送和接收操作 可选的时钟极性和时钟相位控制 主模式的时钟频率可控 独立的接收和发送的中断功能 LPM4模式下可进行从模式操作 Page 80MSP430F247片上外设片上外设-SPI-结构结构Page 81MS
50、P430F247片上外设片上外设-SPI-模式模式USART为主机模式为主机模式USART为从机模为从机模式式Page 82MSP430F247片上外设片上外设-SPI-引脚引脚 UCxSIMO 从进,主出 主模式:UCxSIMO为数据的输出线 从模式:UCxSIMO为数据的输入线 UCxSOMI 从出,主进 主模式:UCxSOMI为数据的输入线 从模式:UCxSOMI为数据的输出线 UCxCLK 通用串行通信接口SPI时钟 主模式:UCxCLK为数据的输出线 从模式:UCxCLK为数据的输入线 UCxSTE 从机发送允许,用于4线模式中允许单总线上的多个主机,3线模式中不用。Page 83M
51、SP430F247片上外设片上外设-SPI- 配置配置议通用串行通信接口初始化议通用串行通信接口初始化/从新配置的过程从新配置的过程1)设置UCSWRST (BIS.B #UCSWRST,&UCxCTL1) 2)UCSWRST=1,初始化所有的通用串行通信接口的寄存器(包括UCxCTL1) 3)设置端口 4)通过软件清除UCSWRST位 (BIC.B #UCSWRST,&UCxCTL1) 5)通过 UCxRXIE 和/或 UCxTXIE 使能中断(可选)Page 84MSP430F247片上外设片上外设-SPI-字符格式字符格式SPI模式下的 USCI模块支持 7和 8位字符长
52、度, UCMSB 位控制传输方向和选定最低位或最高位先发送或接收。 默认的 SPI字符传输是最低有效位先传输,在其它 SPI接口中,也可能起始位是最高位。Page 85MSP430F247片上外设片上外设-SPI-时序时序Page 86MSP430F247片上外设片上外设-SPI-时钟时钟 UCxCLK是主机通过SPI总线提供的。 当UCMST = 1时,比特率由USCI的时钟频率发生器经UCxCLK引脚提供。用于产生比特率的时钟由UCSSELx位选择。 当UCMST = 0时,USCI时钟是主机通过UCxCLK引脚提供的,比特率发生器不起作用,无需关注UCSSELx位。 在比特率控制寄存器U
53、CxxBR1中的UCBRx16位值和UCxxBR0是USCI时钟源BRCLK的分频系数。 主机模式下,能产生最大时钟频率是BRCLK。 当USCI_A应用SPI模式时,SPI模式中没有使用调制并且 UCAxMCTL应该被清除。UCBRxffBRCLKBitClockPage 87MSP430F247片上外设片上外设-SPI-时钟时钟 UCxCLK的极性和相位是通过USCI的控制位UCCKPL与UCCKPH独立设定的Page 88MSP430F247片上外设片上外设-SPI-中断中断 USCI有一个用于发送操作的中断向量和一个用于接收操作的中断向量 SPI 发送中断操作 UCxTXIFG标志位被
54、发送端置位时,表示UCxTXBUF开始准备接收其它的字符。如果 UCxTXIE和GIE也被置位,将产生一个中断请求。如果一个字符写入到UCxTXBUF,UCxTXIFG自动复位。经过一个PUC后或当UCSWRST = 1时UCxTXIFG置位。经过一个PUC后或当UCSWRST = 1时UCxTXIE复位。 注意: 在SPI模式下写入UCxTXBUF; 当UCxTXIFG = 0时,写入数据到UCxTXBUF,可能导致数据传输错误。Page 89MSP430F247片上外设片上外设-SPI-中断中断 SPI 接收中断操作 每次接收一个字符且载入UCxRXBUF后,UCxRXIFG中断标志位置位
55、。如果UCxRXIE和GIE也置位,将产生一个中断请求。系统复位PUC信号或当UCSWRST = 1时,UCxRXIFG和UCxRXIE复位。当UCxRXBUF被读取时UCxRXIFG自动复位。 SCI 中断用法 USCI_Ax和USCI_Bx共用一个中断向量。 接收中断标志UCAxRXIFG和UCBxRXIFG路由到一个中断向量,发送中断标志UCAxTXIFG和UCBxTXIFG共用其它的中断向量。 Page 90MSP430F247片上外设片上外设-SPI-寄存器寄存器结合用户手册学习Page 91MSP430F247片上外设片上外设-IICInter-IC(IIC)总线是一种用于内部IC
56、控制的具有多端控制能力的双线双向串行数据总线系统。能够用于替代标准的并行总线,连接各种集成电路和功能模块。I2C器件的应用能够减少电路间连线,减小电路板尺寸,降低硬件成本,并提高了系统可靠性在 IIC 模式中,USCI 模块提供一个能为 MSP430 和 IIC 兼容设备的互连接口。挂接在 IIC总线上面的扩展器件通过两线的 IIC 接口实现与USCI模块的串行数据接收与发送。 Page 92MSP430F247片上外设片上外设-IIC IIC模式支持所有的主方式或从方式的 IIC兼容设备。上图描述了一个 IIC总线的例子。每一个 IIC设备都有唯一的地址可被识别,并且可以将该设备任意作为发送
57、端或者接收端对其操作。进行数据传输的时候,一个连接在 IIC总线上面的设备可以视为主设备或者是从设备。主设备开始一个数据的传输并且产生时钟信号 SCL。任何被主设备寻址到的设备被认为是一个从设备。 IIC数据通过串行数据线(SDA)和串行时钟线(SCL)进行传输。SDA 和 SCL 都是双向的,它们必须通过上拉电阻连接到供电电压的正端。Page 93MSP430F247片上外设片上外设-IIC-信号信号 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,
58、向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。 Page 94MSP430F247片上外设片上外设-IIC-特性特性 遵循菲利浦半导体公司的IIC 规范 v2.1 7位和10位的设备寻址方式 广播模式 开始/重新开始/停止 多主设备收发模式 从设备收发模式 支持高达 100kbps的标准方式和高达 400kbps的高速方式 在主设备模式中,UCxCLK频率可编程 低功耗设计 从设备根据检测到开始信号将MSP430从 L
59、PMx模式唤醒 在LPM4 模式可以进行从机操作Page 95MSP430F247片上外设片上外设-IIC-寻址方式寻址方式 7位寻址方式 7 位寻址方式的格式如图所示。第一个字节由 7 位从地址和 R/W 位组成。每个字节传输完毕接收设备都会发送一个响应位(ACK) 。 10位寻址方式 10 位寻址方式的格式如图所示。第一个字节有11110b 加上10位从地址的高2位和R/W位组成。每个字节传输完毕接收设备都会发送一个响应位(ACK) 。第二个字节是10位从地址剩下的 8位数据,在这之后是 ACK应答信号和 8位数据。Page 96MSP430F247片上外设片上外设-IIC-工作模式工作模
60、式USIC模块中的 IIC模式可以工作在主发送模式、主接收模式、从发送模式或者从接收模式。这里从下面几个部分来讨论该模式。从模式 选择在IIC模式并设置UCMODEx=11,UCSYNC=1,同时将UCMST 位清 0,可以将USCI模块配置为IIC从模式。 刚开始的时候,USCI模块必须通过将 UCTR 位清0配置为接收模式,使其可以接收 IIC的地址。在这之后,根据接收到从设备地址和 R/W位可以自动进行发送和接收的操作Page 97MSP430F247片上外设片上外设-IIC-工作模式工作模式 IIC从发送模式 当从设备发现主设备发送的从地址与本地地址匹配,并且 R/W位为1 的时候,该设备进入从发送模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供电局微笑服务演讲稿
- 员工代表演讲稿
- 企业普通员工年终工作总结
- 去音标课件教学课件
- 晚上做课件教学课件
- 探矿全证办理流程
- 《EDA技术与设计》全套教学课件
- 深度多模态数据融合 Deep Multimodal Data Fusion
- 部编版历史九年级上册第三单元 第10课《拜占庭帝国和查士丁尼法典》说课稿
- 实数复习课件教学课件
- 中考英语过去将来时趣味讲解动态课件(43张课件)
- 教育家精神引领师范生高质量培养的路径探析
- 2024年中国汽车喷漆烤房市场调查研究报告
- 2024年全国职业院校技能大赛中职组(养老照护赛项)考试题库-下(判断题)
- 书法(校本)教学设计 2024-2025学年统编版语文九年级上册
- 阿米巴经营知识竞赛考试题库(浓缩300题)
- 走进红色新闻历史现场智慧树知到答案2024年延安大学
- 08D800-8民用建筑电气设计与施工防雷与接地
- 食品配送服务 投标方案(技术方案)
- 科学的体育锻炼课件(图文)
- 六年级上册英语教案-Unit 8 We shouldn't waste water Period 2 湘少版(三起)
评论
0/150
提交评论