程序匠人 发表于 2006-3-14 22:17:00

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单片机的端口介绍相关推荐

  1. msp430单片机点亮第一个灯

    1.msp430单片机io口介绍: MSP430的端口有P1.P2.P3.P4.P5.P6.S和COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4 ...

  2. MSP430 MSP430单片机输入/输出模块 通用I/O端口GPIO LED按键

     DO OR DIE MSP430 MSP430单片机输入/输出模块 通用I/O端口GPIO LED&按键 一.原理图 二.I/O端口常用操作C语言描述及常用C语言解析 1.MSP430头文件 ...

  3. 从零开始的MSP430单片机学习(一)

    从零开始的MSP430单片机学习(一) 图片有些缺失,原链接:从零开始的MSP430单片机学习(一) 写在前面 单片机学习本身是一个了解学习一个技术的过程,学习的过程中不应该拘泥于某一款,而是要了解学 ...

  4. 单片机16个灯四种花样c语言,基于Proteus的MSP430单片机仿真实例5-16个花样灯控制...

    一.任务要求 利用MSP430F247单片机的P1和P4端口控制16个发光二极管D1~D16,发光二极管有8种花样显示,显示速度可调,由P2端口的三个按键控制,分别是模式按键.加速按键.减速按键.模式 ...

  5. MSP430单片机串口控制5路PWM频率变化程序

    MSP430单片机串口控制5路PWM频率变化程序 下面介绍一段MSP430单片机通过232串口发送0x00,0x01,0x02,0x03,0x04控制IO端口P1,P2,P4,P5,P6输出6路PWM ...

  6. MSP430单片机输入与输出

    MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11 ...

  7. msp430单片机c语言应用程序,MSP430单片机C语言应用程序设计实例精讲

    本书首先介绍了C语言的基本知识,使读者能使用C语言进行程序设计:然后介绍了30个开发例子.全书主要通过实例的形式来介绍MSP430单片机在不同领域中的应用,从而使读者掌握MSP430单片机开发的流程. ...

  8. MSP430单片机GPIO编程入门教程

    在本教程中,我们将一起学习MSP430单片机GPIO的编程方法.本文也适用于Launchpad开发板上使用的MSP430x2xx器件,如MSP430G2553.MSP430G2231等.MSP430单 ...

  9. TI公司与MSP430单片机

    美国德州仪器(Texas Instruments)公司,简称TI,是全球领先的半导体公司,成立于1930 年,成立之初是一家使用地震信号处理技术勘探原油的地质勘探公司,1951年更名为德州仪器公司,1 ...

最新文章

  1. 第一次作业,针对软件工程这门课程提出五个疑问。
  2. 服不服?40行Python代码,实现卷积特征可视化
  3. 智源沙龙 | 人工智能的技术发展与创业投资
  4. 人人都在加注芯片,英特尔却一头扎向医疗
  5. 猜数字游戏_FLEX版
  6. qt5使用mysql
  7. Windows下使用动态库
  8. 计算机应用基础电子毕业考试,计算机应用基础-上海电子信息职业技术学院.PDF...
  9. PMP读书笔记(第3章)
  10. 【bzoj1010-toy】斜率优化入门模板
  11. 多维数组怎么降维_从零开始的机器学习实用指南(八):降维
  12. 写springMVC DEMO时,jsp页面显示jsp代码的解决方法
  13. Java多张图片合成PDF
  14. c语言仓库即存储器,计算机基础4
  15. iOS 不同数据类型存入可变数组
  16. 自动化运维工具SaltStack
  17. ajxa TypeError: $.ajax is not a function
  18. SQL语句——查询语句
  19. 前端实现ICON图标生成器
  20. 谷歌学术镜像_Google镜像站

热门文章

  1. 服务器好玩的项目_我的世界MC6个我的世界服务器的故事 论沙雕服主的骚操作...
  2. javac 和 javap工具详解
  3. 中国长粒水稻种子市场趋势报告、技术动态创新及市场预测
  4. unity 网格切割算法讲解
  5. 一种基于计算机视觉的摄像机智能火灾检测方法 (英文论文翻译 )
  6. Flowable工作流引擎的使用3(task审批节点的接受与使用)
  7. QQ短暂支持跳转抖音淘宝又封禁 今天可是最后期限!
  8. c语言中因式分解的题目,因式分解练习题及答案
  9. TensorFlow 2.0中的tf.keras和Keras有何区别?为什么以后一定要用tf.keras?
  10. 如何利用IP地址实现在线广告精准投放,只需1个公式