自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 MSP430第三十六章:通用异步收发通信模块 – UART Mode

1. 通用串行通信接口——USCI总览USCI模块支持多种串行通信方式,不同的USCI模块支持不同的模式,每个不同的USCI模块都用不同的字母命名。例如,USCI_A和USCI_B是不同的。如果在一个设备上配备了多个相同的USCI模块,那么这些模块的名称将以递增的数字命名。例如,如果一个设备有两个USCI_A模块,它们被命名为USCI_A0和USCI_A1。USCI_Ax模块支持:UART模式用于IrDA通信的脉冲整形用于LIN通信的波特率自动检测SPI模式USCI_Bx模块支持:I2

2021-04-15 21:30:18 1274 1

原创 MSP430第三十二章:Comp_B

1. Comp_B介绍Comp_B模块支持精确斜率模数转换、电源电压监控和外部模拟信号监控。反相和非反相终端输入多路复用器软件可选RC滤波器用于比较器输出提供给Timer_A捕获输入的输出软件控制端口输入缓冲区中断能力可选基准电压发生器,电压迟滞发生器参考电压输入来自共享参考超低功耗比较器模式中断驱动测量系统-低功耗操作支持2. Comp_B操作2.1比较器比较器比较+和-输入端子的模拟电压。如果+端大于-端,比较器输出CBOUT高。比较器可以使用控制位CBON打开或关闭。不

2021-03-13 22:45:24 625

原创 MSP430第二十八章:ADC12_A

1. ADC12_A介绍ADC12_A模块支持快速的12位模数转换,该模块包含一个12位SAR核心,采样选择控制,参考发生器以及一个16字的转换控制缓冲区。转换和控制缓冲区允许多达16个独立的模数转换器(ADC)样本转换和存储,无需任何CPU干预。最大转化率大于200ksps无缺失码的单调12位转换器采样保持可编程的采样周期,由软件或定时器控制由软件或定时器发起转换软件可选的片上参考电压生成1.5 V, 2.0 V,或2.5 V多达12个单独配置的外部输入通道内部温度传感器,AVCC和外部

2021-03-13 22:27:10 851

原创 MSP430第十七章:定时器A

1. Timer_A介绍Timer_A是一个16位的计时器/计数器,最多有7个捕获/比较寄存器。Timer_A可以支持多个捕获/比较、PWM输出和间隔计时。Timer_A还具有广泛的中断能力,中断可以从每个捕获/比较寄存器溢出中产生。Timer_A功能包括:异步16位计时器/计数器有四种工作模式可配置时钟源多达7个捕获/比较寄存器具有脉宽调制(PWM)能力的可配置输出异步输入和输出锁存用于快速解码所有Timer_A中断的中断向量寄存器2. Timer_A操作2.1 16位计时器计数器

2021-03-12 23:57:33 726

原创 MSP430第十六章:看门狗

1. 介绍看门狗定时器模块WDT_A的作用是在软件发生死机或跑飞后控制程序重启。当超过设定的时间而没有喂狗时,就会产生复位中断。如果不需要看门狗功能,可配置为普通定时器或者关闭。8个可选定时时间看门狗工作模式定时器模式带密码保护的控制寄存器可选时钟源允许关闭降低功耗时钟故障保护2. 看门狗操作看门狗定时器模块可以配置为看门狗或普通定时器。WDTCTL是一个16位密码保护的读写寄存器。任何读或写访问都必须使用word指令,并且写访问必须使用密码05Ah。任何对WDTCTL的写操作,只

2021-03-12 16:13:11 891

原创 改进版按键消抖程序

当按下按键时,由于按键属于机械装置,必然会出现信号抖动的情况。如不进行处理,按一次按键程序将会重复铺捉多次,造成误判。传统的按键消抖程序:以MSP430伪代码为例:if(P1IN&BIT1) / /当检测到按键按下{ delay(); / /延迟一段时间消抖,一般几个毫秒到几十个毫秒 if(P1IN&BIT1) / /再次检测到按键按下,说明按键确实被按下 { 处理程序; }}根据实际情况,控制延迟时间就能很好地消除抖动。传统方法非常简单,

2021-03-08 22:23:29 1698

原创 MSP430第二十五章:32位乘法器

