




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
msp430f449 msp430launchpad 1 开发环境 IAREmbeddedWorkbench2 IAR的安装及相应设置3 IAR的使用 1 2020 4 21 msp430f449简介 1 低工作电压 1 8 3 6V2 超低功耗 活动模式 280UA 1MHZ 2 2V 待机模式 1 1UA掉电模式 RAM数据保持 0 1UA3 有5种节电模式4 从待机到唤醒的响应时间不超过6us5 12位A D转换器 8通道 带有内部参考源 采样保持 6 16位精简指令结构 RISC 150ns指令周期7 带有3个捕获 比较器结构的16位定时器8 串行通信可软件选择UART SPI两种模式9 可在线串行编程 不需要外部编程电压10 驱动液晶能力为160段11 FLASH存储器为60KB RAM为2KB 2 2020 4 21 msp430f449 1 IO口2 时钟3 中断4 定时5 AD6 UART7 PWM波8 头文件 3 2020 4 21 1 IO口 一 P口端口寄存器 1 PxDIR输入 输出方向寄存器 0 输入模式1 输出模式 2 PxIN输入寄存器输入寄存器是只读寄存器 用户不能对其写入 只能通过读取该寄存器的内容知道I O口的输入信号 3 PxOUT输出寄存器寄存器内的内容不会受引脚方向改变的影响 4 PxIFG中断标志寄存器 0 没有中断请求1 有中断请求 该寄存器有8个标志位 对应相应的引脚是否有待处理的中断请求 这8个中断标志共用一个中断向量 中断标志不会自动复位 必须软件复位 外部中断事件的时间必须 1 5倍的MCLK的时间 以保证中断请求被接受 5 PxIES中断触发沿选择寄存器 0 上升沿中断1 下降沿中断 6 PxSEL功能选择寄存器 0 选择引脚为I O端口1 选择引脚为外围模块功能 7 PxREN上拉 下拉电阻使能寄存器 0 禁止1 使能 4 2020 4 21 二 常用特殊P口 1 P1和P2口可作为外部中断口 2 P6可作为A D输入口 3 P1 2和P2 0可作为PWM波输出口 4 P1 1 MCLKP1 5 ACLK5 串口通信时 P2 4 P4 0为发送TXD P2 5 P4 1为接收RXD 5 2020 4 21 三 基本操作 1 所有P口都可作为通用IO口使用2 所有P口都可进行字节操作和位操作按字节操作 例 P1DIR 0 xff 将P1口作为输出口PIOUT 0 x20 P1口输出0 x20P1DIR 0 x00 将P1口作为输入口data P1IN 读取P1口外部输入值按位操作 例 P1DIR BIT0 将P1 0作为输出口P1OUT BIT0 P1 0输出1P1OUT P1 0输出0P1DIR BIT0 将P1 0口作为输入data P1IN BIT0 读取P1 0口外部输入值 6 2020 4 21 2 时钟 一 三个时钟源 1 LFXT1CLK 低频时钟 32768HZ 2 XT2CLK 高频时钟 8MHZ 3 DCOCLK 片内数控振荡器最高46MHZ但不稳定 不能作为定时用 二 时钟模块结构图 7 2020 4 21 8 2020 4 21 三 时钟模块可提供的四种时钟信号 1 ACLK 辅助时钟 来自LFXT1CLK低频时钟 可有软件选作各外围模块的时钟信号 一般用于低速外设 2 ACLK n ACLK经过1 2 4 8分频后由P1 5输出 仅供外部电路使用 3 MCLK 系统主时钟 可有软件选择来自LFXT1CLK XT2CLK或DCOCLK的时钟 然后经1 2 4 8分频得到 可由P1 1输出 主要用于cpu 4 SMCLK 子系统时钟 可有软件选择来自XT2CLK或DCOCLK的时钟 主要用于高速外设 9 2020 4 21 四 MCLK应用举例 1 在默认情况下 MCLK来自于DCOCLK其频率为1 048576MHZ其计算方法 MCLK 31 1 327682 如何选择ACLK作为MCLK voidclk initial do IFG1 选择ACLK作为MCLK 10 2020 4 21 3 如何选择XT2CLK作为MCLK voidclk initial do IFG1 选择DCO作为MCLK前分频 11 2020 4 21 3 中断 一 中断源 1 外部中断 P1 P22 定时器中断 3 看门狗定时器中断 4 串口中断 5 A D转换中断 6 比较器中断 二 中断的一般设置 1 打开 关闭局部中断 打开局部中断一般是给想关的特殊功能寄存器相关位置1以P1口外部中断为例 打开局部中断 P1IE BIT0 打开P1 0外部中断 12 2020 4 21 关闭局部中断一般是给想关的特殊功能寄存器相关位置0同样以P1口外部中断为例 关闭局部中断 P1IE3 各中断向量InterruptVectors defineBASICTIMER VECTOR 0 2u 0 xFFE0BasicTimer definePORT2 VECTOR 1 2u 0 xFFE2Port2 defineUSART1TX VECTOR 2 2u 0 xFFE4USART1Transmit defineUSART1RX VECTOR 3 2u 0 xFFE6USART1Receive definePORT1 VECTOR 4 2u 0 xFFE8Port1 defineTIMERA1 VECTOR 5 2u 0 xFFEATimerACC1 2 TA defineTIMERA0 VECTOR 6 2u 0 xFFECTimerACC0 defineADC12 VECTOR 7 2u 0 xFFEEADC defineUSART0TX VECTOR 8 2u 0 xFFF0USART0Transmit defineUSART0RX VECTOR 9 2u 0 xFFF2USART0Receive defineWDT VECTOR 10 2u 0 xFFF4WatchdogTimer defineCOMPARATORA VECTOR 11 2u 0 xFFF6ComparatorA defineTIMERB1 VECTOR 12 2u 0 xFFF8TimerBCC1 6 TB defineTIMERB0 VECTOR 13 2u 0 xFFFATimerBCC0 defineNMI VECTOR 14 2u 0 xFFFCNon maskable defineRESET VECTOR 15 2u 0 xFFFEReset HighestPriority 13 2020 4 21 4 中断优先级 优先级顺序从高到低为 PORT2 VECTOR 1 2u 0 xFFE2Port2 PORT1 VECTOR 4 2u 0 xFFE8Port1 TIMERA1 VECTOR 5 2u 0 xFFEATimerACC1 2 TA TIMERA0 VECTOR 6 2u 0 xFFECTimerACC0 ADC VECTOR 7 2u 0 xFFEEADC USART0TX VECTOR 8 2u 0 xFFF0USART0Transmit USART0RX VECTOR 9 2u 0 xFFF2USART0Receive WDT VECTOR 10 2u 0 xFFF4WatchdogTimer COMPARATORA VECTOR 11 2u 0 xFFF6ComparatorA TIMERB1 VECTOR 12 2u 0 xFFF8TimerBCC1 2 TB TIMERB0 VECTOR 13 2u 0 xFFFATimerBCC0 NMI VECTOR 14 2u 0 xFFFCNon maska e RESET VECTOR 15 2u 0 xFFFEReset HighestPriority 14 2020 4 21 5 中断的嵌套 当同时有多个中断来的时候才有优先级的考虑 优先级顺序可查看向量表 实现中断嵌套需要注意以下几点 1 430默认的是关闭中断嵌套的 一定要中断嵌套的话 就必须在中断服务程序中打开总中断msp430的指令中 DINT 和 EINT 分别指关和开总中断 2 当进入中断服务程序时 只要不在中断服务程序中再次开中断 则总中断是关闭的 此时来中断不管是比当前中断的优先级高还是低都不执行 3 若在中断服务程序A中开了总中断 则可以响应后来的中断B 不管B的优先级比A高还是低 B执行完再继续执行A 注意 进入中断服务程序B后总中断同样也会关闭 如果B中断程序执行时需响应中断C 则此时也要开总中断 若不需响应中断 则不用开中断 B执行完后跳出中断程序进入A程序时 总中断会自动打开 4 若在中断服务程序中开了总中断 后来的中断同时有多个 则会按优先级来执行 即中断优先级只有在多个中断同时到来时才起做用 中断服务不执行抢先原则 5 对于单源中断 只要响应中断 系统硬件自动清中断标志位 对于TA TB定时器的比较 捕获中断 只要访问TAIV TBIV 标志位倍被自动清除 对于多源中断要手动清标志位 比如P1 P2口中断 要手工清除相应的标志 如果在这种中断用 EINT 开中断 而在打开中断前没有清标志 就会有相同的中断不断嵌入 而导致堆栈溢出引起复位 所以在这类中断中必须先清标志再打开中断开关 15 2020 4 21 6 中断应用程序举例 外部中断 voidinterrupt initial P1DIR P1 7中断标志清除 在此写中断服务子程序 16 2020 4 21 4 定时 一 常见的定时方式 1 软件定时 通过延时程序实现 缺点 在延时期间 CPU一直被占用 浪费了CPU的利用率 而且延时时间不好计算 2 硬件延时 通过专门的定时器件实现 优点 在简单的软件控制下 产生准确的延时 二 硬件定时器种类 1 看门狗定时器 2 定时器A 3 定时器B 4 实时时钟RTC 17 2020 4 21 三 Timer A的基本特点 1 输入时钟可以有多种选择 2 产生的定时脉冲或PWM信号没有软件带来的误差 3 四种计数功能 4 8种输出方式 5 16位定时器 6 生成的PWM波能用软件任意改变占空比和周期 当PWM波不需要修改占空比和周期时 Timer A能自动输出PWM 而不需要利用中断来维持PWM波的输出四 定时器的工作模式 1 停止模式 用于定时器的暂停 并不发生复位 所有寄存器现行类容在停止模式结束后都可用 当定时器暂停后重新计数时 计数器将从暂停前的计数方向计数 2 增计数模式 捕获 比较寄存器CCR0用作Timer A增计数模式的周期寄存器 因为CCR0为16位寄存器 所以该模式适用于定时周期小于65536的连续计数情况 计数器TAR可以增计数到CCR0的值 当计数值与CCR0的值相等时 定时器复位 并从0开始重新计数 18 2020 4 21 增计数模式 voidzengjishu TACTL TASSEL1 TACLR 选择计数时钟为ACLK 将计数器TAR清零CCTL0 CCIE 使能中断CCR0 200 计数终值 方波频率为 32768 200 2TACTL MC 1 选择Timer A为增计数模式P1DIR BIT0 P1 0作为输出 EINT 使能总中断 pragmavertor TIMERA0 VECTOR interruptvoidTimer A void P1OUT 0X01 P1 0取反 例程 19 2020 4 21 3 连续计数模式 特点 定时器从0开始记到0XFFFF后又开始从0开始计数 当记到CCR0时产生中断 可产生多个定时信号 20 2020 4 21 例程 voidlianxujishu TACTL TASSEL 1 TACLR 选择计数时钟为ACLK 将计数器TAR清零CCTL0 CCIE 使能中断CCR0 1000 计数终值 方波频率为 32768 1000 2TACTL MC 2 选择Timer A为连续计数模式P1DIR BIT0 P1 0作为输出 EINT 使能总中断 pragmavertor TIMERA0 VECTOR interruptvoidTimer A void P1OUT 0X01 P1 0取反CCR0 1000 21 2020 4 21 4 增 减计数模式 需要对称波形的情况可以用增 减计数模式 该模式下 定时器先计数到CCR0的值 然后反向减计数到0 注 定时器TAR的值从CCR0 1增计数到CCR0时 中断标志CCIFG0置位 从1减计数到0时 中断标志TAIFG置位 22 2020 4 21 5 捕获 比较模块 一 工作模式 1 捕获模式 当捕获 比较控制寄存器CCTLx中的CAP 1时 该模块工作于捕获模式 这时如果在选定的引脚上发生设定的脉冲沿 则TAR中的值将自动写入到捕获 比较寄存器CCRx中 用途 1 测量软件程序执行所用时间 2 测量硬件之间的时间 3 测量频率 2 比较模式 当捕获 比较控制寄存器CCTLx中的CAP 0时 该模块工作于比较模式 Timer A有三个捕获 比较器 在比较模式下有8个输出模式 23 2020 4 21 5 A D 一 msp430f449内自带A D的主要特点 1 12位转换精度 2 有多种时钟源可供选择 内带时钟发生器 3 配有8个外部通道和4个内部通道 4 内置参考电源 并且参考电压Vref有6种组合 5 采样速度快 最快200Ks s 6 四种工作模式 1 单通道单次转换模式 CONSEQ 0 2 单通道多次转换模式 CONSEQ 2 3 序列通道单次转换模式 CONSEQ 1 4 序列通道多次转换模式 CONSEQ 3 二 ADC12内部结构图 24 2020 4 21 25 2020 4 21 三 A D转换的一般步骤 1 选择转换通道 P6SEL 0 x01 使能A D通道A0 P6 0 P6SEL BIT7 使能A D通道A7 P6 7 2 打开ADC12内核 设置采样周期 参考电压 ADC12CTL0 ADC12ON 打开ADC12内核 ADC12CTL0 SHT0 0 设置采样周期为4 200KHZ 1ADC12CTL0 REFON 选择内部参考电压为2 5V ADC12CTL0 MSC 多次采样 转换位3 设置工作模式 转换触发方式 ADC12CTL1 SHP 采样信号SAMPCON来自采样定时器ADC12CTL1 ADC12SSEL 0 采样时钟来自ADC12OSC为200KHZADC12CTL1 CONSEQ 2 单通道多次转换模式4 使能转换 即允许转换 ADC12CTL0 ENC 使能转换 26 2020 4 21 注意 当MSC 1且SHP 1时 仅首次转换由SHI信号的上升沿触发采样定时器 之后采样转换将在前一次转换完成之后立即进行 5 开始转换 ADC12CTL0 ADC12SC 开始转换 四 几种工作模式例程 1 单通道单次转换 voidADC convert P6SEL 0 x01 使能A D通道A0 P6 0 ADC12CTL0 ADC12ON SHT0 0 开ADC12内核 设置采样周期为4 200KHZ 1ADC12CTL1 SHP 采样信号SAMPCON来自采样定时器ADC12CTL0 ENC 使能转换 ADC12CTL0 ADC12SC 开始转换 intRead result intresult result ADC12MEM0 return result 27 2020 4 21 2 单通道多次转换 VoidADC convert P6SEL 0 x02 使能A D通道A1 ADC12CTL0 ADC12ON SHT0 8 MSC 打开ADC12内核 设置为首次触发即可 确定采样周期为4 mclk 64 选择内部参考电压为2 5v ADC12CTL1 SHP ADC12SSEL 2 CONSEQ 2 设置为单通道多次转换模式并且由采样输入信号的上升沿触发采样定时器 ADC12CTL0 ENC 使能转换 ADC12CTL0 ADC12SC 开始转换 intRead result intresult result ADC12MEM1 return result 28 2020 4 21 3 序列通道单次转换 voidADC convert P6SEL 0 x0f ADC12MCTL0 SREF 0 INCH 0 ADC12MCTL1 SREF 0 INCH 1 ADC12MCTL2 SREF 0 INCH 2 ADC12MCTL3 SREF 0 INCH 3 EOS EOS为序列结束信号ADC12CTL0 ADC12ON MSC SHT0 0 开ADC12内核 设置采样周期为4 200KHZ 1ADC12CTL1 SHP CONSEQ 1 采样信号SAMPCON来自采样定时器ADC12CTL0 ENC 使能转换 ADC12CTL0 ADC12SC 开始转换 EINT 开中断 pragmavector ADC VECTOR interruptvoidADC12ISR void result0 ADC12MEM0 result1 ADC12MEM1 result2 ADC12MEM2 result3 ADC12MEM3 29 2020 4 21 4 序列通道多次转换 voidADC convert P6SEL 0 x0f ADC12MCTL0 SREF 0 INCH 0 ADC12MCTL1 SREF 0 INCH 1 ADC12MCTL2 SREF 0 INCH 2 ADC12MCTL3 SREF 0 INCH 3 EOS EOS为序列结束信号ADC12CTL0 ADC12ON MSC SHT0 0 开ADC12内核 设置采样周期为4 200KHZ 1ADC12CTL1 SHP CONSEQ 3 采样信号SAMPCON来自采样定时器ADC12CTL0 ENC 使能转换 ADC12CTL0 ADC12SC 开始转换 EINT 开中断 pragmavector ADC VECTOR interruptvoidADC12ISR void result0 ADC12MEM0 result1 ADC12MEM1 result2 ADC12MEM2 result3 ADC12MEM3 30 2020 4 21 6 USART 一 串口是系统与外界联系的重要手段 我们有时需要使用上位机实现系统调试及现场数据的采集和控制 msp430f449中有两个串口模块USART0 USART1分别对应P2 4 P2 5和P4 0 P4 1都可实现UART异步通信和SPI同步通信 二 串行异步通信的主要特点 1 两个独立的移位寄存器 输入 输出寄存器 2 传输7位或8位数据 可采用奇校验或偶校验或无校验 3 数据在发送或接收时低位在先 4 独立的发送 接收中断 5 可编程实现分频因子为整数或小数的波特率 三 USART模块结构图 31 2020 4 21 32 2020 4 21 四 串口通信的一般步骤 无校验 1 选择串口模块 USART0 USART1 USART1 P4SEL 0X03 P4DIR 0X01 P4 0为发送TXD P4 1为接收RXD2 在SWRST 1时 设置串口 U1CTL SWRST 复位USART 并设置串口3 选择波特率发生器时钟 UTCTL1 SSEL1 UCLK MCLK4 使能发送 接收 ME2 UTXE1 URXE1 使能RXDTXD5 设置字符长度 U1CTL CHAR 设置字符长度为8位 默认时为7位6 设置波特率 注 UBR U1BR0 U1BR1 其值应大于3U1BR0 0X1B 存放波特率分频因子的整数部分的低字节U1BR1 0X00 存放波特率分频因子的整数部分的高字节U1MCTL 0X03 设置波特率为384007 SWRST 0 串口设置完毕 U1CTL 使能接收中断 33 2020 4 21 7 PWM波 一 Timer A在增计数模式下的PWM输出 voidPWM Creat inta intb TACTL TASSEL 1 TACLR ID 3 选择计数时钟为ACLK 并进行8分频 将计数器TAR清零CCR0 255 计数终值 方波频率为 32768 256 8 2 8HZCCTL1 OUTMOD 7 CCR1 a 占空比为 a 256CCTL2 OUTMOD 7 CCR2 b 占空比为 b 256P1DIR BIT2 CCR1P1SEL BIT2 P2DIR BIT0 CCR2P2SEL BIT0 TACTL MC 1 选择Timer A为增计数模式 34 2020 4 21 二 增计数模式下的输出 35 2020 4 21 8 头文件 一 两种头文件使用方式 1 ifndef ADC H define ADC HexternvoidADC convert externintRead result endif2 在工程里直接调用 C文件 36 2020 4 21 msp430launchpad Msp430g2553简介 1 低工作电压 1 8 3 6V2 超低功耗 活动模式 280UA 1MHZ 2 2V 待机模式 0 5UA掉电模式 RAM数据保持 0 1UA3 有5种节电模式4 从待机到唤醒的响应时间不超过1us5 10位A D转换器 带有内部参考源 采样保持 最大采样率200Ks s 6 16位精简指令结构 RISC 6 25ns指令周期7 带有3个捕获 比较器结构的16位定时器8 串行通信可软件选择UART SPI I2C三种模式9 可在线串行编程 不需要外部编程电压11 FLASH存储器为16KB RAM为512B 37 2020 4 21 Msp430g2553结构图 38 2020 4 21 Msp430g2553 1 IO口2 时钟3 中断4 定时5 AD6 PWM波 39 2020 4 21 1 IO 一 P口的基本特点 1 有P1 P2两个可独立编程的IO口 2 每个P口都有输入 输出 中断功能 3 对P口控制寄存器的读写支持所有指令集 4 每一个P口都有独立可编程的上拉 下拉电阻 二 P口的基本操作 大致同msp430f449相同 注意 在将P2 6 P2 7作为普通IO口时 需要进行以下设置 P2SEL 40 2020 4 21 三 IO口的复用 41 2020 4 21 2 时钟 一 时钟源 1 ACLK 系统辅助时钟 来自LFXT1CLK为32768HZ 2 MCLK 系统主时钟 有以下5种选择 1 32768HZ 来自ACLK 2 1MHZ BCSCTL1 CALBC1 1MHZ DCOCTL CALDCO 1MHZ 3 8MHZ BCSCTL1 CALBC1 8MHZ DCOCTL CALDCO 8MHZ 4 12MHZ BCSCTL1 CALBC1 12MHZ DCOCTL CALDCO 12MHZ 5 16MHZ BCSC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年哈尔滨市工人文化宫工作人员招聘7人模拟试卷及答案详解(典优)
- 2025年上半年龙泉市公开选调公务员及选聘事业单位工作人员14模拟试卷(含答案详解)
- 飞机操纵系统安装调试工工作态度考核试卷及答案
- 道路货运业务员岗位标准化技术规程
- 公司把钩信号工岗位职业健康技术规程
- 热塑性弹性体装置操作工岗位设备技术规程
- 公司反应香精配制工岗位工艺技术规程
- 火工品管理工岗位合规化技术规程
- 2025年湖北医药学院专项公开招聘第二批工作人员11人模拟试卷完整答案详解
- 房屋赠与孙女合同6篇
- 2025年辅警考试真题及答案
- 2025-2026学年统编版五年级上册语文第二单元过关试卷附答案(三套)
- 2025年农村土地租赁协议(合同样本)
- 2025年固态变压器(SST)行业研究报告及未来发展趋势预测
- 海上安全培训课课件
- 2025年三力测试题试题及答案
- 40亿Nm3-年煤制天然气项目环评
- 《商品流通概论》课件
- 土壤重构施工方案
- 月子中心财务管理制度范本
- 电力系统课程设计华南理工大学
评论
0/150
提交评论