MSP430课件3.3通用输入输出端口

合集下载

单片机实验 P3.3口输入,P1口输出

单片机实验   P3.3口输入,P1口输出

实验一P3.3口输入,P1口输出一、实验目的1、掌握P3口、P1口简单使用2、学习Keil,Proteus软件使用二、实验说明本次实验用外中断1的中断方式控制P1口8位LED亮灭状态,即第一次按下S键时,8位LED点亮,再次按下S时,8位LED熄灭,如此循环。

三、实验线路图四、实验步骤1、先建立文件夹“ex1”,然后建立“ex1”工程项目,最后建立源程序文件“ex1.c”,输入如下源程序;/*******************************************实验1:P3.3输入,P1口输出******************************************///用外中断1的中断方式进行数据采集#include<reg51.h>sbit S=P3^3;/*******************************************函数功能:主函数******************************************/void main(void){EA=1;EX1=1;IT1=1;P1=0xff;while(1); //无限循环,防止程序跑飞}/**************************************************************函数功能:外中断T1的中断服务程序**************************************************************/void int1(void) interrupt 2 using 0{P1=~P1;}2、用Proteus软件仿真经过Keil软件编译通过后,可利用Proteus软件仿真。

在Proteus ISIS编辑环境中绘制仿真电路图。

打开配套实验1仿真原理图文件“ex1.DSN”,将编译好的“ex1.hex”文件载入AT89C51。

MSP430F5系列中文手册 IO 输入输出端口

MSP430F5系列中文手册 IO 输入输出端口

