msp430

合集下载

msp430实验报告

msp430实验报告

msp430实验报告msp430实验报告引言:msp430是一种低功耗、高性能的微控制器,被广泛应用于嵌入式系统和物联网设备中。

本实验报告将介绍我对msp430微控制器进行的一系列实验,包括实验目的、实验过程、实验结果以及对实验的总结和展望。

实验目的:本次实验的主要目的是熟悉msp430微控制器的基本功能和使用方法,以及学习如何进行简单的控制程序设计。

通过实验,我希望能够掌握msp430的基本操作和编程技巧,并且能够运用所学知识解决实际问题。

实验过程:在实验开始之前,我首先对msp430微控制器进行了一些基本的了解。

我了解到,msp430具有低功耗、高性能和丰富的外设接口等特点,可以满足各种嵌入式系统的需求。

接着,我根据实验指导书的要求,准备好实验所需的硬件设备和软件工具。

第一部分实验是关于GPIO口的实验。

我按照实验指导书上的步骤,将msp430与LED灯连接起来,并编写了一个简单的程序,实现了对LED灯的控制。

通过这个实验,我学会了如何配置GPIO口和编写简单的控制程序。

第二部分实验是关于定时器的实验。

我学习了如何配置msp430的定时器,并编写了一个简单的程序,实现了定时闪烁LED灯的功能。

通过这个实验,我深入了解了定时器的工作原理和编程方法。

第三部分实验是关于ADC的实验。

我学习了如何配置msp430的ADC模块,并编写了一个简单的程序,实现了对外部模拟信号的采样和转换。

通过这个实验,我了解了ADC的基本原理和使用方法。

实验结果:通过一系列实验,我成功地掌握了msp430微控制器的基本功能和使用方法。

我能够独立完成GPIO口的配置和控制、定时器的配置和编程、ADC的配置和采样等任务。

实验结果表明,msp430具有强大的功能和灵活的编程能力,可以满足各种嵌入式系统的需求。

总结和展望:通过本次实验,我对msp430微控制器有了更深入的了解,并且掌握了一些基本的操作和编程技巧。

然而,由于实验时间和条件的限制,我还没有完全发挥出msp430的潜力。

MSP430串口波特率的设置与计算

MSP430串口波特率的设置与计算

MSP430串口波特率的设置与计算
波特率是指每秒钟传输的位数,单位为波特(bps)。

在MSP430中,我们可以通过计算和设置分频器的值来实现不同的波特率。

下面是计算MSP430串口波特率的步骤:
1.确定MSP430的工作频率。

2.确定所需的波特率。

3.根据波特率和工作频率的关系,计算出分频系数的值。

4.将计算得到的分频系数的低8位和高8位写入UCAxBR0和UCAxBR1寄存器。

例如,假设MSP430的工作频率为16MHz,我们想要设置的波特率为9600bps,那么计算步骤如下:
1.工作频率为16MHz。

2. 波特率为9600bps。

4. 将BRx的值分解为低8位和高8位。

假设取整数部分为104,小数部分取0.1667乘以256,得到43、则UCAxBR0的值为43,UCAxBR1的值为0。

将这两个值写入寄存器即可设置波特率为9600bps。

需要注意的是,不同型号的MSP430可能有不同的时钟源和分频系数的范围。

在设置波特率时,应查阅相关的芯片手册或数据表,对相应的寄存器进行设置。

总结起来,MSP430串口波特率的设置与计算包括确定工作频率,确定所需波特率,计算分频系数,写入寄存器。

通过合适的设置,可以实现稳定和准确的串口通信。

Msp430定时器的介绍及其基本应用

Msp430定时器的介绍及其基本应用

Msp430定时器的介绍及其基本应用Msp430定时器的介绍及其基本应用Msp430单片机一共有5种类型的定时器。

看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bit Timer/Counter)、定时器A(Timer_A)和定时器B(Timer_B)。

但是这些模块不是所有msp430型号都具有的功能。

1、看门狗定时器(WDT)学过电子的人可能都知道,看门狗的主要功能就是当程序发生故障时能使受控系统重新启动。

msp430中它是一个16位的定时器,有看门狗和定时器两种模式。

2、基本定时器(Basic Timer1)基本定时器是msp430x3xx和msp430F4xx系列器件中的模块,通常向其他外围提供低频控制信号。

它可以只两个8位定时器,也可以是一个16位定时器。

3、8位定时器/计数器(8-bit Timer/Counter)如其名字所示,它是8位的定时器,主要应用在支持串行通信或数据交换,脉冲计数或累加以及定时器使用。

4、16位定时器A和B定时器A在所有msp430系列单片机中都有,而定时器B在msp430f13x/14x和msp430f43x/44x等器件中出现,基本的结构和定时器A是相同的,由于本人最先熟悉并应用的是定时器A所以在这里就主要谈一下自己对定时器A的了解和应用。

定时器A是16位定时器,有4种工作模式,时钟源可选,一般都会有3个可配置输入端的比较/捕获寄存器,并且有8种输出模式。

通过8种输出模式很容易实现PWM波。

定时器A的硬件电路大致可分为2类功能模块:一:计数器TAR计数器TAR是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断TAIFG。

二:比较/捕获寄存器CCRX如何实现定时功能呢?这就要靠三个比较/捕获寄存器了(以后用CCRx表示)。

当计数器TAR的计数值等于CCRx时(这就是捕获/比较中的比较的意思:比较TAR是否等于CCRx),CCRx单元会产生一个中断。

MSP430系列单片机简介

MSP430系列单片机简介

MSP430系列单片机简介MSP430系列单片机是美国德州仪器(TI)推向市场的一个16位、具有精简指令集、超低功耗的混合型单片机,自1996年问世,由于它具有极低的功耗、丰富的片内外设备和方便灵活的开发手段,成为许多电子产品设计的首选,1999年进入中国就受到了中国广大设计工程师的青睐。

目前,该系列单片机不仅在电子工程、测控技术与仪器、自动控制、机电一体化等方面得到广泛应用,而且逐渐走进校园,被越来越多的使用在硕士研究生和高年级本科生的科技实践和毕业设计中,在2005年暑期全国大学生电子设计竞赛中就选用了该系列的单片机[5]。

MSP430系列单片机的型号很多,TI公司用3或4位数字表示单片机型号,其中一位数字表示一个系列。

目前有四大系列:带有液晶驱动的MSP430F4xx 系列单片机、不带液晶驱动器的MSP430F1xx系列单片机、16MIPS高速MSP430F2xx系列单片机、一次性写入(OTP)型低价MSP430C系列单片机,每个系列中又含有许多子系列。

单片机型号的第二位数字表示子系列号,一般子系列号越大包含的功能模块越多,最后一或两位数字表示存储器容量,数字越大表示ROM和RAM的容量越大。

此外,MSP430系列单片机还针对许多热门应用设计了一系列专用单片机,如水表专用单片机、医疗仪器专用单片机,电能计量专用单片机,这些单片机都是在相同型号的通用单片机的基础上增加专用模块构成的[5]。

MSP430F449单片机的主要性能有:●低供电电压范围:1.8V-3.6V及欠电压检测器●超低功耗,具有五种省电模式:活动模式:1MHz,2.2V时为280uA;等待模式:1.6uA;关闭模式(RAM保持):0.1uA●数字控制的振荡器(DCO)可以在6us内将CPU从休眠中唤醒,这也是实现低功耗的重要手段之一●16位精简指令结构,125ns指令时间周期,10个16位的寄存器以及常数发生器,能够最大限度的提高代码的效率●具有内部参考电平,采样保持和自动扫描的12位A/D转换器●带有三个或七个捕捉/比较影子寄存器的16位定时器B●带有三个捕捉/比较寄存器的16位定时器A● 串行通讯接口(USART ),软件选择异步UART 或者同步SPI 接口,对于MSP430F44x 系列的单片机有两个UART (UART0,UART1)● 可编程电平检测的供电电压管理器/监视器● 串行在线编程无需外部编程电压,可编程的安全熔丝代码保护● 集成多达160段的LCD 驱动器如图2.1所示为MSP430F449单片机的引脚图。

第三章 MSP430基本外设-低功耗模式资料

第三章 MSP430基本外设-低功耗模式资料


和LPM4.5,后两种模式并非全部系列都具有),通过不同

程度的休眠,可降低系统功耗。

• MSP430系列单片机各个模块运行完全独立,定时器、输入
/输出端口、A/D转换、看门狗、液晶显示器等都可在CPU
休眠状态下运行。系统能以最低功耗运行,当需要CPU工
作时,任何模块都可以通过中断唤醒CPU,完成工作后又

时钟源被禁止而被关闭。

➢ 任意中断均可唤醒处于低功耗模式的MSP430,使

MSP430切换到AM活动模式,即退出低功耗模式


在低功耗模式下,所有的I/O引脚和RAM寄存器将保
单 片
持不变。可以通过开中断后用中断事件来唤醒LMP0 到LMP4。
机 系统响应中断的过程

➢ 硬件自动中断当前服务
低功耗模式0 (LPM0)
SCG1=0, SCG0=0, OSCOFF=0, CPUOFF=1
CPU禁止MCLK禁止 定 时 器 、 ADC、 DMA、 UART 、 SMCLK活动ACLK活动 WDT、I/O、比较器、外部中断、
DCO可用 FLL可用 RTC、串行通信、其他外设
低功耗模式1 (LPM1)

OSCOFF和CPUOFF这4个控制位的配置来关闭系统

时钟,使MSP430单片机从活动模式进入到相应的低

功耗模式。再通过中断方式从各种低功耗模式回到活

动模式。
SCG1、SCG0、 OSCOFF、CPUOFF
活动模式
低功耗模式
中断
§3.2 低功耗模式


注意:在任何一种低功耗模式下,CPU都被关闭,程序将停止 执行,直到被中断唤醒或单片机复位。因此在进入任何一种低

