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:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。所以其引脚的方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。例如:unsigned char key;
P1DIR&=~BIT4; //P1.4输入
……
key=P1IN&0X10; //输出端口P1.4的值
……
(3)PXOUT:输出寄存器。该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。如:PIOUT|=0X01; //P1.0输出1 , PIOUT&=~0X01; //P1.0输出0 。
(4)PXIFG:中断标志寄存器。他的8个标志位标志相应引脚是否有中断请求有待处理。0:无中断请求, 1:有中断请求。其中断标志分别为PXIFG.0~PXIFG.7。应该注意的是:PXIFG.0~PXIFG.7共用一个中断向量,为多源中断。当任一事件引起的中断进行处理时,PXIFG.0~PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位。另外,外部中断事件的时间必须保持不低于1.5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志位置位。
(5)PXIES:中断触发沿选择寄存器。如果允许PX口的某个引脚中断,还需定义该引脚的中断触发方式。0:上升沿触发使相应标志置位,1:下降沿触发相应标志置位。如:MOV.B #07H, &P1IES ;p1低3位下降沿触发中断。
(6)PXIE:中断使能寄存器。PX口的每一个引脚都有一位用以控制该引脚是否允许中断。0:禁止中断 ,1:允许中断。MOV.B #0E0H, &P2IE ;P2高3位允许中断。
(7)PXSEL:功能选择寄存器。P1,P2两端口还具有其他片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的方式来实现。PXSEL用来选择引脚的I/O端口功能与外围模块功能。0:选择引脚为I/O端口,1:选择引脚为外围模块功能。如:P1SEL|=0X10; //P1.4为外围模块功能。
端口P3、P4、P5、P6没有中断能力,其余功能同PI,P2。除掉端口P1,P2与中断相关的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户使用。
端口COM和S,他们实现与液晶片的直接接口。COM为液晶片的公共端,S为液晶片的段码端。液晶片输出端也可经软件配置为数字输出端口。
关键字:MSP430 IO端口
引用地址:
MSP430-IO端口介绍
推荐阅读最新更新时间:2024-03-16 15:06
MSP430看门狗定时器
2.WDT interrupt: 看门狗有两种工作模式,watchdog mode, interval mode。 WDTIFG 置位的两种情况:在看门狗模式下发生看门狗溢出。在间隔定时模式下发生定时溢出,且全局中断使能GIE和WDTIE均开启。 WDTIFG在中断服务程序后会自动清除该标记。 3.WDTCTL WDTPW:必须写0x5A. WDTHOLD:停止看门狗就设为1. WDTNMIES: NMI下降沿为1,上升沿为0. WDTNMI: NMI为1. WDTTMSEL:间隔定时器模式设为1. WDTCNTCL:通过该位来清除WDT计数器的值 通常设为1表示清除到0. WDTSSEL:
[单片机]
TI推出最新MSP430TM 微控制器
日前,德州仪器 (TI) 宣布推出 MSP430F563x 和 MSP430F663x 微控制器系列,为其超低功耗 16 位微控制器产品线增加更多性能与特性。现在,利用这些微控制器的更大内存、显示容量和模拟外设,开发人员可快速实现高精度测量及连接。F563x 和 F663x 器件可满足如血糖仪、脉冲血氧仪、血压监测仪、心电图 (ECG)、运动监测仪和传感器集线器等便携式测量应用的需求。另外,诸如公用事业计量仪表、远程感测及恒温器等需要统一用户界面的家庭自动化和工业应用,也可得益于MSP430 系列微控制器的超低功耗与高性能特性。并且,作为 MSP430 产品线的一部分,F563x 和 F663x 系列可扩展至整个 MSP430F5
[单片机]
MSP430 Value Line MCU学习笔记 - 基础时钟模块
1. 关闭看门狗 由于要使用仿真器调试,加断点后MCU被挂起,会导致看门狗被触发而将MCU复位。因此在调试阶段,我们需要先关闭看门狗。关闭看门狗的方法是: WDTCTL = WDTPW + WDTHOLD; WDTCTL是一个16位的寄存器,顾名思义,就是看门狗的控制寄存器。WDTHOLD是控制看门狗开关的标志位。给WDTHOLD置位即关闭看门狗。但是这个WDTPW是什么呢?查手册得知WDTPW是看门狗的密码,这是一个宏,被定义为了0x5A00,这个密码是干什么用的呢?原来,WDTCTL寄存器是一个非常特殊的寄存器,为了防止程序异常时意外关闭看门狗,对它进行赋值操作时必须将其新值的高8位设为0x5A这个特定的值,也就是
[单片机]
以MSP430F149为核心的温度检测仪的设计
0 引言 兰州大型的综合工程重离子加速器——冷却存储环(HIFRL-CSR)是国家科学重点工程之一,在其内部控制系统里存在着大量的测量温度的场合,这些场合依靠约束离子的行为发挥CSR主环中的磁场作用,在磁场中,这些带电粒子束有时处于聚焦状态,有时则处于传输状态,且磁场性能的好坏对束流品质有直接影响。 由于磁铁的温度与磁场性能及安全密切相关。磁铁的线圈中通过电流时,会产生很高的温度,因此,对其温度的测量是一项非常重要的工作。以MSP430F149为核心的温度检测仪基于此要求进行设计,并投入使用,是一款成本低并且性能良好的测温仪。 1 温度测量原理 1.1 温度测量的流程分析 在该设计中,测温范围应控制在20~70℃范围内,
[测试测量]
【捕获比较模式】msp430定时器比较捕获理解
MSP430的定时器中有比较捕获的概念,刚刚接触非常生疏。看了半天终于清楚: 比较模式: 这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(将终值写入TACCRx),开启定时器,当TAR的值增到TACCRx的时候,中断标志位CCIFGx置一,同时产生中断。若中断允许未开启则只将中断标志位CCIFGx置一。 例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断处理。 捕获模式: 利用外部
[单片机]
MSP430F5529 DriverLib 库函数学习笔记(六)定时器A产生PWM波
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 1.通过Timer_A_outputPWM配置产生PWM波 所选输出引脚为P1.2 初始化函数 #define TIMER_PERIOD 12500 void Timer_A_PWM_Init(void) { Timer_A_outputPWMParam htim = {0}; //P1.2复用输出 GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P1, GPIO_
[单片机]
IAR MSP430如何生成烧写文件
AR生成430烧写方法有2种, 第一种是;将工程的debug模式切换成release模式,看图片操作。 那个.d43文件就是仿真调试模式的文件。 这里的test.txt文件就是烧写文件了,不要怀疑它,我们看看它的内容。 第二种方法:按着下图操作。(这是网友提供的) 接下来就是烧写软件了,有2个,你可以二选一,他们都可以到网上下载下来。 MSPFET - FREE MSP430 flash programming utility 说明: 1、几乎支持所有MSP30系列单片机; 2、三种下载模式; 3、使用TIUSB时,提示:Init failed. Could n
[单片机]
MSP430 DCO数据丢失问题
单片机到手正常下载程序不能运行 读取flash内容 information memory内容有误,其中有个关键的时钟模块DCO的数据,他为单片机提供时钟基准,每个单片机的DCO都是单独校正的, 这是地址 这是一个正常模块的数据 在0x10FD,0x10FD是有CALBC1_8MHZ,CALDCO_8MHZ的数据的 而在我430的测试程序中有这么一段,如果CALBC1_8MHZ,CALDCO_8MHZ 的数据是FF,也就是空的话,程序会进入死循环,这是DEBUG发现的 后面做了测试,把正常板的数据直接全覆盖没有校正数据的板,多数板可以在9600波特率下通讯,(可能速度还不快可以容错),有少数板无法串口通
[单片机]