MSP430F5系列16位超低功耗单片机模块原理第7章IO 输入输出端口版本: 1.0日期: 2008.7.原文: TI slau208.pdf (5xxfamily User's Guide)翻译: 王浩武汉大学编辑: DC 微控技术论坛版主注:以下文章是翻译TI slau208.pdf 文件中的部分内容。

由于我们翻译水平有限,有整理过程中难免有所不足或错误;所以以下内容只供参考.一切以原文为准。

文章更新详情请密切留意微控技术论坛。

Page 1 of 12第七章IO 输入输出端口本章描述了数字IO接口的操作。

在所有的5系列MSP430单片机供了数字IO接口。

主题7.1 数字IO接口介绍7.2 数字IO接口的操作7.3 数字IO接口寄存器7.1 数字IO接口介绍5系列的MSP430最多可以提供12路数字IO接口,P1到P11和PJ。

大部分接口都有8个管脚,但是有些接口会少于8个管脚。

可以参考说明文档中关于接口的章节。

每个I/O管脚都可以独立的设置为输入或者输出方向,并且每个I/O接线都可以被独立的读取或者写入。

所有接口的寄存器都可以被独立的置位或者清零,就像设置驱动能力一样。

P1和P2接口具中断功能。

从P1和P2接口的各个I/O管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿出发中断。

所有的P1接口的I/O管脚的中断都来源于同一个中断向量P1IV,并且P2接口的中断都来源于另外一个中断向量P2IV。

在一些MSP430x5xx单片机中,附加的接口也具有中断功能。

详细说明请查阅芯片的说明文档。

每个独立的接口可以作为字节长度端口访问或者结合起来作为字长度端口进行访问。

端口配对P1/P2、P3/P4、P5/P6、P7/P8等联合起来分别叫做PA、PB、PC、PD等。

当进行字操作写入PA口时,所有的16为都被写入这个端口。

利用字节操作写入PA口的低字节时,高字节保持不变。

相似地,使用字节指令写入PA口高字节时,低字节保持不变。

3.6V 至6V 输入,3.3V 输出,微型高效率DC DC 转换器

3.6V 至6V 输入,3.3V 输出,微型高效率DC DC 转换器
摘要
本参考设计旨在帮助尝试将 MSP430 用于输入电压范围为 3.6V 至 6V 的系统,并以将解决方案尺寸降到最小以及保持高效率和长电池续航时间为主要设计目标的应用设计工程师 和其他工程师。
内容
1 特性 ........................................................................................................................... 2 2 简介 ........................................................................................................................... 2 3 要求 ........................................................................................................................... 3 4 材料清单 ...................................................................................................................... 5 5 测试结果 ...................................................................................................................... 6

2 简介
本参考设计用于 MSP430 微控制器系列,并且解决这里所述的电压和电流要求。 MSP430 器件仅需单个 3.3V 输入;无需进行时序控制。 本参考设计的工作输入电压范围为 3.6 V 至 6.0 V。本设计已针对小型解决方案尺寸、低元器件数和高效率进行优化。

MSP430中关于输入输出端口

MSP430中关于输入输出端口

输入输出端口输入寄存器:P1IN,P2IN输出寄存器:P1OUT,P2OUT方向寄存器:P1DIR,P2DIR功能选择寄存器:P1SEL,P2SEL1.PxIN、PxOUT、PxDIR、PxSELx为端口号。

IN为端口输入寄存器,OUT为端口输出寄存器,DIR为端口方向控制寄存器,SEL为端口第二功能选择寄存器。

举例:Moon=P1IN;//读端口P1的值,赋给变量MoonP3Out=5;//P3端口输出5P2DIR=0xF0;//P2端口的高4位为输出,低4位为输入P6SEL=0xF;//P6端口的高4位用作I/O端口,低4位用于第二功能P1OUT|=BIT0;//将P1口的最低位输出置1P1OUT&=~BIT7;//将P1口的最高位输出清0,P1口只有8位P1OUT=4;P1.2引脚输出高电平,P1其余引脚输出低电平;P1OUT|=4;P1.2置高电平,P1其余引脚不变;P1OUT&=~8;即P1OUT&=0xf7,P1.3置低电平,P1其余引脚不变;|是或运算符,&是与运算符,具体请参考C语言应用运算符部分!2.BITxx的取值范围为0~F。

代表寄存器的某一位。

其定义为:#define BIT0(0x0001)#define BIT1(0x0002)...#define BITE(0x4000)#define BITF(0x8000)BIT0为最低位,BITF为最高位。

MSP430是不支持位操作的,如果想对位操作,最好的方法就是通过位屏蔽来实现。

举例:P1OUT|=BIT0;//将P1口的最低位输出置1P1OUT&=~BIT7;//将P1口的最高位输出清0,P1口只有8位。

Msp430x14x系列单片机引脚说明

Msp430x14x系列单片机引脚说明
P3.2/SOMI0
30
I/O
通用数字I/O引脚 / USART0/SPI模式的从输出或主输入
P3.3/UCLK0
31
I/O
通用数字I/O引脚 / 外部时钟输入--USART0/UART或SPI模式,时钟输出--USART0/SPI模式
P3.4/UTXD0
32
I/O
通用数字I/O引脚 / 发送数据输出--USART0/UART模式
P3.5/URXD0
33
I/O
通用数字I/O引脚 / 发送数据输入--USART0/UART模式
P3.6/UTXD1
34
I/O
通用数字I/O引脚 / 发送数据输出--USART1/UART模式
P3.7/URXD1
35
I/O
通用数字I/O引脚 / 发送数据输入--USART1/UART模式
P4.0/TB0
P6.5/A5
4
I/O
通用数字I/O引脚 / 12位A/D转换器模拟输入通道5
P6.6/A6
5
I/O
通用数字I/O引脚 / 12位A/D转换器模拟输入通道6
P6.7/A7
6
I/O
通用数字I/O引脚 / 12位A/D转换器模拟输入通道7
RET/NMI
58
I
复位输入/不可屏蔽中断输入口,或自动加载程序启动
P5.5/SMCLK
49
I/O
通用数字I/O引脚 / 子系统时钟SMCLK输出
P5.6/ACLK
50
I/O
通用数字I/O引脚 / 辅助时钟ACLK输出
P5.7/TBOUTH
51
I/O
通用数字I/O引脚 / 切换所有的PWM数字输出口为高阻抗--定时器B_3 TB0__TB2

msp430 通用IO口

msp430 通用IO口

通用IO口3.2.1 IO口IO口是微处理器系统对外界沟通的最基本部件,从基本的键盘、LED到复杂的外设芯片等,都是通过IO口的输入输出操作来进行的。

在MSP430系列中,不同的单片机IO口数量不同。

体积最小的MSP430F20xx系列中只有10个IO口,适合在超小型设备中应用;功能最丰富的MSP430FG46xx系列中多达80多个IO 口,足够应付外部设备繁多的复杂应用。

在MSP430G2553单片机中,共有16个IO口,属于IO口较少的系列。

3.2.2 IO寄存器和大部分单片机类似,MSP430系列单片机也是将8个IO口编为一组。

每个IO口有四个控制寄存器,P1和P2还有额外的3个中断寄存器。

寄存器情况可参见表3.2。

PxDIR寄存器用于设置每一位的IO口方向MSP430单片机的IO口是双向IO口:0=输入 1=输出。

在使用IO口时首先要选择寄存器来设置每个IO口方向。

例如下面的语句:P1DIR |= BIT1+BIT3+BIT4;P1DIR |= ~(BIT5+BIT6+BIT7);以上语句将P1.1,P1.3和P1.4的方向置为输出,P1.5,P1.6和P1.7的方向置为输入。

PxDIR寄存器在复位的过程中会被清零,没有被设置的IO口方向均为输入状态,所以第二句可以省略。

注意,将未用的IO口置为输出可减小漏电流。

对于所有已经设成输出的IO口可通过PxOUT寄存器设置其输出电平;对于所有已经被设成输入的IO口,可通过PxIN寄存器读回其输入电平。

PxSEl寄存器用于设置每一位IO口的功能:0=普通IO口,1=第二功能。

在MSP430系列单片机中,很多内部功能模块也需要和外界进行数据交换,为了不增加芯片的管脚数量,大部分都和IO口管脚复用,这就导致MSP430系列单片机的大多数IO管脚都具有第二功能。

通过PxSEL可以指定某些IO口作为第二功能使用。

如MSP430G2553中P1.1和RXD,P1.2和TXD复用。

MSP430单片机的端口介绍

MSP430单片机的端口介绍

MSP430单片机的端口介绍MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。

MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。

端口P1`P6的每一位都可以独立用于输入/输出,即具有位寻址功能。

常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。

由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。

端口的功能。

(1)P1,P2端口:I/O,中断功能,其他片内外设功能如定时器、比较器;(2)P3,P4P5P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等;(3)S,COM端口:I/O,驱动液晶。

MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。

其中P1,P2具有7个寄存器,P3~P6具有4个寄存器。

通过设置寄存器我们可以实现:(1)每个I/O位独立编程;(2)任意组合输入,输出和中断;(3)P1,P2所有8个位全部可以用作外部中断处理;(4)可以使用所以指令对寄存器操作;(5)可以按字节输入、输出,也可按位进行操作。

端口P1,P2的功能可以通过它们的7个控制寄存器来实现。

这里,Px代表P1或P2。

(1)PxDIR:输入/输出方向寄存器。

8位相互独立,可以分别定义8个引脚的输入/输出方向。

8位再PUC后都被复位。

使用输入/输出功能时,应该先定义端口的方向。

作为输入时只能读,作为输出时,可读可写。

0:输入模式;1:输出模式。

如:P1DIR|=BIT4; //P1.4输出,P2DIR=0XF0; //高4位输出,低4位输入。

(2)PXIN:输入寄存器,为只读寄存器。

P3.3输入、P1口输出

P3.3输入、P1口输出

目的1P3口、P1口简单使用。

2内容一、实验内容1P33口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

2P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。

二、实验说明1P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2DELAY :MOV R6, #00HDELAY1:MOV R7, #80HDJNZ R7, $DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms四、实验步骤①P33用插针连至K1,P10—P17用插针连至L1—L8。

②从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。

③开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。

〖LM〗程序ORG 0000HLJMP HA1SORG 1541HHA1S: MOV A,#00HHA1S1: JB P3.3,HA1S1MOV R2,#20HLCALL DELAYJB P3.3,HA1S1HA1S2: JNB P3.3,HA1S2MOV R2,#20HLCALL DELAYJNB P3.3,HA1S2INC APUSH ACC;CPL AMOV P1,APOP ACCAJMP HA1S1 DELAY: PUSH 02H DELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3 POP 02HDJNZ R2,DELAY2POP 02HDJNZ R2,DELAY1POP 02HDJNZ R2,DELAYRETEND原理。

MSP430单片机输入与输出

MSP430单片机输入与输出

MSP430单片机输入与输出
MSP430 单片机的输入输出线绝大多数是服用的,除了个别的端口外,基
本上是8 为为一组,不同的型号的MSP430 的端口有所不同,就msp430F5438 而言,一共有11 个I/O 端口,其中除了第十一P11 的宽度是3 位以外,其他的端口全是8 为宽度,为了方便使用,分别命名为PA,PB,PC,,分别对应
P1,P2P3
值得注意的是MSP430F5438 单片机的P1 和P2 端口还具有申请中断的功能,而其他的端口则无此功能
每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口
都有自己的输入输出寄存器,MSP430F5438 海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标志位
示例代码:
驱动实验板上的蜂鸣器
#include#include”for_5438_wjx.c”void delayms(int x){int i,j;for(i=0;iView Code 但是这个程序在板子上没有跑起来,所以还需要今后来改正~~~
今天因为点亮了led,所以蜂鸣器的程序也写出来了,这个程序出现错误的
原因是错以为蜂鸣器的VCC 是开发板自动接上去的,结果就忘记写这条代码put_P5DIR_BIT4(1); // 主电源P5.4 put_P5OUT_BIT4(1); //打开外设电源
加入代码后,蜂鸣器响了
示例代码:
#include#include”for_5438_wjx.c”void delayms(int x){int i,j;for(i=0;iView Codetips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

第三章 MSP430基本外设3(通用输入输出端口)

第三章 MSP430基本外设3(通用输入输出端口)
3.3 通用输入输出端口
(General Purpose Input & Output)
本节内容
• GPIO 概述 • MSP430的GPIO 特点 • MSP430 GPIO 寄存器 • GPIO 官方库函数 • GPIO 应用示例
GPIO 概述 (1/4)
• GPIO
GPIO (General Purpose I/O),通用输入输出端口。它是 MSP430最简单的集成外设。输入/输出端口可配置为可中 断型和不可中断型。
GPIO 寄存器(4/9)

PxREN 上拉或下拉电阻使能寄存器
PxREN寄存器中的每一位可使能或禁用相应I/O引脚的 上拉/下拉电阻。
PxREN 配置: Bit = 1: 使能上拉/下拉电阻; Bit = 0: 禁用上拉/下拉电阻。
注意:先设置上拉或下拉使能寄存器PxREN,置1使能, 使能后通过PxOUT设置上拉还是下拉。
引脚下拉
VCC R 引脚 Px.x R
GPIO 寄存器(5/9)

PxSEL 功能选择寄存器
I/O端口还具有其他片内外设功能,为减少引脚,将这 些外设功能与I/O端口引脚复用来实现。
PxSEL来选择引脚的I/O端口功能与外围模块功能。 PxSEL的配置: Bit = 0: 选择引脚为I/O端口; Bit = 1: 选择引脚为外设功能。 例:P1SEL |= 0x01; //表示P1端口的P1.0引脚设置为外 设功能
GPIO_clearInterruptFlag() // 清除中断标志位
GPIO_getInterruptStatus() // 获取中断状态 GPIO_interruptEdgeSelect() // 选择中断沿
GPIO 官方库函数(4/4)

第三章MSP430 基本外设

第三章MSP430 基本外设

3). 时钟系统模块提供3种时钟信号
ACLK 辅助时钟 ACLK一般用于低速外设模块. MCLK 系统主时钟 MCLK主要用于CPU和系统. SMCLK 子系统时钟 主要用于高速外设模块. ACLK、MCLK、SMCLK均可通过软件 从XT1CLK 、VLOCLK 、REFOCLK 、 DCOCLK、DCOCLKDIV、XT2CLK这 6个时钟源中选择,经1/2/4/8/16/32 分频得到。
#include "in430.h" #define #define #define #define #define #define #define #define #define #define LPM0 LPM0_EXIT LPM1 LPM1_EXIT LPM2 LPM2_EXIT LPM3 LPM3_EXIT LPM4 LPM4_EXIT _BIS_SR(LPM0_bits) /* Enter Low Power Mode 0 */ _BIC_SR_IRQ(LPM0_bits) /* Exit Low Power Mode 0 */ _BIS_SR(LPM1_bits) /* Enter Low Power Mode 1 */ _BIC_SR_IRQ(LPM1_bits) /* Exit Low Power Mode 1 */ _BIS_SR(LPM2_bits) /* Enter Low Power Mode 2 */ _BIC_SR_IRQ(LPM2_bits) /* Exit Low Power Mode 2 */ _BIS_SR(LPM3_bits) /* Enter Low Power Mode 3 */ _BIC_SR_IRQ(LPM3_bits) /* Exit Low Power Mode 3 */ _BIS_SR(LPM4_bits) /* Enter Low Power Mode 4 */ _BIC_SR_IRQ(LPM4_bits) /* Exit Low Power Mode 4 */

MSP430课件(二)

MSP430课件(二)
慢速外设
CPU和
系统
快速外设 时钟输出信号 ACLK 辅助时钟 MCLK主系统时钟 SMCLK子系统时钟
MSP430--6 --
振荡器控制逻辑
LFXT1
振荡器控制 逻辑
XT2振荡器控
制逻辑
DCO振荡器
控制逻辑
MSP430--7 --
DCO频率的调节 频率的调节
MSP430--8 --
基础时钟模块工作方式和相关寄存器设置
设计外设时的常规原则: 设计外设时的常规原则:
将不用的FETI输入端连接到VSS JTAG端口TMS、TCK和TDI不要连接到VSS CMOS输入端不能有浮空节点,将所有输入端接适当的电平 输入端不能有浮空节点, 不论对于内核还是对于各外围模块,选择尽可能低的运行频率, 不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自 动关机
XT2 DCOCLK, MCLK由 输出。 MSP430 14X 430X 例1设MCLK = XT2, SMCLK = DCOCLK,将MCLK由P5.4输出。(MSP430X14X 中引脚P MCLK复用 复用) 中引脚P5.4和MCLK复用)。 实现上述功能的程序如下: 实现上述功能的程序如下: <msp430 14x 430x #include <msp430x14x.h> void main(void) { unsigned int i; WDTHOLD; WDTCTL = WDTPW + WDTHOLD; // 停止看门狗 10; P5DIR |= 0x10; // P5.4 输出 10; 用作MCLK MCLK输出 P5SEL |= 0x10; // P5.4 用作MCLK输出 BCSCTL1 ~XT2OFF; XT2 BCSCTL1 &= ~XT2OFF; // XT2有效 do { IFG1 ~OFIFG; //清除振荡器失效标志 IFG1 &= ~OFIFG; //清除振荡器失效标志 xFF; for (i = 0xFF; i > 0; i- -); // 稳定时间 } ((IFG1 while ((IFG1 & OFIFG) != 0); // 如果振荡器失效标志存在 BCSCTL2 SELM1 XT2 BCSCTL2 |= SELM1; // MCLK = XT2 ;;) for (;;); }

第3章_MSP430单片机输入输出接口_对比

第3章_MSP430单片机输入输出接口_对比
个是中断寄存器。 P3 、 P4 、町、 P6 不具备中断功能,只与前面四个寄存器有关; Pl 、 P2 具有中
断功能.与上面所有的寄存器都有关系,详细请参考 3. 2 节寄存器说明部分 。
当 J / O 口作为 一 般的输入 /输出口使用时,其基本操作流程如下:
①选择I! O 口功能.基本 J/O 模式或其他模式(即设置 PxSEL 寄存器) ;
."当设置为第二功能的时候. \1 SP410 不会主动设置引脚的方向 , 必须通过 PxlN 寄存器去设直 。
》当设置为输出时.输入到外设的信号是锁存后的信号 。 当 PxSELx= 1 时,内部输入 信 号跟随引脚端的
信号;当 PxSE l. x = () 时.在 PxSELx 被复位以前,输入到外设的信号保持外设输入信号的值 。
);当 P I SE\. 和 P 2 只I二 1.寄存 器 的位设置为 1 . ~ IJ Pl 、 P 2 口的 1 / 0 中断功能失效 。
》在 P l 或 P 2 口进行中断功能允许时,在进入中断程序时必须用软件对中断标志清萃,中断标志不可以
自动清本 h
3.3 基本应用设计举例
在: 本书的配套实验版上.使用 MSP43ü F149 单片机的 P5 口扩展了一个 4X 4 的键盘,同
键盘接口电路如图 3. 8 所示。
P50
P51
P52
VCC
P53
软件流程如图 3. 9 所示 。
具体程序如 f:
1:* include ..., 'MSP430x14x . h ‘、
Kl ..... ‘- K-2 -- K-3 -
圄 3.8 键盘接口电路 (PS)

MSP430单片机的通用IO接口

MSP430单片机的通用IO接口

{
P1OUT ^= (BIT1 + BIT5); //LED1,LED5闪烁
delayus(200);
//延迟0.2s
}
else if((P2IN&0x07) == 0x03) //K3 开关闭合
{
P1OUT = ~mask;
//LED逐个点亮
delayus(100); //延迟0.1s
mask += mask;
59 60 61
2 3 4 5 6
P6.0/A0 P6.1/A1 P6.2/A2 P6.3/A3 P6.4/A4 P6.5/A5 P6.6/A6 P6.7/A7/SVSIN
P3.0/UCB0STE/UCA0CLK P3.1/UCB0SIMO/UCB0SDA P3.2/UCB0SOMI/UCB0SCL
P1.0/TACLK/CAOUT P1.1/TA0 P1.2/TA1 P1.3/TA2
P1.4/SMCLK P1.5/TA0 P1.6/TA1 P1.7/TA2
12 13 14 15 16 17 18 19
44 45 46 47 48 49 50 51
P5.0/UCB1STE/UCA1CLK
P2.0/ACLK/CA2
XT2OUT XT2IN
RST/NMI TCK
TDI/TCLK TDO/TDI
TMS
52 53 58 57 55 54 56
MSP430F249
R4 R5 R6
10k 10k 10k
K1 K2 K3
R1 330
D1
R2 330
D2
R3 330
D3
6
第3章 MSP430
P1OUT = BIT4+BIT5 +BIT6;

msp430io口的配置和使用

msp430io口的配置和使用

msp430io口的配置和使用msp430 io口的配置和使用一 I/O的简介1、各种复用和各种设置(可以作为简单IO功能也可以作各种第二功能;可控制为输入、输出、接上拉电阻、接下拉电阻、接受中断等各种情况);2、IO口常用寄存器有:PXDIR、PXIN、PXOUT、PXREN、PXSEL、PXDS;其中,X可以是1~8,也可以是A~D,因为P1、P2可以合称为PA。

例如(PAREN=0x0480)就等价于(P2REN=0x04、P1REN=0x80)。

IO口中断相关寄存器:PXIV、PXIFGX、PXIE、PXIES;由于IO 中断仅存在于P1口和P2口,因此X只能为1或2,而且不可以为A。

3、msp430f5529.h中定义了BIT0~BITF,方便用户进行位操作。

例如要设置P1.7和P2.2为输入,代码可如下:PADIR &= ~(BITA + BIT7)。

二 IO口常用寄存器配置1、PxDIR,Px口方向寄存器0 端口配置为输入(默认)1 端口配置为输入2、PxOUT,Px口输出寄存器(输入、输出两种模式)当IO口配置为输出模式时:0 输出低电平1 输出高电平当IO口配置为输入模式并且置高/ 置低使能时:0置低1置高3、PxIN,Px 口输入寄存器只读4、PxREN,Px口置高/ 置低使能寄存器0关闭置高/ 置低1使能置高/ 置低5、PxSEL,Px功能选择寄存器(IO中断只有在普通IO下才能使用)0普通的I/O(默认)1有连接外围电路的特殊用途6、PxDS,Px 口输出驱动能力寄存器(我都是用的默认)0减弱输出驱动能力(默认)1全力输出驱动能力三普通IO使用举例说明:本例程是流水灯加按键控制,每次S1按下,便在等待S2按下,否则,所有LED一直闪烁。

若无按键按下,则八盏灯以流水灯方式显示。

#include ;#define uint8_t unsigned char#define uint16_t unsigned int//********* 控制LED的IO口宏定义************* #define LED145678_PORT_DIRP1DIR#define LED145678_PORT_OUTP1OUT#define LED23_PORT_DIRP8DIR#define LED23_PORT_OUTP8OUT//************ LED的IO口宏定义 ************* #define LED1 0x01#define LED20x02#define LED30x04#define LED40x08#define LED50x10#define LED60x20#define LED70x40#define LED80x80#define LED_ALL0xFF//************ 按键的IO口宏定义************* #define BUTTON_S1(P1IN & BIT7)#define BUTTON_S2(P2IN & BIT2)//*********************************************** ***********//*函数: void delay(uint16_t x_ms)//*功能:延时程序//*参数: x_ms(单位:ms)//*返回:无//*备注:无//*********************************************** ***********void delay(uint16_t x_ms){uint16_t i=0,j=0;for(i=x_ms;i>;0;i--)for(j=110;j>;0;j--);}//*********************************************** ***********//*函数: void LED_Init()//*功能: LED的IO口方向初始化//*参数:无//*返回:无//*备注:无//*********************************************** ***********void LED_Init(){LED145678_PORT_OUT &= ~(BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5);LED145678_PORT_DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5;LED23_PORT_OUT &= ~(BIT1 + BIT2);LED23_PORT_DIR |= BIT1 + BIT2;}//*********************************************** ***********//*函数: void Board_ledOn(uint8_t ledMask)//*功能:打开输入的那盏灯//*参数: ledMask//*返回:无//*备注:无//**********************************************************void Board_ledOn(uint8_t ledMask){if (ledMask & LED1) LED145678_PORT_OUT |= BIT0; if (ledMask & LED2) LED23_PORT_OUT |= BIT1;if (ledMask & LED3) LED23_PORT_OUT |= BIT2;if (ledMask & LED4) LED145678_PORT_OUT |= BIT1; if (ledMask & LED5) LED145678_PORT_OUT |= BIT2; if (ledMask & LED6) LED145678_PORT_OUT |= BIT3; if (ledMask & LED7) LED145678_PORT_OUT |= BIT4; if (ledMask & LED8) LED145678_PORT_OUT |= BIT5; }//*********************************************** ***********//*函数: void Board_ledOff(uint8_t ledMask)//*功能:关闭输入的那盏灯//*参数: ledMask//*返回:无//*备注:无//*********************************************** ***********void Board_ledOff(uint8_t ledMask){if (ledMask & LED1) LED145678_PORT_OUT &= ~BIT0; if (ledMask & LED2) LED23_PORT_OUT &= ~BIT1;if (ledMask & LED3) LED23_PORT_OUT &= ~BIT2;if (ledMask & LED4) LED145678_PORT_OUT &= ~BIT1; if (ledMask & LED5) LED145678_PORT_OUT &= ~BIT2; if (ledMask & LED6) LED145678_PORT_OUT &= ~BIT3; if (ledMask & LED7) LED145678_PORT_OUT &= ~BIT4; if (ledMask & LED8) LED145678_PORT_OUT &= ~BIT5; }//*********************************************** ***********//*函数: void Board_ledToggle(uint8_t ledMask)//*功能:输入的那盏灯的状态取反//*参数: ledMask//*返回:无//*备注:无//*********************************************** ***********void Board_ledToggle(uint8_t ledMask){if (ledMask & LED1) LED145678_PORT_OUT ^= BIT0;if (ledMask & LED2) LED23_PORT_OUT ^= BIT1;if (ledMask & LED3) LED23_PORT_OUT ^= BIT2;if (ledMask & LED4) LED145678_PORT_OUT ^= BIT1; if (ledMask & LED5) LED145678_PORT_OUT ^= BIT2; if (ledMask & LED6) LED145678_PORT_OUT ^= BIT3; if (ledMask & LED7) LED145678_PORT_OUT ^= BIT4; if (ledMask & LED8) LED145678_PORT_OUT ^= BIT5; }//*********************************************** ***********//*函数: void main(void)//*功能:主函数//*参数:无//*返回:无//*备注:无//*********************************************** ***********void main(void){uint8_t LED = LED1; //定义变量LEDWDTCTL = WDTPW | WDTHOLD;//关闭看门狗LED_Init(); //初始化LED的IO口方向PADIR &= ~(BITA + BIT7); //将按键的IO口方向设为输入PAREN |=(BITA + BIT7); //置高/ 置低使能PAOUT |=(BITA + BIT7); //置高(类似于上拉)while(1){Board_ledOn(LED);delay(1000); //延时1s左右Board_ledOff(LED);LED = LED。

MS系统时钟PPT课件

MS系统时钟PPT课件

五个时钟输入源振荡器模块(2/6)
一、XT1 振荡器
XT1工作在低频(LF)模式时(XTS=0),提供支持 32768HZ时钟的超低功耗模式。晶振只需经过XIN和XOUT两 个引脚连接,不需要其他外部器件,所有保证工作稳定的 元件和移相电容都集成在芯片中。
在一些设备中当XT1选择高频(HF)模式时(XTS=1)也 支持高频晶振或者振荡器。高频晶振或谐振器连接到XIN和 XOUT引脚,需要在两个端口配置电容。
从上图可以看出,MSP430F5XX / 6XX时钟模块有 5 个 时钟输入源:
XT1CLK 低频或高频时钟源:可以使用标准晶振,振荡 器或者外部时钟源输入4MHz~32MHz。XT1CLK可以作为内部 FLL模块的参考时钟。
XT2CLK 高频时钟源:可以使用标准晶振,振荡器或者 外部时钟源输入4MHz~32MHz。
VLOCLK 低功耗低频内部时钟源:典型值为10KHZ;
REFOCLK 低频修整内部参考时钟源:典型值为32768Hz, 作为FLL基准时钟源;
DCOCLK 片内数字控制时钟源:通过FLL模块来稳定。
MSP430X5XX / 6XX系列时钟系统模块(3/3)
基础时钟模块可提供3种时钟信号:
ACLK 辅助时钟:ACLK可由软件选择来自XT1CLK、REFOCLK、VLOCLK、
五、片内数字控制振荡器(DCO)
DCO振荡器是一个可数字控制的RC振荡器,它的频率随供 电电压、环境温度变化而具有一定的不稳定性。
DCO频率可以通过选择FLL的频率(FLLRENCLK/n)来增强 振荡频率的稳定性。
DCO模块操作(1/4)
DCOCLK频率调整过程:
设置DCORSELx这3位可以从8个DCO额定频率中选择一个频 率。

第6章MSP430单片机的输入输出模块

第6章MSP430单片机的输入输出模块

这些端口没有中断能力,其余功能与P1、P2端口一样,能实现输入/输出功能和外围 模块功能。每个端口有6个寄存器供用户使用,用户可通过这6个寄存器对它们进行访问和 控制。每个端口的6个寄存器分别为:输入寄存器(PxIN)、输出寄存器(PxOUT)、方向 选择寄存器(PxDIR)、输出驱动能力调节寄存器(PxDS)、上拉/下拉电阻使能寄存器 (PxREN)和功能选择寄存器(PxSEL)。具体用法同P1和P2端口。
合肥工业大学DSP及MSP430实验室
MSP430单片机原理与应用
/msp430
第六章 MSP430单片机的输入输出模块
单片机中的输入/输出模块是供信号输入、输出所用的模块化单元。MSP430单片机的片内输入/ 输出模块非常丰富,典型的输入/输出模块有:通用I/O端口、模数转换模块、比较器、定时器与段式 液晶驱动模块。本章重点讲述各典型输入/输出模块的结构、原理及功能,并针对各个模块给出简单 的应用例程。
图624adc12模块结构框图62模数转换模块adc12623msp430单片机adc12模块操作1adc12的转换模式adc12模块有4种转换模式可以通过conseqx控制位进行选择具体转换模式说明如表621所adc12conseqx转换模式操作说明00单通道单次转换一个单通道转换一次01序列通道单次转换一个序列多个通道转换一次10单通道多次转换一个单通道重复转换11序列通道多次转换一个序列多个通道重复转换表621各种转换模式说明列表62模数转换模块adc121单通道单次转换模式该模式对单一通道实现单次转换
【例6.1.2】 利用软件循环查询P1.4引脚的输入状态,若P1.4输入为高电平,则使P1.0输出 高电平;若P1.4输入为低电平,则使P1.0输出低电平。该程序采用查询的方式检测按键是

MSP430引脚功能介绍和寄存器详细分类汇编

MSP430引脚功能介绍和寄存器详细分类汇编

引脚功能引脚名称序号I/O 说明Avcc 64 模拟供电电源正端.只为ADC和DAC的模拟部分供电Avss 62 模拟供电电源负端.只为ADC和DAC的模拟部分供电DVcc 1 数字供电电源正端.为所有数字部分供电DVss 63 数字供电电源负端.为所有数字部分供电P1.0/TACLK 12 I/O 通用数字I/O引脚/定时器A时钟信号TACLK输入P1.1/TA0 13 I/O 通用数字I/O引脚/定时器A捕捉:CCI0A输入,比较:OUT0输出P1.2/TA1 14 I/O 通用数字I/O引脚/定时器A捕捉:CCI1A输入,比较:OUT1输出P1.3/TA2 15 I/O 通用数字I/O引脚/定时器A捕捉:CCI2A输入,比较:OUT2输出P1.4/SMCLK 16 I/O 通用数字I/O引脚/SMCLK信号输出P1.5/TA0 17 I/O 通用数字I/O引脚/定时器A,比较:OUT0输出P1.6/TA1 18 I/O 通用数字I/O引脚/定时器A,比较:OUT1输出P1.7/TA2 19 I/O 通用数字I/O引脚/定时器A,比较:OUT2输出P2.0/ACLK 20 I/O 通用数字I/O引脚/ACLK输出P2.1/TAINCLK 21 I/O 通用数字I/O引脚/定时器A,INCLK上的时钟信号P2.2/CAOUT/TA0 22 I/O 通用数字I/O引脚/定时器A捕获:CCI0B输入/比较器输出P2.3/CA0/TA1 23 I/O 通用数字I/O引脚/定时器A,比较:OUT1输出/比较器A输入P2.4/CA1/TA2 24 I/O 通用数字I/O引脚/定时器A,比较:OUT2输出/比较器A输入P2.5/Rosc 25 I/O 通用数字I/O引脚,定义DCO标称频率的外部电阻输入P2.6/ADC12CLK/ 26 I/O 通用数字I/O引脚,转换时钟-12位ADC,DMA通道0外部触发器P2.7/TA0 27 I/O 通用数字I/O引脚/定时器A比较:OUT0输出P3.0/STE0 28 I/O 通用数字I/O引脚,USART0/SPI模式从设备传输使能端P3.1/SIMO0/SDA 29 I/O 通用数字I/O引脚,USART0/SPI模式的从入/主出,I2C数据P3.2/SOMI0 30 I/O 通用数字I/O引脚,USART0/SPI模式的从出/主入P3.3/UCLK0/SCL 31 I/O 通用数字I/O引脚,USART0/SPI模式的外部时钟输入,USART0 P3.4/UTXD0 32 I/O 通用数字I/O引脚,USART0/UART模式的传输数据输出P3.5/URXD0 33 I/O 通用数字I/O引脚,USART0/UART模式的接收数据输入P3.6/UTXD1 34 I/O 通用数字I/O引脚,USI1/UART模式的发送数据输出P3.7/URXD1 35 I/O 通用数字I/O引脚,USI1/UART模式的接收数据输入P4.0/TB0 36 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR0P4.1/TB1 37 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR1P4.2/TB2 38 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR2P4.3/TB3 39 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR3P4.4/TB4 40 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR4P4.5/TB5 41 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR5P4.6/TB6 42 I/O 通用数字I/O引脚,捕获I/P或者PWM输出端口-定时器B7 CCR6P4.7/TBCLK 43 I/O 通用数字I/O引脚,输入时钟TBCLK-定时器B7P5.0/STE1 44 I/O 通用数字I/O引脚,USART1/SPI模式从设备传输使能端P5.1/SIMO1 45 I/O 通用数字I/O引脚,USART1/SPI模式的从入/主出P5.2/SOMI1 46 I/O 通用数字I/O引脚,USART1/SPI模式的从出/主入P5.3/UCLK1 47 I/O 通用数字I/O引脚,USART1/SPI模式的外部时钟输入,USART0/SPI 模式的时钟输出- 8 -P5.4/MCLK 48 I/O 通用数字I/O引脚,主系统时钟MCLK输出P5.5/SMCLK 49 I/O 通用数字I/O引脚,子系统时钟SMCLK输出P5.6/ACLK 50 I/O 通用数字I/O引脚,辅助时钟ACLK输出P5.7/TboutH/ 51 I/O 通用数字I/O引脚,将所有PWM数字输出端口为高阻态-定时器B7P6.0/A0 59 I/O 通用数字I/O引脚,模拟量输入A0-12位ADCP6.1/A1 60 I/O 通用数字I/O引脚,模拟量输入A1-12位ADCP6.2/A2 61 I/O 通用数字I/O引脚,模拟量输入A2-12位ADCP6.3/A3 2 I/O 通用数字I/O引脚,模拟量输入A3-12位ADCP6.4/A4 3 I/O 通用数字I/O引脚,模拟量输入A4-12位ADCP6.5/A5 4 I/O 通用数字I/O引脚,模拟量输入A5-12位ADCP6.6/A6/DAC0 5 I/O 通用数字I/O引脚,模拟量输入A6-12位ADC,DAC.0输出P6.7/A7/DAC1/ 6 I/O 通用数字I/O引脚,模拟量输入A7-12位ADC,DAC.1输出,SVS输入RST/NMI 58 I 复位输入,不可屏蔽中断输入端口或者Bootstrap Lload启动(FLASHTCK 57 I 测试时钟,TCK是芯片编程测试和bootstrap loader启动的时钟输入端口TDI 55 I 测试数据输入,TDI用作数据输入端口,芯片保护熔丝连接到TDITDO/TDI 54 I/O 测试数据输出端口,TDO/TDI数据输出或者编程数据输出引脚TMS 56 I 测试模式选择,TMS用作芯片编程和测试的输入端口VeREF+ 10 I/P 外部参考电压的输入VREF+ 7 O 参考电压的正输出引脚VREF-/VeREF- 11 O 内部参考电压或者外加参考电压的引脚XIN 8 I 晶体振荡器XT1的输入端口,可连接标准晶振或者钟表晶振XOUT/TCLK 9 I/O 晶体振荡器XT1的输出引脚或测试时钟输入XT2IN 53 I 晶体振荡器XT2的输入端口,只能连接标准晶振XT2OUT 52 O 晶体振荡器XT2的输出引脚时钟模块76543210 DCO.2DCO.1DCO.0MOD.4MOD.3MOD.2MOD.1MOD.0DCO.0-DCO.4 定义8 种频率之一,可以分段调节DCOCLK 频率,相邻两种频率相差10%。

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

GPIO 官方库函数(2/4)

GPIO的引脚配置函数(续)
GPIO_setAsInputPinWithPullUpresistor() // 设置为输入下拉
GPIO_setDriveStrength() // 设置引脚驱动强度
GPIO_setAsPeripheralModuleFunctionOutputPin()
I/O端口还具有其他片内外设功能,为减少引脚,将这 些外设功能与I/O端口引脚复用来实现。 PxSEL来选择引脚的I/O端口功能与外围模块功能。 PxSEL的配置: Bit = 0: 选择引脚为I/O端口; Bit = 1: 选择引脚为外设功能。
GPIO 寄存器(6/9)

PxDS 输出驱动强度寄存器

引脚下拉 VCC R 引脚 Px.x R

Bit = 1: 引脚选择上拉 上拉电阻简单来说就是把电平拉高, 通常用 4.7-10K的电阻接到Vcc电源。 Bit = 0: 引脚选择下拉; 下拉电阻则是把电平拉低,电阻接到GND地线上。
2015-6-1 15
GPIO 寄存器(5/9)

PxSEL 功能选择寄存器
每个PxIE位使能的中断请求都与相应的PxIFG中断标志 相关联,可通过写PxOUT和PxDIR来设置PxIFG。

PxIE的配置: Bit = 1: 允许中断; Bit = 0: 禁止中断。
GPIO 寄存器(8/9)
PxIES 中断触发沿选择寄存器(仅中断端口P1和P2)
如果允许Px口的某个引脚中断(即PxIE和GIE已设置), 还需定义该引脚的中断触发方式。 该寄存器可读可写,寄存器的8位分别对应Px口8个引脚 PxIES的配置: Bit = 1: 下降沿使相应中断标志置位; Bit = 0: 上升沿使相应中断标志置位。

GPIO 寄存器(9/9)

PxIFG 中断标志寄存器(仅中断端口P1和P2)
该寄存器用来表示对应引脚是否产生了由PxIES设定 的电平跳变。 如果在GIE置位,引脚对应的中断使能寄存器PxIE位 置位,则会向CPU请求中断处理。 中断标志PxIFG.0~PxIFG.7共用一个中断向量, PxIFG.0~PxIFG.7不会自动复位。必须用软件来判定 是对哪一个事件服务,并将相应的标志复位。 PxIFG的配置: Bit = 0: 没有中断请求; Bit = 1: 有中断请求。
GPIO 寄存器(2/9)
PxIN 输入寄存器
该寄存器是只读寄存器,即用户不能对它写入。

这个寄存器是只读的,其中的每一位都反映了其对应 的I/O引脚的输入信号(引脚配置为通用I/O)。
PxIN 配置: Bit = 1: 输入为高电平; Bit = 0: 输入为低电平;
GPIO 寄存器(3/9)
3.3 通用输入输出端口
(General Purpose Input & Output)
本节内容

GPIO 概述
MSP430的GPIO 特点


MSP430 GPIO 寄存器
GPIO 官方库函数 GPIO 应用示例
GPIO 概述 (1/4)

GPIO
GPIO (General Purpose I/O),通用输入输出端口。
// 设置为外设输出引脚 GPIO_setAsPeriphe/ 设置为外设输入引脚
GPIO 官方库函数(3/4)

GPIO中断处理函数
GPIO_enableInterrupt() // 使能中断 GPIO_disbleInterrupt() // 禁止中断
GPIO_clearInterruptFlag() // 清除中断标志位
GPIO_getInterruptStatus() // 获取中断状态 GPIO_interruptEdgeSelect() // 选择中断沿
GPIO 官方库函数(4/4)

GPIO引脚状态的函数
GPIO_setOutputHighOnPin() // 引脚输出为高
P1.0 LED
GPIO 官方库函数(3/4)

示例2--利用按键改变LED的亮灭,按键对应的 引脚配置为中断方式。
#include <msp430f6638.h> void main (void) { // 关闭看门狗 WDTCTL = WDTPW | WDTHOLD; P4DIR |= 0x08; // 选择P4.3为输出 P2DIR &= ~0x40; // 选择P2.6为输入 P2IE |= 0x40; // 使能P2.6中断 P2IES |= 0x40; // 选择P2.6为上升沿中断 VCC MSP430F6638 R Key R LED
可配置I/O驱动能力(高驱动强度或低驱动强度)。
GPIO 寄存器(1/9)

PxDIR 输入/输出方向寄存器
相互独立的8位分别定义了8个引脚的输入/输出方向。
使用输入和输出功能时,应该先定义端口的方向。 PxDIR 配置: Bit = 1: 将端口引脚设置为输出模式; Bit = 0: 将端口引脚设置为输入模式。 例,设置P1端口的P1.0引脚为输出方向,其余引脚 (P1.1~P1.7)设置为输入方向。 P1DIR = 0x01; // 设置P1端口P1.0引脚为输出方向
2015-6-1
14
GPIO 寄存器(4/9)

PxREN 上拉或下拉电阻使能寄存器
PxREN寄存器中的每一位可使能或禁用相应I/O引脚的 上拉/下拉电阻。 PxREN 配置: Bit = 1: 使能上拉/下拉电阻; Bit = 0: 禁用上拉/下拉电阻。 当使能引脚上拉或下拉功能时,通过 设置PxOUT相应位来选择。
//让 P1.0输出高电平 GPIO_setOutputHighOnPin( MSP430_BASEADDRESS_PORT1_R__, GPIO_PORT_P1,GPIO_PIN0 ); //让 P1.0输出低电平 GPIO_setOutputLowOnPin ( MSP430_BASEADDRESS_PORT1_R , GPIO_PORT_P1,GPIO_PIN0 );
GPIO_setOutputLowOnPin() // 引脚输出为低 GPIO_toggleOutputOnPin() // 翻转引脚 GPIO_getInputPinValue() // 获取引脚输入值
GPIO 应用示例(1/4)

示例1--软件编程示例(伪代码)
用P1.0口控制发光二极管
PxDS寄存器的每个位,设置引脚的输出强度为高驱动 强度或低驱动强度。
默认值为低驱动强度。 PxDS的配置: Bit = 0: 低驱动强度; Bit = 1: 高驱动强度。
GPIO 寄存器(7/9)
PxIE 中断使能寄存器(仅中断端口P1和P2)
该寄存器的8位与端口的8个引脚一一对应,其中某一位 置位表示允许对应的引脚在电平变化(上升沿或下降沿) 时产生中断,否则,表示禁止该位的中断。
MSP430的GPIO 特点(2/4)

具有中断能力的端口:P1和P2。
端口P1和P2具有输入输出、中断和外部模块功能。这些 功能可以通过它们各自9个控制寄存器的设置来实现。

不具有中断能力的端口:P3和其他端口
P3和其他端口没有中断能力,其余功能同P1和P2, 可以实现输入/输出功能和外围模块功能。

应用
GPIO基本都是用于芯片与片外器件或设备的交互。 检测数字输入,如键盘或开关信号; 驱动LED,蜂鸣器或LCD等其他指示器; 控制片外器件,较高级的使用可以用它们(通过 程序)模拟很多器件的时序达到控制相应器件的 目的,比如模拟SPI和模拟总线等。
GPIO 概述 (2/4)

特性
可以独立控制每个GPIO口的方向(输入/输出模式);
GPIO 官方库函数(1/4)

GPIO API被分成三组函数:GPIO的引 脚配置函数,处理中断的函数,以及引 脚状态的函数。
GPIO的引脚配置函数
GPIO_setAsOutputPin() // 设置为输出引脚
GPIO_setAsInputPin() // 设置为输入引脚

GPIO_setAsInputPinWithPullDownresistor() // 设置为输入上拉
P2.6
// 进入低功耗,打开全局中断 _BIS_SR (LPM3_bits + GIE);
} 2015-6-1
P4.3
R
27
GPIO 官方库函数(4/4)
#pragma vector=PORT2_VECTOR __interrupt void Port_2 (void) { volatile unsigned int i; P4OUT ^= 0x08; // 翻转P4.3外接的LED亮灭状态 i = 1500; // 延时 do (i--); while (i != 0); while (! (P2IN & 0x01)); // 等待按键释放 I = 1500; // 延时,按键去抖 do (i--); while (i !=0); P2IFG &= ~0x40; // 清除P2.6中断标志 }
PxOUT 输出寄存器
输出寄存器是可读可写的。这个寄存器的每个位都反映 了写入相应输出引脚的值。 将需要的值写入该寄存器,控制输出引脚的电平状态。 PxOUT 配置: Bit = 1: 输出为高电平; Bit = 0: 输出为低电平;

GPIO 寄存器(4/9)

PxREN 上拉或下拉电阻使能寄存器
模拟信号比较器;
模拟—数字转换器; 其他功能 (请参见具体芯片的数据手册)。
MSP430的GPIO 特点(4/4)

寄存器丰富
相关文档
最新文档