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. 51单片机有几个通用io口_51单片机IO端口基础知识及应用

    文章目录 89C51单片机引脚信息单片机IO端口内部结构单片机IO引脚输出应用单片机IO引脚输入应用总结 89C51单片机引脚信息 我们在学习使用任何芯片到时候,可能第一个要注意的就是芯片的引脚信息了 ...

  2. STC12单片机P4端口测试程序

    STC12C5A60S2单片机P4端口寄存器说明可以查看芯片手册,此例程仅供参考 #include <STC12C5A60S2.h> #include <intrins.h>v ...

  3. mysql命令行查看端口占用_linux下常用命令查看端口占用

    在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下: -t : 指明显示TCP端 ...

  4. 天线端口和参考信号支持的多端口

    1 天线端口 天线端口是指能进行信道估计分辨的端口数,即与参考信号有关.直观地来说,有多少种参考信号,就有多少个端口.实际物理天线数大于端口数,但天线端口和物理天线间没有固定的映射关系,标准协议里也没 ...

  5. iomem—I/O映射方式的I/O端口和内存映射方式的I/O端口

    Linux将基于I/O映射方式的I/O端口和基于内存映射方式的I/O端口资源统称为"I/O区域"(I/O Region).I/O Region仍然是一种I/O资源,因此它仍然可以用 ...

  6. 查看san交换机端口流量_锐捷交换机 查看端口流量信息

    如果当前局域网的网段中有255个可用ip,使用交换机之后可以同时在网络的中存在的主机仍然是255个.即接在交换机上的所有设备的ip都在一个网络段中. 而使用路由器的话可以拓展到无限个主机,因为路由器可 ...

  7. 8080端口被占用的解决方案(其它端口同理)

    8080端口被占用的解决方案(其它端口同理) 参考文章: (1)8080端口被占用的解决方案(其它端口同理) (2)https://www.cnblogs.com/fanbi/p/6686149.ht ...

  8. 80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术

    介绍一种NAT端口映射技术应用,达到80端口穿透目的,解决80端口被屏蔽的问题,也是80端口被屏蔽解决方法中经常用到的. 80端口穿透类似80端口转发,因为80端口被屏蔽,在数据层面来说是不能直接访问 ...

  9. docker mysql映射端口映射_docker的简单操作和端口映射

    一:简介 Docker镜像 在Docker中容器是基于镜像启动的 镜像是启动容器的核心 镜像采用分层设计,最顶层为读写层 使用快照COW技术,确保底层不丢失 通过ifconfig(ip  a)来查看d ...

  10. linux查看某端口进程占用,Linux下查看某端口占用进程

    文章分类:操作系统 在Linux操作系统中 查看占用某一端口的进程是什么:#lsof -i:端口号 或者 netstat -apn | grep redis [root@192_168_56_28 ~ ...

最新文章

  1. 机器学习中的模型评价、模型选择及算法选择
  2. 后台开发人员面试内容——操作系统(一)
  3. 【Pascal's Triangle II 】cpp
  4. Docker 容器部署 Consul 集群
  5. 将 Java Spring Framework 应用程序迁移到 Windows Azure
  6. windows函数入口问题 UNREFERENCED_PARAMETER的用处 _tWinMain与wWinMain又有什么区别
  7. 华为交换机console telnet 配置
  8. python画spc控制图_如何选择最适合我们的SPC控制图?
  9. Adobe Acrobat 虚拟打印机安装方法(无法找到Adobe PDF资源文件)
  10. java ftp 上传文件 无效_使用java进行ftp文件上传出现425错误
  11. selenium模拟登陆12306
  12. webpack bable
  13. Google Earth Engine(GEE)计算热度(LST)
  14. Apache Superset 1.2.0教程 (二)——快速入门(可视化王者英雄数据)
  15. 解决Vivado implementation拥塞的策略方法(一)
  16. C++中的switch语句
  17. 前端husky中commitlint配置
  18. 性能优化:nginx静态压缩,网页速度倍级提升
  19. Qt扫盲-网络编程概述
  20. 软件性能测试(三)监控图表、测试执行、SLA、分析器使用

热门文章

  1. 线性表_双向循环链表(Caesar加密变换结点顺序 代码实现 )
  2. GCD 代码以及GCD思想
  3. 多字节常量char m='\abcd'
  4. 转载 Log4j2在WEB项目中配置
  5. Ubuntu14.04编译Opencv3.1错误:下载ippicv,解决方案
  6. 如何用tomcat发布自己的Java项目
  7. bzoj 3514: Codechef MARCH14 GERALD07加强版
  8. Oracle递归查询所有树结构,并确定其中的一条分支
  9. PHP中PDO方法fetch参数问题
  10. 【OpenCV】图像变换(五)-仿射变换和透视变换