MSP430系列16位超低功耗单片机原理与实践

MSP430系列16位超低功耗单片机原理与实践

MSP430系列16位超低功耗单片机原理与实践MSP430系列单片机采用了哈佛结构,具有16位的数据宽度,可以实现更高的数据处理速度。

它的主频范围从1MHz到25MHz,能够满足不同应用的需求。

同时,MSP430系列单片机具有多种低功耗模式,例如待机模式、休眠模式和独立模式,可以有效地降低功耗,延长电池寿命。

MSP430系列单片机具有丰富的外设接口,包括多个串口通信接口、通用输入输出口、模拟输入输出口以及定时器和计数器等。

这些外设接口使MSP430系列单片机可以与其他外部设备进行通信,实现数据的输入和输出。

此外,MSP430系列单片机还具有多个中断源,可以实现实时中断处理,提高系统的响应能力。

使用MSP430系列单片机进行开发,首先需要选择合适的开发板和编程工具。

德州仪器公司提供了MSP430 LaunchPad开发板,可以方便地进行程序的编写和调试。

同时,德州仪器还提供了MSP430编程工具链,包括编译器、调试器和仿真器等,在开发过程中能够提高开发效率。

在实际开发中,可以利用MSP430系列单片机的低功耗特性,实现一些需要长时间运行的应用。

例如,可以将MSP430系列单片机用于物联网中的传感器节点,采集和传输环境数据。

由于MSP430系列单片机的低功耗特性,可以通过电池供电,从而实现长时间的无线监测。

此外,MSP430系列单片机还可以用于电力管理系统、家庭自动化系统和医疗设备等领域。

它的低功耗特性和丰富的外设接口使其具有很高的适用性,能够满足各种不同应用的需求。

总结起来,MSP430系列单片机是一款16位超低功耗单片机,具有高性能和丰富的外设接口。

它的低功耗特性使得它在物联网、电力管理、家庭自动化和医疗设备等领域具有广泛的应用前景。

通过学习MSP430系列单片机的原理和实践,可以更好地应用它在实际开发中。

MSP430I2C通信

MSP430I2C通信

04
MSP430I2C通信模块的 应用实例
MSP430I2C通信模块与EEPROM的通信
总结词
实现数据存储与读取
详细描述
MSP430I2C通信模块通过与EEPROM进行通信,可以实现数据的存储和读取功能。在数据存储时,可以将需要 保存的数据通过I2C通信协议发送到EEPROM中;在数据读取时,可以从EEPROM中读取数据并通过I2C通信协 议返回给MSP430I2C通信模块。
要点三
解决方案
首先检查总线的负载情况,确保总线 上连接的设备数量和信号线的长度在 合理范围内。然后检查信号线的质量 ,排除信号干扰的可能性。此外,可 以尝试调整I2C通信的速率参数,以 找到最适合系统需求的通信速率。
THANKS
感谢观看
寄存器访问
通过读写寄存器的方式,实现数据的读取和 写入。
03
MSP430I2C通信模块的 使用
MSP430I2C通信模块的初始化
初始化I2C通信模块
启动I2C通信
在开始通信之前,需要先初始化I2C通 信模块,包括设置通信速率、数据位、 停止位等参数。
完成初始化后,通过发送起始信号启 动I2C通信。
I2C通信模块支持多主模式和从模式, 方便实现多机通信。
MSP430I2C通信模块具有硬件仲裁 功能,可自动处理多个主设备同时请 求的情况,保证数据传输的可靠性。
02
I2C通信协议
I2C通信协议概述
I2C通信是一种双线串行通信协 议,主要用于连接微控制器和 各种外围设备。
它由Philips公司开发,具有简 单、稳定、高速等优点,广泛 应用于各种嵌入式系统中。
模块的亮度和对比度等参数,从而实现数据显示和控制功能。
05

MSP430单片机入门例程

MSP430单片机入门例程

MSP430单片机入门例程MSP430单片机是一款低功耗、高性能的16位单片机,广泛应用于各种嵌入式系统。

下面是一个简单的MSP430单片机入门例程,可以让大家初步了解MSP430单片机的基本使用方法。

所需材料:1、MSP430单片机开发板2、MSP430单片机编译器3、MSP430单片机调试器4、电脑和相关软件步骤:1、安装MSP430单片机编译器首先需要安装MSP430单片机的编译器,该编译器可以将C语言代码编译成MSP430单片机可以执行的机器码。

在安装编译器时,需要选择与您的单片机型号匹配的编译器。

2、编写程序下面是一个简单的MSP430单片机程序,可以让LED灯闪烁:c本文include <msp430.h>int main(void)本文P1DIR |= 0x01; //设置P1.0为输出while(1){P1OUT ^= 0x01; //反转P1.0的状态,LED闪烁__delay_cycles(); //延时一段时间,控制闪烁频率}本文上述程序中,首先定义了P1DIR寄存器,将P1.0设置为输出。

然后进入一个无限循环,在循环中反转P1.0的状态,使LED闪烁。

使用__delay_cycles()函数实现延时,控制LED闪烁频率。

3、编译程序使用MSP430单片机编译器将程序编译成机器码,生成可执行文件。

在编译时,需要注意选择正确的编译器选项和单片机型号。

4、调试程序使用MSP430单片机调试器将可执行文件下载到单片机中,并使用调试器进行调试。

在调试时,可以观察单片机的输出口状态和LED灯的闪烁情况,确保程序正常运行。

随着嵌入式系统的发展,MSP430单片机作为一种低功耗、高性能的微控制器,在各种应用领域中得到了广泛的应用。

为了更好地理解和应用MSP430单片机,我在学习过程中积累了一些经验,现在分享给大家。

MSP430单片机是一种超低功耗的微控制器,由德州仪器(Texas Instruments)推出。

msp430 实验报告

msp430 实验报告

msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。

本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。

实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。

通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。

这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。

实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。

通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。

这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。

实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。

通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。

这个实验让我对MSP430的模拟信号处理有了更深入的了解。

实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。

通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。

这个实验让我掌握了MSP430与外部设备进行数据交互的方法。

结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。

MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。

通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。

未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。

MSP430系列单片机介绍

MSP430系列单片机介绍

MSP430系列单片机介绍MSP430系列单片机是德州仪器(TI)公司推出的一种低功耗、高集成度、高性能的16位超低功耗单片机。

它采用精确的调度技术和先进的低功耗架构设计,拥有出色的性能、高功耗效率、广泛的外设集成以及丰富的工具和软件支持。

MSP430系列单片机的内核基于RISC架构,拥有16位数据总线和16位地址总线。

它可以工作在多种工作频率下,从几kHz到几十MHz不等,以满足不同的应用需求。

此外,MSP430系列单片机还具有多种睡眠模式,可以进一步降低功耗。

MSP430系列单片机内置了丰富的外设,包括模拟接口、数字接口和通信接口。

模拟接口包括模数转换器(ADC)、数字模拟转换器(DAC)和比较器等,可以实现各种传感器接口和模拟信号处理。

数字接口包括通用输入输出(GPIO)、定时器/计数器、串行通信接口等,可以实现数字信号处理和通信功能。

通信接口包括UART、SPI和I2C等,可以实现与外部设备的数据交换。

MSP430系列单片机广泛应用于各种电子设备中,如便携式设备、智能家居、医疗器械、工业自动化等。

由于其低功耗和高性能的特点,它可以满足不同应用场景下对功耗和性能的需求。

例如,在便携式设备中,MSP430系列单片机可以实现长时间的电池寿命;在智能家居中,它可以实现低功耗的远程控制和数据传输;在医疗器械中,它可以实现高精度的信号处理和通信。

总之,MSP430系列单片机是一种低功耗、高集成度、高性能的16位超低功耗单片机。

通过其先进的架构设计和丰富的外设集成,它可以满足各种应用的需求。

同时,它还提供了丰富的工具和软件支持,方便开发者进行开发和调试。

MSP430单片机_步进电机与直流电机控制设计

MSP430单片机_步进电机与直流电机控制设计

MSP430单片机_步进电机与直流电机控制设计步进电机和直流电机是常用于控制系统中的电机类型,它们在工业自动化、机器人、医疗设备等领域有着广泛的应用。

本文将重点介绍MSP430单片机控制步进电机和直流电机的设计。

步进电机是一种将电脉冲信号转化为角位移或线性位移的电机,它具有定步进角、驱动简单、精度高等特点。

下面是步进电机控制设计的主要步骤:1.确定电机的参数:步进电机的参数包括相数、相电阻、相感应、步距角等,这些参数决定了控制步进电机的电流大小和步进角度。

2.选择正确的驱动电路:常见的步进电机驱动电路有双极性驱动和四相八线驱动。

双极性驱动适用于电流较大的步进电机,而四相八线驱动适用于电流较小的步进电机。

3.设计控制电路:步进电机的控制电路通常是由一个逻辑电平产生器和一个驱动电路组成。

逻辑电平产生器用于产生脉冲信号,而驱动电路则根据脉冲信号控制步进电机的运行方向和速度。

4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口输出脉冲信号,将步进电机驱动起来。

控制程序需要根据步进电机的参数来确定脉冲频率和方向,以实现步进电机的转动。

5.调试和优化:通过调试和优化控制程序,调整脉冲频率和方向,使步进电机能够按照预定的角度或线性位移进行运动。

直流电机是一种常见的电动机,在各种控制系统中被广泛应用。

下面是直流电机控制设计的主要步骤:1.确定电机的参数:直流电机的参数包括额定电压、电流和功率等,这些参数决定了控制直流电机的电流大小和速度。

2.选择正确的驱动电路:常见的直流电机驱动电路有H桥驱动和单向驱动。

H桥驱动适用于正反转控制,而单向驱动只能实现单一方向的运动。

3.设计控制电路:直流电机的控制电路通常由一个PWM信号发生器和一个驱动电路组成。