1. 32位乘法器(MPY32)介绍MPY32是不属于CPU的外围模块,这意味着它的活动不会影响CPU活动。乘法器寄存器是外围寄存器,用CPU指令加载和读取。MPY32支持:无符号乘法有符号乘法累计无符号乘法累计有符号乘法8、16、24、32位运算分数运算8位和16位操作兼容16位硬件乘法器不需要“符号扩展”指令的8位和24位乘法2. MPY32操作MPY32支持8位、16位、24位和32位操作数进行无符号乘、有符号乘、无符号乘累积和有符号乘累积操作。操作数的大小由操作数被写入

2021-03-02 16:43:27 1692

原创 ARM Cortex -M3内核

1. Cortex-M3内核介绍Cortex-M3处理器提供了一个高性能、低成本的平台,满足系统对最小化内存现、减少引脚计数和低功耗的要求。包括以下特点:32位的Cortex-M3体系结构为占用空间小的嵌入式应用程序进行了优化;出色的处理性能与快速中断处理相结合;ARM Thumb-2结合了16位和32位指令,与8位、16位小内存设备提供32位ARM高性能核心预期,对于微控制器类的应用程序,通常在几千字节的内存范围内;快速的代码执行允许更慢的处理器时钟或增加睡眠模式时间;哈佛体系结构:指令和数

2021-02-24 16:16:53 3613

原创 MSP430第三章:后备电源

1. 后备电源介绍后备电源系统有以下特点:自动/手动切换到后备电源后备电源供应子系统包含32KHZ实时时钟、RAM备用电容使用电阻式充电器如果系统中没有独立的电池备用电源,将VBAT引脚连接到DVCC上,设置位BAKDIS=1。2. 后备电源操作如果初级电源故障,后备电源系统从次级(VBAT)供应子系统。后备供应子系统通常包含实时时钟模块、备用RAM。高侧SVS (SVSH)位于PMM模块中,负责监督一次电源(DVCC),控制一次和二次电源之间的切换。备用电源VBAT为备用子系统供电

2021-02-14 23:22:32 260

原创 MSP430第二章:电源管理

1. 电源管理模块介绍PMM有如下特点:宽供电电压(DVCC)范围:1.8 V ~ 3.6 V可产生多达四个可编程级别的核心电压 (VCORE)具有可编程阈值水平的DVCC和VCORE的电源电压管理器(SVS)具有可编程阈值水平的电压监控模块(SVM)断电复位(BOR)软件可访问的电源故障指示灯电源故障时的I/O保护软件可选监控器或监控状态输出(可选)PMM模块管理所有有关电源供应与其供应设备的所有功能。它的主要功能首先是为核心逻辑产生电源电压,其次,提供几种机制来监控施加到设备的电

2021-02-14 14:28:12 1836

原创 MSP430番外——BSL介绍

1.介绍引导加载程序提供了在MSP430项目开发和更新期间对闪存进行编程的方法。它可以由程序使用UART协议发送命令激活。BSL使用户能够控制MSP430单片机的活动,并使用个人计算机或其他设备交换数据。为了避免意外覆盖的BSL代码,该代码存储在一个安全的内存位置,ROM或特别保护的闪存。为了防止不需要的源读取,任何直接或间接允许数据读取的BSL命令都有密码保护。为了调用引导加载程序,一个BSL入口序列必须应用到专用的引脚。在此之后,一个同步字符,后面跟着特定命令的数据帧,启动所需的函数。1.1 与

2021-02-14 11:26:41 1768

原创 MSP430第一章:系统介绍

1.系统控制模块(SYS)介绍SYS负责整个系统中各个模块之间的交互,其提供的功能不是模块本身自有的。地址解码、总线仲裁、中断事件整合和复位生成是SYS提供的许多功能的一些例子。2.系统重启和初始化系统重启电路如图所示,有断电复位(BOR)、上电复位(POR)、上电清除(PUC)三个来源。不同的事件触发这些信号并产生不同的初始条件。以下事件会产生BOR:设备上电在重启模式下RST/NMI引脚低电平一个事件从LPMx.5唤醒设备软件BOR事件违反安全事件以下事件会触发POR:BOR信

2021-02-13 23:55:56 1564

原创 MSP430 ADC12(三)

本程序开启4个通道,使用重复模式循环转换。#include <msp430.h>#define Num_of_Results 8volatile unsigned int A0results[Num_of_Results]; //volatile强制每次使用变量的值去储存访问而不使用寄存器的值,因为中断程序可能随时改变变量的值volatile unsigned int A1results[Num_of_Results];volatile unsigned int A2re

2021-01-28 22:19:45 308 1

原创 MSP430 ADC12(二)

#include <msp430.h>int main(void){ volatile unsigned int i; WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer P6SEL |= 0x01; // 使能A/D通道A0 REFCTL0 &= ~REFMSTR; // 把控制权移交给ADC

2021-01-28 00:22:50 275

原创 MSP430 ADC12(一)

以下代码运行ADC12模块,P6.0为输入通道,P1.0为输出。当输入电压大于0.5电源电压VCC时点亮LED。注意:__even_in_range(ADC12IV,34) 是判断ADC12IV是否为0-34之间的偶数,如果是执行switch语句,此做法是为了提高switch语句的执行效率,用于多中断来源判断。#include <msp430.h>int main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WD

2021-01-27 22:27:14 684

原创 MSP430 ADC_12bit

1. 介绍ADC12_A模块支持快速的12位模数转换。该模块支持了一个12位的SAR核心,样本选择控制,参考生成器,和一个16字的转换和控制缓冲区。转换和控制缓冲区允许多达16个独立的模数转换器(ADC)样本转换和存储,无需任何CPU干预。最大转换率大于200ksps无缺失码的单调12位转换器采样保持周期可编程,由软件或定时器控制由软件或定时器发起转换软件可选的片上参考电压1.5 V, 2.0 V或2.5 V可选内部参考或外部参考多达12个模拟输入通道内部温度传感器通道正负参考可独立配

2021-01-26 20:33:54 740

原创 MSP430 ADC_10bit