PWM信号发生器产生调制信号,控制电机的转速和转向,驱动电路则根据PWM信号给电机供电。

4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口产生PWM信号,将直流电机驱动起来。

MSP430汇编指令集

MSP430汇编指令集

MSP430汇编指令集1000字MSP430是单片机系列的一种,其指令集为精简指令集(RISC)风格。

下面列出了MSP430汇编指令集的大致分类和一些具体指令,主要参考了TI官方的MSP430 Architecture Guide。

一、数据传送指令:1. MOV:将源操作数复制到目的操作数中;2. LPM:从程序存储器读取指定地址中的内容;3. SWPB:交换操作数(低字节和高字节互换)。

二、算术指令:1. ADD:将两个操作数相加并将结果存储到目的操作数中;2. SUB:将两个操作数相减并将结果存储到目的操作数中;3. INC:将操作数加1并将结果存在目的操作数中;4. DEC:将操作数减1并将结果存在目的操作数中;5. DADD:带进位加法;6. CMP:比较两个操作数,并将结果存储到程序状态字寄存器中。

三、逻辑指令:1. AND:将两个操作数进行按位与操作,并将结果存储到目的操作数中;2. OR:将两个操作数进行按位或操作,并将结果存储到目的操作数中;3. XOR:将两个操作数进行按位异或操作,并将结果存储到目的操作数中;4. RRA:将操作数右移一位,并将最高位存储到溢出位(程序状态字寄存器)中。

四、移位指令:1. RLC:将操作数左移一位,并将最高位的值存储到溢出位中;2. RRC:将操作数右移一位,并将最低位的值存储到溢出位中;3. SWAP:低字节和高字节互换;4. SXT:将操作数的最高位扩展到目的操作数的所有高位。

五、跳转和分支指令:1. JMP:无条件跳转到指定地址;2. RET:从子程序中返回到调用程序;3. CLR:将操作数清零;4. TEST:测试操作数的值是否为0,是则跳转到指定地址;5. JZ:操作数为0则跳转到指定地址;6. JNZ:操作数不为0则跳转到指定地址;7. JAE:无符号数操作数小于或等于指定无符号数则跳转到指定地址;8. JBE:无符号数操作数大于或等于指定无符号数则跳转到指定地址。

MSP430单片机选型指南

MSP430单片机选型指南

MSP430单片机选型指南MSP430是德州仪器(TI)公司推出的一系列超低功耗、高性能的16位RISC单片机。

它广泛应用于各种电子设备中,如智能传感器、电表、医疗设备等。

MSP430系列单片机具有低功耗、高性能、丰富的外设和易用性等特点。

本文将为大家介绍如何选择合适的MSP430单片机。

首先,要考虑所需的性能。

MSP430单片机系列提供了多个不同性能级别的芯片,如MSP430F5xx系列、MSP430F6xx系列等。

性能水平的选择主要根据应用的需求来定。

如果应用需要高性能的计算和通信能力,则可以选择性能较高的芯片。

如果应用对功耗要求较高,则可以选择性能较低的芯片。

其次,要考虑所需的外设。

MSP430单片机提供了丰富的外设,如UART、SPI、I2C、ADC等。

根据应用的需求,选择具备相应外设的芯片。

如果应用需要进行串行通信,则需要选择具有UART、SPI、I2C等外设的芯片。

如果应用需要进行模数转换,则需要选择具有ADC外设的芯片。

此外,还需要考虑所需的存储器容量。

MSP430单片机提供了不同容量的Flash存储器和RAM存储器。

Flash存储器用于存储程序代码,RAM 存储器用于存储数据。

根据应用需要的代码和数据存储容量,选择具有相应容量的芯片。

另外,还需要考虑片上外设的数量和功能。

MSP430单片机提供了多个GPIO引脚,可以用于连接外部器件。

根据应用需要的外部器件数量,选择具有足够引脚数量的芯片。

此外,MSP430单片机还提供了一些特殊功能外设,如计时器、看门狗定时器等。

根据应用的需求,选择具有相应特殊功能外设的芯片。

总之,选择合适的MSP430单片机需要考虑性能、外设、存储器、片上外设、开发工具和技术支持等多个方面。

根据应用的需求,选择具备相应特性的芯片。

通过合适的选择,可以帮助开发者提高开发效率,降低成本,设计出更加优秀的产品。

MSP430F149介绍文档

MSP430F149介绍文档

MSP430F149介绍文档MSP430F149是德州仪器(Texas Instruments)推出的一款低功耗、高性能的MSP430系列32位微控制器。

它采用16位RISC架构,工作频率高达16MHz,具有较大的存储容量和丰富的外设资源,适用于各种嵌入式应用开发。

MSP430F149具有较低的工作电压和功耗,能够在1.8V到3.6V的范围内正常工作,使其在电池供电系统中具有较长的续航时间。

它的典型工作电流仅为0.6mA,待机电流为0.1μA,非常适合对功耗要求严格的应用场景。

此外,MSP430F149还支持多种低功耗模式,包括LPM4(电平3)模式,可以实现极低的功耗消耗。

MSP430F149内置了8KB的闪存和512B的RAM,可以通过内部的编程接口进行非易失性存储器(NVM)编程。

它还支持外扩存储器,包括片外SRAM和EEPROM,可以满足更大容量的数据存储需求,灵活应对各种应用场景。

此外,MSP430F149还支持多种通信接口,包括USART、SPI和I2C 等,可以方便地与其他外部设备进行数据交换和通信。

MSP430F149具有多种芯片外设,包括多通道的12位ADC、多个通用定时器、比较器、高速PWM输出等。

这些外设资源可以满足不同应用中的各种控制和计时需求。

此外,MSP430F149还支持内置RTC(实时时钟)模块,提供了精确的时间管理功能,适用于需要时间戳功能的应用场景。

MSP430F149采用了MSP430系列独特的开发环境和编程方式。

德州仪器提供了MSP430编程和调试工具套件,包括MSP430硬件调试接口(HDI)和MSP430调试器(MSP-FET)。

开发人员可以使用这些工具进行软件编译、调试和烧录,快速开发MSP430F149的应用程序。

总之,MSP430F149是一款极具性价比的嵌入式微控制器,具有低功耗、高性能、丰富的外设资源和易用的开发环境等优点。

它适用于各种嵌入式应用开发,包括消费电子产品、工业自动化系统、智能传感器等领域。

MSP430简介

MSP430简介

80 PZ
*4.15
MSP430F5419A 128 16 83
4 16ch ADC12 A 25 MIPS 100 PZ, 113 QZW *4.55
MSP430F5435A 192 16 64 5, 3 7 4
4
2
24 4

4 16ch ADC12 A 25 MIPS
集成外设 • 10/12 位 SAR ADC • 16 位 Δ-Σ ADC • 12 位 DAC • 比较器 • LCD 驱动器 • 电源电压监控器 (SVS) • 运算放大器 • 16 位与 8 位定时器 • LDO
• 看门狗定时器 • UART/LIN • I2C • SPI • IrDA • USB • 硬件乘法器 • DMA 控制器 • 温度传感器
80 PN
*4.85
MSP430F5436A 192 16 83 5, 3 7 4
4
4
44 4

4 16ch ADC12 A 25 MIPS 100 PZ, 113 QZW *5.35
MSP430F5437A 256 16 64 5, 3 7 4
4
2
24 4

4 16ch ADC12 A 25 MIPS
4
2
24 4

4 16ch ADC12 A 18 MIPS
80 PN
4.40
MSP430F5438 256 16 83 5, 3 7 4
4
4
44 4

4 16ch ADC12 A 18 MIPS
100 PZ
4.85
MSP430F5418A 128 16 64 5, 3 7 4
4
2

MSP430初学者教程

MSP430初学者教程

MSP430初学者教程1.了解MSP430体系结构和特性:首先,你需要了解MSP430的体系结构和主要特性。

MSP430采用的是16位RISC架构,具有低功耗特性以及丰富的外设和存储器。

了解这些特性对于理解MSP430的使用至关重要。

3.学习MSP430的编程语言:4.熟悉MSP430的编程模型:了解MSP430的编程模型对于编写有效的程序至关重要。

这包括掌握寄存器、存储器和外设的使用。

你可以通过阅读MSP430的技术手册或官方文档来获得更多信息。

5.编写你的第一个MSP430程序:现在你已经准备好编写你的第一个MSP430程序了。

这个程序的目的是让你熟悉MSP430的编程环境和基本语法。

它可以是一个简单的LED点亮程序,让一个LED灯在一定的时间间隔内闪烁。

6.学习如何调试MSP430程序:当你编写MSP430程序时,你可能会遇到一些错误。

学习如何调试MSP430程序是非常重要的。

MSP430开发环境提供了一些调试工具,你可以使用它们来检查程序的运行情况。

7.学习如何使用MSP430的外设:8.尝试更复杂的MSP430项目:一旦你熟悉了MSP430的基本概念和编程,你可以尝试进行一些更复杂的项目。

比如,你可以使用MSP430控制一些传感器,或者与其他设备进行通信。

这将帮助你更深入地理解MSP430的使用。

9.参与MSP430社区和论坛:加入MSP430的社区和论坛是一个很好的方式来与其他MSP430开发者交流经验和获取帮助。

你可以在这些平台上提问,分享自己的项目经验,与其他人一起学习和进步。

10.持续学习:最后,持续学习是提高你在MSP430开发方面技能的关键。

MSP430的技术在不断发展,新的功能和工具不断出现。

通过阅读相关的书籍、文章和博客,参加培训和研讨会,你可以不断更新自己的知识。

这是一个MSP430初学者教程的总结。

我希望这个教程能够帮助你快速入门MSP430,并在自己的项目中有效使用它。

MSP430系列芯片介绍(全)

MSP430系列芯片介绍(全)