1.介绍ADC10_A是高性能10位数模转换器,该模块实现了一个10位带有采样控制和窗口比较器的SAR核心。最大转换率大于200ksps无缺码单调10bit转换器采样保持时间可软件或定时器编程定时器或软件控制开始转换片上可选软件使用REF模块或外部参考12个单独配置的外部输入REF温度传感器转换通道可选转换时钟源单通道、重复单通道、连续、重复连续转换模式用于低功耗检测输入信号的窗口比较器6个快速解码ADC中断向量(ADC10IFG0, ADC10TOVIFG,ADC10OVIFG,

2021-01-25 23:08:41 2544

原创 MSP430flash封装读写函数

封装好读写函数,输入地址可写入和读出,都是long数据类型void flash_w(int add,long value){ Flash_ptrD = (unsigned long *) add; // 初始化Flash pointer FCTL3 = FWKEY; // FWKEY为写入密码 FCTL1 = FWKEY+ERASE; // FWKEY为写入密码,ERASE为段擦除 *Fl

2021-01-25 21:03:26 188

原创 flash写入(三)

/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:

2021-01-25 20:32:50 126

原创 flash写入(二)

/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:

2021-01-25 20:22:00 127

原创 flash写入(一)

/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:

2021-01-25 20:18:16 599

原创 MSP430寻址模式

MSP430的CPU支持7种源寻址和4种目的寻址1.寄存器模式可利用寄存器的8、16和20位,长度为1、2或者3个字长。Byte操作:读源寄存器的低8位,然后将其写入目的寄存器对应的低8位,目的寄存器的8:19位会被清空而源寄存器不受影响;Word操作:读源寄存器的低16位,然后将其写入目的寄存器对应的低16位,目的寄存器的17:19位会被清空而源寄存器不受影响;Address-word操作:读源寄存器的所有位,然后将其写入目的寄存器对应的位;SXT例外:SXT是寄存器操作的唯一例外,这条指令

2021-01-23 21:31:57 436

原创 MSP430CPU介绍

总结1. CPU介绍MSP430的CPU具有诸如计算分支、表格处理、支持高级语言(C)等现代处理器特征,其特点包括:1.RISC精简指令集2.正交体系结构3.包括程序计数器PC、堆栈寄存器SP、状态寄存器SR在内的全部寄存器可访问3.单周期寄存器操作4.更大的寄存器容量以减少内存访问5.20位地址总线允许直接访问,在整个内存范围内进行分支,而不进行分页。6.16位数据总线允许长字访问7.提供常数发生器产生6个常用常数以减少代码大小8.直接内存到内存传送不需要中间寄存器9.字节、字、2

2021-01-23 20:53:03 3322

原创 MSP430第五章:统一时钟系统

第四章 统一时钟系统通用时钟系统(UCS)最多包含5个时钟源:1.XT1CLK支持低频:32768HZ手表晶振、标准晶振、共振器高频:4-32MHZ外部时钟源XT1CLK能够用作FLL的参考时钟。某些设备可能只支持低频,详细参数参照规格书。2.VLOCLK内部低功耗低频时钟,典型值10KHZ。3.REFOCLK也可用作FLL的参考时钟。4.DCOCLK内部数控振荡器(DCO),可被FLL稳定。5.XT2CLK可选高频振荡器,可用作标准振荡器,共振器、4-32MHZ外部时钟源,也可用

2021-01-17 23:10:55 937 1

原创 MSP430第七章:FLASH

第三章 片上FLASHMSP430的Flash可被字节(8bit)、字(16bit)、长字(32bit)、块(128bit)写入,但段是最小的擦除大小。数据段和代码段没有差别,然而段的大小根据不同区段有差异:主存和BSL段是512bytesinformation储存段是128bytesinformation有四段,从A到D,每一个段可单独擦除。bootloader (BSL)有四段,从A到D,每一个段可单独擦除。主存被分割成64KB的区域,每个区又被分成512B的段Segment Ainf

2021-01-17 21:28:07 1310 1

原创 smith圆图学习笔记

2020-04-20 23:19:06 275 2

原创 MSP430学习笔记(二)

中断中断边缘选择寄存器PxIESBit = 0 上升沿触发Bit = 1 下降沿触发注意:当向PxIES写入时,当前的PxIN状态将会影响中断触发PxIESPxINPxIFG0→10触发0→11不触发1→00不触发1→01触发中断使能寄存器PxIEBIT = 0 中断不使能BIT = 1 中断使能...

2020-01-27 19:46:28 497 1

原创 MSP430第十二章:通用输入输出接口GPIO

MSP430F5529学习笔记第一章:数字I/O接口方向寄存器PxDIR输入寄存器PxIN输出寄存器PxOUT上下拉寄存器RxREN输出驱动强度寄存器PxDS功能选择寄存器PxSEL第一章:数字I/O接口MSP拥有多达12组I/O接口(P1 - P11和PJ),其中P1 、P2具有可单独配置的中断功能,不同的设备可能还有其他中断接口。P1口被储存在中断向量P1IV,P2口被储存在终中断量P2...

2020-01-27 19:17:47 1378 1

原创 例程1——LED

本系列为MSP430F552x官方例程,鄙人只做了部分修改、注释、汉化工作 * MSP430 CODE EXAMPLE DISCLAIMER * * MSP430 code examples are self-contained low-level programs that typically * demonstrate a single pe...

2019-12-02 22:23:29 221

原创 12864

#define data P3OUT //P3为8位数据口#define RS_low P4OUT &= ~BIT0 //P4.0接RS 高为数据,低为指令#define RS_high P4OUT |= BIT0 #define RW_low P4OUT &= ~BIT1 //P4.1接RW 高为读,低为写#define ...

2019-12-02 11:27:43 197

原创 LCD1602

LCD1602显示器8线连接430F5529单片机#ifndef LCD1602_h#define LCD1602_h#define data P3OUT //P3为8位数据口#define RS_low P4OUT &= ~BIT0 //P4.0接RS 高为数据,低为指令#define RS_high P4OUT |= BIT0 ...

2019-12-01 21:38:03 254

原创 模数转换器ADS112C04

IIC函数见前篇博客#define ADD_ADS112C04_write 0x80#define ADD_ADS112C04_read 0x81#define START 0x08 #define POWERDOWN 0x02 #define RDATA 0x10 #define RESET 0x06#define WREG_0 0...

2019-11-27 14:48:38 2106

原创 MSP430f5529模拟IIC协议

MSP430f5529模拟IIC协议读取数据之前需要释放总线,被着问题卡了好久#include "msp430f5529.h"//P8.1 SCL//P8.2 SDA#define SCL_HIGH P8OUT|=BIT1#define SCL_LOW P8OUT&=~BIT1#define SDA_HIGH P8OUT|=BIT2#d...

2019-11-20 22:20:20 2888 13

原创 mathematica入门(二)

mathematica学习笔记代数运算Expand[]函数Factor[]用于因式分解Together[]用于合并分式Apart[]Collect[]合并指定符号项Simplify[]和FullSimplify[]方程求解Solve[]Reduce[]FindRoot[]代数运算mathematica遇到没有预先定义的字符串会将其处理为变量,比如软件自动将表达式进行了化简处理Expand...

2019-05-01 09:57:17 2359

原创 mathematica入门(一)

mathematica学习笔记一、mathematica介绍与matlab比较功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导...

2019-05-01 09:17:00 20738

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除