项目 封装无铅/绿色环保库存状态每个MSP430F1132 - 16 位超低功耗微控制器,具有 8kB 闪存、256B RAM 、10 位 ADCMSP430F1132IDWDW所有无铅库存 $0.0MSP430F1132IPW PW库存$0.00MSP430F133 - 16 位超低功耗微控制器,具有 8kB 闪存、256B RAM 、12 位 ADC和 USARTMSP430F133IPAG PAG 所有无铅/绿色环保 库存 $0.00MSP430F133IPMPM所有无铅/绿色环保库存$0.00MSP430F149 - 16 位超低功耗微控制器、60kB 闪存、2KB RAM 、12 位 ADC 、2 USART 、硬件乘法器 MSP430F149IPAG PAG 所有无铅/绿色环保 库存 $0.00MSP430F149IPMPM所有无铅/绿色环保 库存 $0.00MSP430F149IRTDT RTD所有无铅/绿色环保库存$0.00MSP430F157 - 16 位超低功耗 MCU ,具有 32kB 闪存、1024B RAM 、12 位 ADC 、双 12 位 DAC 、USART 、I2C 和 DMA MSP430F157IPMPM所有无铅/绿色环保库存$0.00MSP430F2003 - 16 位超低功耗微控制器,1kB 闪存、128B RAM 、16 位 Σ-Δ A/D ,用于 SPI/I2C 的 USI MSP430F2003INN所有无铅库存$0.00$0.00 $0.00 $0.00$0.00 $0.00 $0.00 $0.00$0.00$0.00 $0.00 $0.00 $0.00$0.00 $0.00$0.00$0.00$0.00 $0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00$0.00$0.00$0.00$0.00$0.00 $0.00$0.00$0.00 $0.00$0.00 $0.00$0.00$0.00 $0.00$0.00 $0.00$0.00 $0.00$0.00MSP430FR5739 - MSP430FR573x、MSP430FR572x 混合信号微处理器MSP430FR5739IDA DA 所有无铅库存$0.00MSP430FR5739IDAR DA 所有无铅库存$0.00MSP430FR5739IRHA R RHA 所有无铅库存$0.00MSP430FW427 - 用于电子流量计的 16 位 RISC 超低功耗微控制器MSP430FW427IPM PM 所有无铅库存$0.00 73 结果 - 显示较少结果结果 1 - 73/73 | 下一页 > 页面 1**无偏好:TI 样片库将使用最早到货的样片库存来满足您的请求,其中可能包含非无铅/绿色环保样片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(ZT)MSP430x149头文件详解※四发表于 2008/5/14 20:49:13/************************************************************* ADC12 A/D采样寄存器定义************************************************************//*ADC12转换控制类寄存器*/#define ADC12CTL0_ 0x0;' /* ADC12 Control 0 */sfrw ADC12CTL0 = ADC12CTL0_;#define ADC12CTL1_ 0x01A2 /* ADC12 Control 1 */sfrw ADC12CTL1 = ADC12CTL1_;/*ADC12中断控制类寄存器*/#define ADC12IFG_ 0x01A4 /* ADC12 Interrupt Flag */sfrw ADC12IFG = ADC12IFG_;#define ADC12IE_ 0x01A6 /* ADC12 Interrupt Enable */sfrw ADC12IE = ADC12IE_;#define ADC12IV_ 0x01A8 /* ADC12 Interrupt Vector Word */ sfrw ADC12IV = ADC12IV_;/*ADC12存贮器类寄存器*/#define ADC12MEM_ 0x0140 /* ADC12 Conversion Memory */#ifndef __IAR_SYSTEMS_ICC#define ADC12MEM ADC12MEM_ /* ADC12 Conversion Memory (for assembler) */#else#define ADC12MEM ((int*) ADC12MEM_) /* ADC12 Conversion Memory (for C) */#endif#define ADC12MEM0_ ADC12MEM_ /* ADC12 Conversion Memory 0 */ sfrw ADC12MEM0 = ADC12MEM0_;#define ADC12MEM1_ 0x0142 /* ADC12 Conversion Memory 1 */ sfrw ADC12MEM1 = ADC12MEM1_;#define ADC12MEM2_ 0x0144 /* ADC12 Conversion Memory 2 */ sfrw ADC12MEM2 = ADC12MEM2_;#define ADC12MEM3_ 0x0146 /* ADC12 Conversion Memory 3 */ sfrw ADC12MEM3 = ADC12MEM3_;#define ADC12MEM4_ 0x0148 /* ADC12 Conversion Memory 4 */ sfrw ADC12MEM4 = ADC12MEM4_;#define ADC12MEM5_ 0x014A /* ADC12 Conversion Memory 5 */ sfrw ADC12MEM5 = ADC12MEM5_;#define ADC12MEM6_ 0x014C /* ADC12 Conversion Memory 6 */ sfrw ADC12MEM6 = ADC12MEM6_;#define ADC12MEM7_ 0x014E /* ADC12 Conversion Memory 7 */ sfrw ADC12MEM7 = ADC12MEM7_;#define ADC12MEM8_ 0x0150 /* ADC12 Conversion Memory 8 */ sfrw ADC12MEM8 = ADC12MEM8_;#define ADC12MEM9_ 0x0152 /* ADC12 Conversion Memory 9 */ sfrw ADC12MEM9 = ADC12MEM9_;#define ADC12MEM10_ 0x0154 /* ADC12 Conversion Memory 10 */ sfrw ADC12MEM10 = ADC12MEM10_;#define ADC12MEM11_ 0x0156 /* ADC12 Conversion Memory 11 */ sfrw ADC12MEM11 = ADC12MEM11_;#define ADC12MEM12_ 0x0158 /* ADC12 Conversion Memory 12 */ sfrw ADC12MEM12 = ADC12MEM12_;#define ADC12MEM13_ 0x015A /* ADC12 Conversion Memory 13 */ sfrw ADC12MEM13 = ADC12MEM13_;#define ADC12MEM14_ 0x015C /* ADC12 Conversion Memory 14 */ sfrw ADC12MEM14 = ADC12MEM14_;#define ADC12MEM15_ 0x015E /* ADC12 Conversion Memory 15 */ sfrw ADC12MEM15 = ADC12MEM15_;/*ADC12存贮控制类寄存器*/#define ADC12MCTL_ 0x0080 /* ADC12 Memory Control */#ifndef __IAR_SYSTEMS_ICC#define ADC12MCTL ADC12MCTL_ /* ADC12 Memory Control (for assembler) */#else#define ADC12MCTL ((char*) ADC12MCTL_) /* ADC12 Memory Control (for C) */#endif#define ADC12MCTL0_ ADC12MCTL_ /* ADC12 Memory Control 0 */ sfrb ADC12MCTL0 = ADC12MCTL0_;#define ADC12MCTL1_ 0x0081 /* ADC12 Memory Control 1 */sfrb ADC12MCTL1 = ADC12MCTL1_;#define ADC12MCTL2_ 0x0082 /* ADC12 Memory Control 2 */sfrb ADC12MCTL2 = ADC12MCTL2_;#define ADC12MCTL3_ 0x0083 /* ADC12 Memory Control 3 */sfrb ADC12MCTL3 = ADC12MCTL3_;#define ADC12MCTL4_ 0x0084 /* ADC12 Memory Control 4 */sfrb ADC12MCTL4 = ADC12MCTL4_;#define ADC12MCTL5_ 0x0085 /* ADC12 Memory Control 5 */sfrb ADC12MCTL5 = ADC12MCTL5_;#define ADC12MCTL6_ 0x0086 /* ADC12 Memory Control 6 */sfrb ADC12MCTL6 = ADC12MCTL6_;#define ADC12MCTL7_ 0x0087 /* ADC12 Memory Control 7 */sfrb ADC12MCTL7 = ADC12MCTL7_;#define ADC12MCTL8_ 0x0088 /* ADC12 Memory Control 8 */sfrb ADC12MCTL8 = ADC12MCTL8_;#define ADC12MCTL9_ 0x0089 /* ADC12 Memory Control 9 */sfrb ADC12MCTL9 = ADC12MCTL9_;#define ADC12MCTL10_ 0x008A /* ADC12 Memory Control 10 */sfrb ADC12MCTL10 = ADC12MCTL10_;#define ADC12MCTL11_ 0x008B /* ADC12 Memory Control 11 */sfrb ADC12MCTL11 = ADC12MCTL11_;#define ADC12MCTL12_ 0x008C /* ADC12 Memory Control 12 */sfrb ADC12MCTL12 = ADC12MCTL12_;#define ADC12MCTL13_ 0x008D /* ADC12 Memory Control 13 */sfrb ADC12MCTL13 = ADC12MCTL13_;#define ADC12MCTL14_ 0x008E /* ADC12 Memory Control 14 */sfrb ADC12MCTL14 = ADC12MCTL14_;#define ADC12MCTL15_ 0x008F /* ADC12 Memory Control 15 */sfrb ADC12MCTL15 = ADC12MCTL15_;/* ADC12CTL0 内16位控制寄存器位*/#define ADC12SC 0x001 /*采样/转换控制位*/#define ENC 0x002 /* 转换允许位*/#define ADC12TOVIE 0x004 /*转换时间溢出中断允许位*/#define ADC12OVIE 0x008 /*溢出中断允许位*/#define ADC12ON 0x010 /*ADC12内核控制位*/#define REFON 0x020 /*参考电压控制位*/#define REF2_5V 0x040 /*内部参考电压的电压值选择位'0'为1.5V; '1'为2.5V*/#define MSH 0x080 /*多次采样/转换位*/#define MSC 0x080 /*多次采样/转换位*//*SHT0 采样保持定时器0 控制ADC12的结果存贮器MEM0~MEM7的采样周期*/#define SHT0_0 0*0x100 /*采样周期=TADC12CLK*4 */#define SHT0_1 1*0x100 /*采样周期=TADC12CLK*8 */#define SHT0_2 2*0x100 /*采样周期=TADC12CLK*16 */#define SHT0_3 3*0x100 /*采样周期=TADC12CLK*32 */#define SHT0_4 4*0x100 /*采样周期=TADC12CLK*64 */#define SHT0_5 5*0x100 /*采样周期=TADC12CLK*96 */#define SHT0_6 6*0x100 /*采样周期=TADC12CLK*128 */ #define SHT0_7 7*0x100 /*采样周期=TADC12CLK*192 */ #define SHT0_8 8*0x100 /*采样周期=TADC12CLK*256 */ #define SHT0_9 9*0x100 /*采样周期=TADC12CLK*384 */ #define SHT0_10 10*0x100 /*采样周期=TADC12CLK*512 */ #define SHT0_11 11*0x100 /*采样周期=TADC12CLK*768 */ #define SHT0_12 12*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT0_13 13*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT0_14 14*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT0_15 15*0x100 /*采样周期=TADC12CLK*1024 */ /*SHT1 采样保持定时器1 控制ADC12的结果存贮器MEM8~MEM15的采样周期*/#define SHT1_0 0*0x100 /*采样周期=TADC12CLK*4 */#define SHT1_1 1*0x100 /*采样周期=TADC12CLK*8 */#define SHT1_2 2*0x100 /*采样周期=TADC12CLK*16 */#define SHT1_3 3*0x100 /*采样周期=TADC12CLK*32 */#define SHT1_4 4*0x100 /*采样周期=TADC12CLK*64 */#define SHT1_5 5*0x100 /*采样周期=TADC12CLK*96 */#define SHT1_6 6*0x100 /*采样周期=TADC12CLK*128 */ #define SHT1_7 7*0x100 /*采样周期=TADC12CLK*192 */ #define SHT1_8 8*0x100 /*采样周期=TADC12CLK*256 */ #define SHT1_9 9*0x100 /*采样周期=TADC12CLK*384 */ #define SHT1_10 10*0x100 /*采样周期=TADC12CLK*512 */ #define SHT1_11 11*0x100 /*采样周期=TADC12CLK*768 */ #define SHT1_12 12*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT1_13 13*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT1_14 14*0x100 /*采样周期=TADC12CLK*1024 */ #define SHT1_15 15*0x100 /*采样周期=TADC12CLK*1024 *//* ADC12CTL1 内16位控制寄存器位*/#define ADC12BUSY 0x0001 /*ADC12忙标志位*/#define CONSEQ_0 0*2 /*单通道单次转换*/#define CONSEQ_1 1*2 /*序列通道单次转换*/#define CONSEQ_2 2*2 /*单通道多次转换*/#define CONSEQ_3 3*2 /*序列通道多次转换*/#define ADC12SSEL_0 0*8 /*ADC12内部时钟源*/#define ADC12SSEL_1 1*8 /*ACLK*/#define ADC12SSEL_2 2*8 /*MCLK*/#define ADC12SSEL_3 3*8 /*SCLK*/#define ADC12DIV_0 0*0x20 /*1分频*/#define ADC12DIV_1 1*0x20 /*2分频*/#define ADC12DIV_2 2*0x20 /*3分频*/#define ADC12DIV_3 3*0x20 /*4分频*/#define ADC12DIV_4 4*0x20 /*5分频*/#define ADC12DIV_5 5*0x20 /*6分频*/#define ADC12DIV_6 6*0x20 /*7分频*/#define ADC12DIV_7 7*0x20 /*8分频*/#define ISSH 0x0100 /*采样输入信号反向与否控制位*/#define SHP 0x0200 /*采样信号(SAMPCON)选择控制位*/#define SHS_0 0*0x400 /*采样信号输入源选择控制位ADC12SC*/#define SHS_1 1*0x400 /*采样信号输入源选择控制位TIMER_A.OUT1*/#define SHS_2 2*0x400 /*采样信号输入源选择控制位TIMER_B.OUT0*/#define SHS_3 3*0x400 /*采样信号输入源选择控制位TIMER_B.OUT1*//*转换存贮器地址定义位*/#define CSTARTADD_0 0*0x1000 /*选择MEM0首地址*/#define CSTARTADD_1 1*0x1000 /*选择MEM1首地址*/#define CSTARTADD_2 2*0x1000 /*选择MEM2首地址*/#define CSTARTADD_3 3*0x1000 /*选择MEM3首地址*/#define CSTARTADD_4 4*0x1000 /*选择MEM4首地址*/#define CSTARTADD_5 5*0x1000 /*选择MEM5首地址*/#define CSTARTADD_6 6*0x1000 /*选择MEM6首地址*/#define CSTARTADD_7 7*0x1000 /*选择MEM7首地址*/#define CSTARTADD_8 8*0x1000 /*选择MEM8首地址*/#define CSTARTADD_9 9*0x1000 /*选择MEM9首地址*/#define CSTARTADD_10 10*0x1000 /*选择MEM10首地址*/#define CSTARTADD_11 11*0x1000 /*选择MEM11首地址*/#define CSTARTADD_12 12*0x1000 /*选择MEM12首地址*/#define CSTARTADD_13 13*0x1000 /*选择MEM13首地址*/ #define CSTARTADD_14 14*0x1000 /*选择MEM14首地址*/ #define CSTARTADD_15 15*0x1000 /*选择MEM15首地址*//* ADC12MCTLx */#define INCH_0 0 /*选择模拟量通道0 A0 */ #define INCH_1 1 /*选择模拟量通道0 A1*/ #define INCH_2 2 /*选择模拟量通道0 A2*/ #define INCH_3 3 /*选择模拟量通道0 A3*/ #define INCH_4 4 /*选择模拟量通道0 A4*/ #define INCH_5 5 /*选择模拟量通道0 A5*/ #define INCH_6 6 /*选择模拟量通道0 A6*/ #define INCH_7 7 /*选择模拟量通道0 A7*/ #define INCH_8 8 /*VEREF+*/#define INCH_9 9 /*VEREF-*/#define INCH_10 10 /*片内温度传感器的输出*/ #define INCH_11 11 /*(AVCC-AVSS)/2*/#define INCH_12 12 /*(AVCC-AVSS)/2*/#define INCH_13 13 /*(AVCC-AVSS)/2*/#define INCH_14 14 /*(AVCC-AVSS)/2*/#define INCH_15 15 /*(AVCC-AVSS)/2*//*参考电压源选择位*/#define SREF_0 0*0x10 /*VR+ = AVCC; VR- = AVSS*/ #define SREF_1 1*0x10 /*VR+ = VREF+; VR- = AVSS*/#define SREF_2 2*0x10 /*VR+ = VEREF+; VR- =AVSS*/#define SREF_3 3*0x10 /*VR+ = VEREF+; VR- = AVSS*/#define SREF_4 4*0x10 /*VR+ = AVCC; VR- = VREF-*/#define SREF_5 5*0x10 /*VR+ = VREF+; VR- = VREF-*/#define SREF_6 6*0x10 /*VR+ = VEREF+; VR- = VREF-*/#define SREF_7 7*0x10 /*VR+ = VEREF+; VR- = VREF-*/#define EOS 0x80 /*序列结束选择位*//************************************************************* Interrupt Vectors (offset from 0xFFE0) 16个中断矢量定义************************************************************///#define BASICTIMER_VECTOR 0 * 2 /* 0xFFE0 Basic Timer MSP430F149 没有*/#define PORT2_VECTOR 1 * 2 /* 0xFFE2 Port 2 */#define UART1TX_VECTOR 2 * 2 /* 0xFFE4 UART 1 Transmit */#define UART1RX_VECTOR 3 * 2 /* 0xFFE6 UART 1 Receive */#define PORT1_VECTOR 4 * 2 /* 0xFFE8 Port 1 */#define TIMERA1_VECTOR 5 * 2 /* 0xFFEA Timer A CC1-2, TA */#define TIMERA0_VECTOR 6 * 2 /* 0xFFEC Timer A CC0 */#define ADC_VECTOR 7 * 2 /* 0xFFEE ADC */#define UART0TX_VECTOR 8 * 2 /* 0xFFF0 UART 0 Transmit */#define UART0RX_VECTOR 9 * 2 /* 0xFFF2 UART 0 Receive */#define WDT_VECTOR 10 * 2 /* 0xFFF4 Watchdog Timer */#define COMPARATORA_VECTOR 11 * 2 /* 0xFFF6 Comparator A */#define TIMERB1_VECTOR 12 * 2 /* 0xFFF8 Timer B 1-6 */#define TIMERB0_VECTOR 13 * 2 /* 0xFFFA Timer B 0 */#define NMI_VECTOR 14 * 2 /* 0xFFFC Non-maskable */#define RESET_VECTOR 15 * 2 /* 0xFFFE Reset [Highest Priority] *//************************************************************* End of Modules************************************************************/系统分类: 单片机用户分类: 程序设计『C/C++』『VB』标签: 无标签来源: 转贴发表评论阅读全文(707) | 回复(0)1(ZT)MSP430x149头文件详解※三发表于 2008/5/14 20:46:28/* Timer A ,Timer B 可公用捕获/比较控制寄存器X */#define CM1 0x8000 /* 捕获模式选择位1 */#define CM0 0x4000 /* 捕获模式选择位0 */#define CCIS1 0x2000 /* 捕获输入信号源选择位1 */#define CCIS0 0x1000 /* 捕获输入信号源选择位0 */#define SCS 0x0800 /* 信号同步位 0:异步捕获;1:同步捕获*/#define SCCI 0x0400 /* 锁存输入信号 */#define CAP 0x0100 /* 模式选择: 0:比较模式;1:捕获模式*/#define OUTMOD2 0x0080 /* 输出模式选择位2 */#define OUTMOD1 0x0040 /* 输出模式选择位1 */#define OUTMOD0 0x0020 /* 输出模式选择位0 */#define CCIE 0x0010 /* 中断允许位 */#define CCI 0x0008 /* 读出输入信号源位ccis0\1 */#define OUT 0x0004 /* 输出信号(选择输出模式0) */#define COV 0x0002 /* 捕获溢出标志 */#define CCIFG 0x0001 /* 中断标志 */#define OUTMOD_0 0*0x20 /* 输出模式 */#define OUTMOD_1 1*0x20 /* 置位模式 */#define OUTMOD_2 2*0x20 /* 翻转/复位模式 */#define OUTMOD_3 3*0x20 /* 置位/复位模式 */#define OUTMOD_4 4*0x20 /* 翻转模式 */#define OUTMOD_5 5*0x20 /* 复位模式 */#define OUTMOD_6 6*0x20 /* 翻转/置位模式 */#define OUTMOD_7 7*0x20 /* 复位/置位模式*/#define CCIS_0 0*0x1000 /* 选择CCIXA为捕获事件的输入信号源 */#define CCIS_1 1*0x1000 /* 选择CCIXB为捕获事件的输入信号源 */#define CCIS_2 2*0x1000 /* 选择GND为捕获事件的输入信号源*/#define CCIS_3 3*0x1000 /* 选择VCC为捕获事件的输入信号源*/#define CM_0 0*0x4000 /* 禁止捕获模式 */#define CM_1 1*0x4000 /* 上升延捕获模式 */#define CM_2 2*0x4000 /* 下降沿捕获模式 */#define CM_3 3*0x4000 /* 上升沿和下降沿都捕获模式 *//************************************************************* Timer B 定时器B寄存器定义************************************************************/#define TBIV_ 0x011E /* 中断向量寄存器:BIT1-BIT3有效 */ sfrw TBIV = TBIV_;#define TBCTL_ 0x0180 /* 定时器B控制寄存器:全部控制都集中在这 */sfrw TBCTL = TBCTL_;#define TBCCTL0_ 0x0182 /* 定时器B捕获/比较控制寄存器0*/ sfrw TBCCTL0 = TBCCTL0_;#define TBCCTL1_ 0x0184 /* 定时器B捕获/比较控制寄存器1 */ sfrw TBCCTL1 = TBCCTL1_;#define TBCCTL2_ 0x0186 /* 定时器B捕获/比较控制寄存器2 */ sfrw TBCCTL2 = TBCCTL2_;#define TBCCTL3_ 0x0188 /* 定时器B捕获/比较控制寄存器3 */ sfrw TBCCTL3 = TBCCTL3_;#define TBCCTL4_ 0x018A /* 定时器B捕获/比较控制寄存器4 */ sfrw TBCCTL4 = TBCCTL4_;#define TBCCTL5_ 0x018C /* 定时器B捕获/比较控制寄存器5 */ sfrw TBCCTL5 = TBCCTL5_;#define TBCCTL6_ 0x018E /* 定时器B捕获/比较控制寄存器6 */ sfrw TBCCTL6 = TBCCTL6_;#define TBR_ 0x0190 /* 计数器 */sfrw TBR = TBR_;#define TBCCR0_ 0x0192 /* 定时器B捕获/比较寄存器0 */sfrw TBCCR0 = TBCCR0_;#define TBCCR1_ 0x0194 /* 定时器B捕获/比较寄存器1 */sfrw TBCCR1 = TBCCR1_;#define TBCCR2_ 0x0196 /* 定时器B捕获/比较寄存器2 */sfrw TBCCR2 = TBCCR2_;#define TBCCR3_ 0x0198 /* 定时器B捕获/比较寄存器3 */sfrw TBCCR3 = TBCCR3_;#define TBCCR4_ 0x019A /* 定时器B捕获/比较寄存器4 */sfrw TBCCR4 = TBCCR4_;#define TBCCR5_ 0x019C /* 定时器B捕获/比较寄存器5 */sfrw TBCCR5 = TBCCR5_;#define TBCCR6_ 0x019E /* 定时器B捕获/比较寄存器6 */sfrw TBCCR6 = TBCCR6_;/* 定时器B控制寄存器:全部控制都集中在这 */#define SHR1 0x4000 /* 装载比较锁存器控制位1 :受TBCCTLx 中的CCLDx位控制 */#define SHR0 0x2000 /* 装载比较锁存器控制位0 :受TBCCTLx 中的CCLDx位控制*/#define TBCLGRP1 0x4000 /* 装载比较锁存器控制位1 :受TBCCTLx 中的CCLDx位控制*/#define TBCLGRP0 0x2000 /* 装载比较锁存器控制位0 :受TBCCTLx 中的CCLDx位控制*/#define CNTL1 0x1000 /* 定时器位数长度控制位1 */#define CNTL0 0x0800 /* 定时器位数长度控制位0 */#define TBSSEL2 0x0400 /* 未用 */#define TBSSEL1 0x0200 /* 时钟输入源控制位1 */#define TBSSEL0 0x0100 /* 时钟输入源控制位0 */#define TBCLR 0x0004 /* 置1清除定时器 */#define TBIE 0x0002 /* 中断允许 */#define TBIFG 0x0001 /* 中断标志 */#define TBSSEL_0 0*0x0100 /* 时钟源为:TBCLK */#define TBSSEL_1 1*0x0100 /* 时钟源为: ACLK */#define TBSSEL_2 2*0x0100 /* 时钟源为:SMCLK */#define TBSSEL_3 3*0x0100 /* 时钟源为:INCLK */#define CNTL_0 0*0x0800 /* 16 位计数模式*/#define CNTL_1 1*0x0800 /* 12 位计数模式*/#define CNTL_2 2*0x0800 /* 10 位计数模式 */#define CNTL_3 3*0x0800 /* 8 位计数模式 */#define SHR_0 0*0x2000 /* 单独装载(初始值) */#define SHR_1 1*0x2000 /* 分三组装载: 1 - 3 groups (1-2, 3-4, 5-6) */#define SHR_2 2*0x2000 /* 分二组装载: 2 - 2 groups (1-3, 4-6)*/#define SHR_3 3*0x2000 /* 不分组装载: 3 - 1 group (all) */#define TBCLGRP_0 0*0x2000 /* 单独装载(初始值) */#define TBCLGRP_1 1*0x2000 /* 分三组装载: 1 - 3 groups (1-2, 3-4, 5-6) */#define TBCLGRP_2 2*0x2000 /* 分二组装载: 2 - 2 groups (1-3, 4-6)*/#define TBCLGRP_3 3*0x2000 /* 不分组装载: 3 - 1 group (all) *//* Additional Timer B Control Register bits are defined in Timer A */#define SLSHR1 0x0400 /* Compare latch load source 1 */ #define SLSHR0 0x0200 /* Compare latch load source 0 */ #define CLLD1 0x0400 /* 定义比较锁存器TBCLx的装载方式控制位1 */#define CLLD0 0x0200 /* 定义比较锁存器TBCLx的装载方式控制位0 */#define SLSHR_0 0*0x0200 /* 立即装载 */#define SLSHR_1 1*0x0200 /* TBR 计数到0时装载 */#define SLSHR_2 2*0x0200 /* 在增减模式下,计数到TBCLx或0时装载; 在连续计数模式下,计数到0时装载 */#define SLSHR_3 3*0x0200 /* 当计数到TBCL0时装载*/#define CLLD_0 0*0x0200 /* 立即装载 */#define CLLD_1 1*0x0200 /* TBR 计数到0时装载 */#define CLLD_2 2*0x0200 /* 在增减模式下,计数到TBCLx或0时装载; 在连续计数模式下,计数到0时装载 */#define CLLD_3 3*0x0200 /* 当计数到TBCL0时装载 *//************************************************************* Basic Clock Module************************************************************/#define DCOCTL_ 0x0056 /* DCO 时钟频率控制寄存器 :复位后的值位060h*/sfrb DCOCTL = DCOCTL_;#define BCSCTL1_ 0x0057 /* 系统时钟控制寄存器1 :复位后的值位084h*/sfrb BCSCTL1 = BCSCTL1_;#define BCSCTL2_ 0x0058 /* 系统时钟控制寄存器2 :复位后的值位000h*/sfrb BCSCTL2 = BCSCTL2_;/* DCO 时钟频率控制寄存器 */#define MOD0 0x01 /* DCO插入周期控制位0 */#define MOD1 0x02 /* DCO插入周期控制位1 */#define MOD2 0x04 /* DCO插入周期控制位2 */#define MOD3 0x08 /* DCO插入周期控制位3 */#define MOD4 0x10 /* DCO插入周期控制位4 */#define DCO0 0x20 /* 8种频率控制位0 */#define DCO1 0x40 /* 8种频率控制位1 */#define DCO2 0x80 /* 8种频率控制位2 *//* 系统时钟控制寄存器1 :复位后的值位084h*/#define RSEL0 0x01 /* 选择内部电阻控制位0 */#define RSEL1 0x02 /* 选择内部电阻控制位1 */#define RSEL2 0x04 /* 选择内部电阻控制位2 */#define XT5V 0x08 /* 必须为0*/#define DIVA0 0x10 /* ACLK分频系数控制位0*/#define DIVA1 0x20 /* ACLK分频系数控制位1 */#define XTS 0x40 /* LFXT1工作模式控制位 0:低频模式. / 1: 高频模式. */#define XT2OFF 0x80 /* XT2CLK 使能控制位 0:开启; 1:关闭 */#define DIVA_0 0x00 /* ACLK分频系数为: 1 */#define DIVA_1 0x10 /* ACLK分频系数为: 2 */#define DIVA_2 0x20 /* ACLK分频系数为: 4 */#define DIVA_3 0x30 /* ACLK分频系数为: 8 *//* 系统时钟控制寄存器2 :复位后的值位000h*/#define DCOR 0x01 /* 内外电阻选择控制位 */#define DIVS0 0x02 /* SMCLK分频控制位0*/#define DIVS1 0x04 /* SMCLK分频控制位1 */#define SELS 0x08 /* SMCLK 时钟源选择位t 0:DCOCLK / 1:XT2CLK/LFXTCLK */#define DIVM0 0x10 /* MCLK分频控制位0 */#define DIVM1 0x20 /* MCLK分频控制位1 */#define SELM0 0x40 /* MCLK 时钟输入源选择位0 */#define SELM1 0x80 /* MCLK 时钟输入源选择位1 */#define DIVS_0 0x00 /* SMCLK 分频系数为: 1 */#define DIVS_1 0x02 /* SMCLK 分频系数为: 2 */#define DIVS_2 0x04 /* SMCLK 分频系数为: 4 */#define DIVS_3 0x06 /* SMCLK 分频系数为: 8 */#define DIVM_0 0x00 /* MCLK 分频系数为: 1 */#define DIVM_1 0x10 /* MCLK 分频系数为: 2 */#define DIVM_2 0x20 /* MCLK 分频系数为: 4 */#define DIVM_3 0x30 /* MCLK 分频系数为: 8 */#define SELM_0 0x00 /* MCLK 时钟输入源: DCOCLK */#define SELM_1 0x40 /* MCLK 时钟输入源: DCOCLK */#define SELM_2 0x80 /* MCLK 时钟输入源: XT2CLK/LFXTCLK */ #define SELM_3 0xC0 /* MCLK 时钟输入源: LFXTCLK *//************************************************************** Flash Memory FLASH操作寄存器定义*************************************************************/#define FCTL1_ 0x0128 /* FLASH控制寄存器1:控制编程、擦除*/sfrw FCTL1 = FCTL1_;#define FCTL2_ 0x012A /* FLASH 控制寄存器2 :控制时钟分频*/sfrw FCTL2 = FCTL2_;#define FCTL3_ 0x012C /* FLASH 控制寄存器3:状态标志 */ sfrw FCTL3 = FCTL3_;#define FRKEY 0x9600 /* 读FLASH 密码 */#define FWKEY 0xA500 /* 写FLASH 密码 */#define FXKEY 0x3300 /* for use with XOR instruction *//* FLASH控制寄存器1:控制编程、擦除 */#define ERASE 0x0002 /* 擦除段使能 */ #define MERAS 0x0004 /* 主存擦除使能 */ #define WRT 0x0040 /* 编程使能 */#define BLKWRT 0x0080 /* 段编程使能 */ /* FLASH 控制寄存器2 :控制时钟分频*/#define FN_0 0x0000 /*直通 */#define FN_1 0x0001 /*2分频 */#define FN_2 0x0002 /*3分频*/#define FN_3 0x0003 /*4分频 */#define FN_4 0x0004 /*5分频 */#define FN_5 0x0005 /*6分频*/#define FN_6 0x0006 /*7分频 */#define FN_7 0x0007 /*8分频*/#define FN_8 0x0008 /*9分频 */#define FN_9 0x0009 /*10分频 */#define FN_10 0x000A /*11分频*/#define FN_11 0x000B /*12分频 */#define FN_12 0x000C /*13分频*/#define FN_13 0x000D /*14分频 */#define FN_14 0x000E /*15分频 */#define FN_15 0x000F /*16分频*/#define FN_16 0x0010 /*17分频 */#define FN_17 0x0011 /*18分频*/#define FN_18 0x0012 /*19分频 */#define FN_19 0x0013 /*20分频 */#define FN_20 0x0014 /*21分频*/#define FN_21 0x0015 /*22分频 */#define FN_22 0x0016 /*23分频*/#define FN_23 0x0017 /*24分频 */#define FN_24 0x0018 /*25分频 */#define FN_25 0x0019 /*26分频*/#define FN_26 0x001A /*27分频 */#define FN_27 0x001B /*28分频*/#define FN_28 0x001C /*29分频 */#define FN_29 0x001D /*30分频 */#define FN_30 0x001E /*31分频*/#define FN_31 0x001F /*32分频 */#define FN_32 0x0020 /*33分频*/#define FN_33 0x0021 /*34分频 */#define FN_34 0x0022 /*35分频 */#define FN_35 0x0023 /*36分频*/#define FN_36 0x0024 /*37分频 */#define FN_37 0x0025 /*38分频*/#define FN_38 0x0026 /*39分频 */#define FN_39 0x0027 /*40分频 */#define FN_40 0x0028 /*41分频*/#define FN_41 0x0029 /*42分频 */#define FN_42 0x002A /*43分频*/#define FN_43 0x002B /*44分频 */#define FN_44 0x002C /*45分频 */#define FN_45 0x002D /*46分频*/#define FN_46 0x002E /*47分频 */#define FN_47 0x002F /*48分频*/#define FN_48 0x0030 /*49分频 */#define FN_49 0x0031 /*50分频 */#define FN_50 0x0032 /*51分频*/#define FN_51 0x0033 /*52分频 */#define FN_52 0x0034 /*53分频*/#define FN_53 0x0035 /*54分频 */#define FN_54 0x0036 /*55分频 */#define FN_55 0x0037 /*56分频*/#define FN_56 0x0038 /*57分频 */#define FN_57 0x0039 /*58分频*/#define FN_58 0x003A /*59分频 */#define FN_59 0x003B /*60分频 */#define FN_60 0x003C /*61分频*/#define FN_61 0x003D /*62分频 */#define FN_62 0x003E /*63分频*/#define FN_63 0x003F /*64分频 */#define FSSEL_0 0x0000 /* Flash时钟选择: ACLK */#define FSSEL_1 0x0040 /* Flash时钟选择: MCLK */#define FSSEL_2 0x0080 /* Flash时钟选择: SMCLK */ #define FSSEL_3 0x00C0 /* Flash时钟选择: SMCLK */ /* FLASH 控制寄存器3:状态标志 */#define BUSY 0x0001 /* Flash忙标志*/#define KEYV 0x0002 /* Flash安全键值出错标志 */ #define ACCVIFG 0x0004 /* Flash非法访问中断标志*/ #define WAIT 0x0008 /* 等待指示信号位*/#define LOCK 0x0010 /* 锁定位 */#define EMEX 0x0020 /* 紧急退出位 *//************************************************************ * Comparator A 比较器A寄存器定义************************************************************/#define CACTL1_ 0x0059 /* 比较器A控制寄存器1 */ sfrb CACTL1 = CACTL1_;#define CACTL2_ 0x005A /* 比较器A控制寄存器2 */sfrb CACTL2 = CACTL2_;#define CAPD_ 0x005B /*比较器A端口禁止寄存器*/sfrb CAPD = CAPD_;/* 比较器A控制寄存器1 */#define CAIFG 0x01 /*比较器A中断标志*/#define CAIE 0x02 /* 比较器A中断使能 */#define CAIES 0x04 /* 比较器A中断边沿触发选择 0:上升延 1:下降延 */#define CAON 0x08 /* 比较器电源开关*/#define CAREF0 0x10 /* 选择参考源位0 */#define CAREF1 0x20 /* 选择参考源位1 */#define CARSEL 0x40 /* 选择内部参考源加到比较器的正端或负端 */#define CAEX 0x80 /* 交换比较器的输入端 */#define CAREF_0 0x00 /* 选择参考源0 : Off 使用外部参考源*/#define CAREF_1 0x10 /* 选择参考源1 : 0.25*Vcc为参考源*/#define CAREF_2 0x20 /* 选择参考源2 : 0.5*Vcc为参考源 */ #define CAREF_3 0x30 /* 选择参考源3 : Vt*//* 比较器A控制寄存器2 */#define CAOUT 0x01 /* 比较器输出 */#define CAF 0x02 /* 选择比较器是否经过RC低通滤波器*/#define P2CA0 0x04 /* 外部引脚信号连接到比较器A的CA0 */#define P2CA1 0x08 /* 外部引脚信号连接到比较器A的CA1 */#define CACTL24 0x10#define CACTL25 0x20#define CACTL26 0x40#define CACTL27 0x80#define CAPD0 0x01 /* Comp. A Disable Input Buffer of Port Register .0 */#define CAPD1 0x02 /* Comp. A Disable Input Buffer of Port Register .1 */#define CAPD2 0x04 /* Comp. A Disable Input Buffer of Port Register .2 */#define CAPD3 0x08 /* Comp. A Disable Input Buffer of Port Register .3 */#define CAPD4 0x10 /* Comp. A Disable Input Buffer ofPort Register .4 */#define CAPD5 0x20 /* Comp. A Disable Input Buffer of Port Register .5 */#define CAPD6 0x40 /* Comp. A Disable Input Buffer of Port Register .6 */#define CAPD7 0x80 /* Comp. A Disable Input Buffer of Port Register .7 */系统分类: 单片机用户分类: 程序设计『C/C++』『VB』标签: 无标签来源: 转贴发表评论阅读全文(1068) | 回复(0)1(ZT)MSP430x149头文件详解※二发表于 2008/5/14 20:43:17/************************************************************* USART 串口寄存器"UCTL","UTCTL","URCTL"定义的各个位可串口1 串口2公用************************************************************//* UCTL 串口控制寄存器*/#define PENA 0x80 /*校验允许位*/#define PEV 0x40 /*偶校验为0时为奇校验*/#define SPB 0x20 /*停止位为2 为0时停止位为1*/ #define CHAR 0x10 /*数据位为8位为0时数据位为7位*/#define LISTEN 0x08 /*自环模式(发数据同时在把发的数据接收回来)*/#define SYNC 0x04 /*同步模式为0异步模式*/#define MM 0x02 /*为1时地址位多机协议(异步) 主机模式(同步);为0时线路空闲多机协议(异步) 从机模式(同步)*/#define SWRST 0x01 /*控制位*//* UTCTL 串口发送控制寄存器*/#define CKPH 0x80 /*时钟相位控制位(只同步方式用)为1时时钟UCLK延时半个周期*/#define CKPL 0x40 /*时钟极性控制位为1时异步与UCLK相反;同步下降延有效*/#define SSEL1 0x20 /*时钟源选择位:与SSEL0组合为0,1,2,3四种方式*/#define SSEL0 0x10 /*"0"选择外部时钟,"1"选择辅助时钟,"2","3"选择系统子时钟 */#define URXSE 0x08 /*接收触发延控制位(只在异步方式下用)*/#define TXWAKE 0x04 /*多处理器通信传送控制位(只在异步方式下用)*/#define STC 0x02 /*外部引脚STE选择位为0时为4线模式为1时为3线模式*/#define TXEPT 0x01 /*发送器空标志*//* URCTL 串口接收控制寄存器同步模式下只用两位:FE和OE*/#define FE 0x80 /*帧错标志*/#define PE 0x40 /*校验错标志位*/#define OE 0x20 /*溢出标志位*/#define BRK 0x10 /*打断检测位*/#define URXEIE 0x08 /*接收出错中断允许位*/#define URXWIE 0x04 /*接收唤醒中断允许位*/#define RXWAKE 0x02 /*接收唤醒检测位*/#define RXERR 0x01 /*接收错误标志位*//************************************************************* USART 0 串口0寄存器定义************************************************************/#define U0CTL_ 0x0070 /* 串口0基本控制寄存器 */sfrb U0CTL = U0CTL_;#define U0TCTL_ 0x0071 /* 串口0发送控制寄存器 */sfrb U0TCTL = U0TCTL_;#define U0RCTL_ 0x0072 /* 串口0接收控制寄存器 */sfrb U0RCTL = U0RCTL_;#define U0MCTL_ 0x0073 /* 波特率调整寄存器 */sfrb U0MCTL = U0MCTL_;#define U0BR0_ 0x0074 /* 波特率选择寄存器0 */sfrb U0BR0 = U0BR0_;#define U0BR1_ 0x0075 /* 波特率选择寄存器1 */sfrb U0BR1 = U0BR1_;#define U0RXBUF_ 0x0076 /* 接收缓存寄存器 */const sfrb U0RXBUF = U0RXBUF_;#define U0TXBUF_ 0x0077 /* 发送缓存寄存器 */sfrb U0TXBUF = U0TXBUF_;/* 改变的寄存器名定义 */#define UCTL0_ 0x0070 /* UART 0 Control */sfrb UCTL0 = UCTL0_;#define UTCTL0_ 0x0071 /* UART 0 Transmit Control */ sfrb UTCTL0 = UTCTL0_;#define URCTL0_ 0x0072 /* UART 0 Receive Control */sfrb URCTL0 = URCTL0_;#define UMCTL0_ 0x0073 /* UART 0 Modulation Control */ sfrb UMCTL0 = UMCTL0_;#define UBR00_ 0x0074 /* UART 0 Baud Rate 0 */sfrb UBR00 = UBR00_;#define UBR10_ 0x0075 /* UART 0 Baud Rate 1 */sfrb UBR10 = UBR10_;#define RXBUF0_ 0x0076 /* UART 0 Receive Buffer */ const sfrb RXBUF0 = RXBUF0_;#define TXBUF0_ 0x0077 /* UART 0 Transmit Buffer */sfrb TXBUF0 = TXBUF0_;#define UCTL_0_ 0x0070 /* UART 0 Control */sfrb UCTL_0 = UCTL_0_;#define UTCTL_0_ 0x0071 /* UART 0 Transmit Control */ sfrb UTCTL_0 = UTCTL_0_;#define URCTL_0_ 0x0072 /* UART 0 Receive Control */ sfrb URCTL_0 = URCTL_0_;#define UMCTL_0_ 0x0073 /* UART 0 Modulation Control */ sfrb UMCTL_0 = UMCTL_0_;#define UBR0_0_ 0x0074 /* UART 0 Baud Rate 0 */sfrb UBR0_0 = UBR0_0_;#define UBR1_0_ 0x0075 /* UART 0 Baud Rate 1 */sfrb UBR1_0 = UBR1_0_;#define RXBUF_0_ 0x0076 /* UART 0 Receive Buffer */ const sfrb RXBUF_0 = RXBUF_0_;#define TXBUF_0_ 0x0077 /* UART 0 Transmit Buffer */ sfrb TXBUF_0 = TXBUF_0_;/************************************************************* USART 1 串口1寄存器定义************************************************************/#define U1CTL_ 0x0078 /* 串口1基本控制寄存器 */sfrb U1CTL = U1CTL_;#define U1TCTL_ 0x0079 /* 串口1发送控制寄存器 */sfrb U1TCTL = U1TCTL_;#define U1RCTL_ 0x007A /* 串口1接收控制寄存器 */sfrb U1RCTL = U1RCTL_;#define U1MCTL_ 0x007B /* 波特率调整控制寄存器 */sfrb U1MCTL = U1MCTL_;#define U1BR0_ 0x007C /* 波特率选择寄存器0 */sfrb U1BR0 = U1BR0_;#define U1BR1_ 0x007D /* 波特率选择寄存器1 */sfrb U1BR1 = U1BR1_;#define U1RXBUF_ 0x007E /* 接收缓存 */const sfrb U1RXBUF = U1RXBUF_;#define U1TXBUF_ 0x007F /* 发送缓存 */sfrb U1TXBUF = U1TXBUF_;/* 改变的寄存器名定义 */#define UCTL1_ 0x0078 /* UART 1 Control */sfrb UCTL1 = UCTL1_;#define UTCTL1_ 0x0079 /* UART 1 Transmit Control */ sfrb UTCTL1 = UTCTL1_;#define URCTL1_ 0x007A /* UART 1 Receive Control */sfrb URCTL1 = URCTL1_;#define UMCTL1_ 0x007B /* UART 1 Modulation Control */ sfrb UMCTL1 = UMCTL1_;#define UBR01_ 0x007C /* UART 1 Baud Rate 0 */sfrb UBR01 = UBR01_;#define UBR11_ 0x007D /* UART 1 Baud Rate 1 */sfrb UBR11 = UBR11_;#define RXBUF1_ 0x007E /* UART 1 Receive Buffer */ const sfrb RXBUF1 = RXBUF1_;#define TXBUF1_ 0x007F /* UART 1 Transmit Buffer */sfrb TXBUF1 = TXBUF1_;#define UCTL_1_ 0x0078 /* UART 1 Control */sfrb UCTL_1 = UCTL_1_;#define UTCTL_1_ 0x0079 /* UART 1 Transmit Control */ sfrb UTCTL_1 = UTCTL_1_;#define URCTL_1_ 0x007A /* UART 1 Receive Control */ sfrb URCTL_1 = URCTL_1_;#define UMCTL_1_ 0x007B /* UART 1 Modulation Control */ sfrb UMCTL_1 = UMCTL_1_;#define UBR0_1_ 0x007C /* UART 1 Baud Rate 0 */sfrb UBR0_1 = UBR0_1_;#define UBR1_1_ 0x007D /* UART 1 Baud Rate 1 */sfrb UBR1_1 = UBR1_1_;#define RXBUF_1_ 0x007E /* UART 1 Receive Buffer */ const sfrb RXBUF_1 = RXBUF_1_;#define TXBUF_1_ 0x007F /* UART 1 Transmit Buffer */ sfrb TXBUF_1 = TXBUF_1_;/************************************************************* Timer A 定时器A寄存器定义************************************************************/#define TAIV_ 0x012E /* Timer A 中断向量寄存器 */sfrw TAIV = TAIV_;#define TACTL_ 0x0160 /* Timer A 控制寄存器 */sfrw TACTL = TACTL_;#define TACCTL0_ 0x0162 /* Timer A 捕获/比较控制寄存器0 */ sfrw TACCTL0 = TACCTL0_;#define TACCTL1_ 0x0164 /* Timer A 捕获/比较控制寄存器1 */ sfrw TACCTL1 = TACCTL1_;#define TACCTL2_ 0x0166 /* Timer A 捕获/比较控制寄存器2 */ sfrw TACCTL2 = TACCTL2_;#define TAR_ 0x0170 /* Timer A 16位计数器内容*/sfrw TAR = TAR_;#define TACCR0_ 0x0172 /* Timer A 捕获/比较寄存器0 */sfrw TACCR0 = TACCR0_;#define TACCR1_ 0x0174 /* Timer A 捕获/比较寄存器1 */sfrw TACCR1 = TACCR1_;#define TACCR2_ 0x0176 /* Timer A 捕获/比较寄存器2 */sfrw TACCR2 = TACCR2_;/* 改变的寄存器名定义 */#define CCTL0_ 0x0162 /* Timer A Capture/Compare Control 0 */sfrw CCTL0 = CCTL0_;#define CCTL1_ 0x0164 /* Timer A Capture/Compare Control 1 */sfrw CCTL1 = CCTL1_;#define CCTL2_ 0x0166 /* Timer A Capture/Compare Control 2 */sfrw CCTL2 = CCTL2_;#define CCR0_ 0x0172 /* Timer A Capture/Compare 0 */ sfrw CCR0 = CCR0_;#define CCR1_ 0x0174 /* Timer A Capture/Compare 1 */ sfrw CCR1 = CCR1_;#define CCR2_ 0x0176 /* Timer A Capture/Compare 2 */ sfrw CCR2 = CCR2_;/*TACTL 控制寄存器 16个位寄存器定义*/#define TASSEL2 0x0400 /* 未用 */#define TASSEL1 0x0200 /* 时钟输入源控制位1 */#define TASSEL0 0x0100 /* 时钟输入源控制位0 */#define ID1 0x0080 /* 分频系数选择位1 */。

相关文档
最新文档