MSP430单片机IO端口控制特点

时间:2019-07-30 来源: 国内新闻

Compared with the 8031 microcontroller, the I/O port of the MSP430 is much more powerful and its control method is more complicated. The I/O port of the MSP430 can realize bidirectional input and output; perform some special functions such as: driving LCD, A/D conversion, capture comparison, etc. realize various I/O interrupts. The MSP430 uses a traditional 8-bit port approach to ensure compatibility, ie each I/O port controls eight I/O pins. In order to achieve complex control of each pin of the I/O port, each I/O port in the MSP430 corresponds to a set of 8-bit control registers (see Figure 1). Each bit in the register corresponds to an I/O pin for independent control of this pin. The function and number of registers are determined by the functions and types that the I/O port can perform.

FIG. 1 is a schematic diagram of a control structure of an I/O port of the MSP430. There are only three control registers for the most basic I/O ports that can only perform input and output functions. Among them, the input register saves the input state; the output register saves the state of the output, and the direction register controls the input and output states of the corresponding pin. P6.6 and P6.7 used to implement the I2C bus interface in this paper belong to this type of port. In addition, some I/O ports can be used not only as basic input and output, but also for other purposes, such as driving control pins for LCDs. The control function registers of this type of port implement the switching of the pin function status. Moreover, there is a type of port that can not only perform the functions of the above two ports, but also implement the interrupt function. This type of port has all the registers in Figure 1, the way the interrupt is triggered and the masking of the interrupt can be controlled by the corresponding registers. The P2.0 used in this article belongs to this type of port and is used to receive interrupts from the LM92.

ddd967a484904da18882e88ab059f585

xx通过上述控制结构,MSP430的I/O端口可以实现非常丰富的功能。不仅如此,一些I/O端口还可以与MSP430中的特殊模块结合使用,以执行更复杂的任务。如果与捕获比较模块结合,则可以实现串行通信,并且可以通过与A/D模块组合来实现A/D转换。此外,MSP430 I/O端口的电气特性也非常突出。几乎所有I/O端口都具有20 mA的驱动能力。对于普通LED和蜂鸣器,可以在没有辅助电路的情况下执行直接驱动。许多端口内部集成了上拉电阻,以便于与外围设备连接。

2 MSP430和I2C总线设备接口

通过上面的介绍,我学到了MSP430中I/O端口的一些控制功能。以下描述如何使用这些功能来实现I2C总线的接口。如图2所示,41系列MCU的P6用于产生I2C总线的定时同步信号;使用P6.7完成I2C总线的串行数据输入和输出; P2.0接收LM92产生的中断信号。根据I2C总线规范,两个器件可以通过为LM92的A0,A1和A240设置不同的器件地址来共享SCL和SDA。

58a6583d2d164e929862046228ee1384

2.1 I/O端口引脚控制

与8031不同,MSP430没有位空间,也没有执行位操作的控制电路。那么如何控制给定的I/O? MSP430中的位操作指令由逻辑运算实现。 [3]例如:

BISB#01000010B,P1OUT;将P1.6和P1.1设置为XORB#01000010B,P1OUT;逻辑OR操作

本例中的设置指令BISB是通过对原始操作数(01000010)和目标操作数(P1OUT)进行逻辑或运算获得的。因此该命令等同于第二行中的指令。虽然这种控制方法比8031稍微复杂一些,但其控制能力得到了提高。从示例中可以很容易地看出,该方法可以同时控制多个端口位。

2.2简化I2C接口的方法

众所周知,I2C总线协议的实现主要是控制SDA,SCL生成协议指定的各种时序。为了控制P2和P6.6生成I2C总线所需的各种时序,经常使用输入,输出和方向寄存器。为了减少代码量并简化接口控制,最直接的方法是减少寄存器操作的数量。要实现这一想法,需要结合硬件和软件,充分利用I/O端口的特性和I2C总线协议的特性。

仔细研究图3 [1]的基本数据操作时序可以找到:首先,当没有数据传输时,I2C总线处于高电平状态;第二,SDA引脚是数据的输入和输出,其状态变化最大。复杂,控制它需要经常使用P6IN,P6OUT,P6DIR三个寄存器。

fc69459618ca4092bc7f04c407ab8bcf

图2中的R1和R2是上拉电阻,其电阻取决于所选I2C总线器件的电气特性。在本文中,这两个电阻不仅起到拉起作用,而且有助于解决第一个问题。当P6.6和P6.7处于接收状态时,上拉电阻可以将该点的电平拉至VCC,从而确保总线空闲时的稳定高电平。

继续上述思想,可以发现当方向寄存器的相应位是输入时,它相当于向I2C从器件发送逻辑“1”。那么如何发送逻辑'0'?将相应的方向控制位设置为输出,然后输出寄存器的相应位置为“0”。此外,如果输出寄存器设置为“0”,则方向寄存器中只有两个变化可用于传输两个逻辑电平。因此,在传输数据时只需要控制方向寄存器。对于需要频繁切换输入和输出状态的SDA,此方法可以将代码量减少约15%并使程序更清晰。这为第二个问题找到了一个很好的解决方案。

3 I2C总线控制时序实现

以上描述了I2C总线的最基本操作时序。 I2C总线中的各种操作是通过这些基本操作的组合完成的。由于I2C总线设备的类型,功能和结构不同,因此每个设备的具体控制时序是不同的。图4显示了AT2402读取指定的字节数据控制时序。从图中可以看出,在读操作中使用了启动,发送字节,处理响应,接收字节和停止的基本操作。附录中的代码实现了这个时间。 AT2402还有其他控制时序,如字节写时序,数据页读时序,地址读时序等[1]。附录中的代码被写为基本操作的子例程。对于不同的功能定时,可以通过调用子程序来实现。

46dde932424148f2829c3bf0c86beec1

LM92是一款高精度温度传感器,也由I2C总线控制。图5是器件读取温度数据的时序图。由于其功能和结构与AT2402有很大不同,因此两者的控制时序不尽相同。如图4和图5所示,虽然实现了读操作,但两者的时序差别很大,LM92的控制时序显然更复杂。但是,仔细分析表明,这些时间也是通过基本操作的组合来实现的。这样,可以在上述方法的基础上改进LM92所需的基本操作子程序,然后可以根据时序要求安排子程序实现LM92的各种控制。

总之,为了实现I2C总线的控制时序,有必要仔细分析各种器件的时序要求和特性,构建所有基本操作,并根据时序要求安排基本操作。

新闻排行
  1. 进一步规范城市道路秩序创造一个更安全,更文明,更有秩序的交通环境帮助“创国卫”工作7月8日婺源警方交警

    进一步规范城市道路秩序创造一个更安全,更文明,更有秩序的交通环境帮助“创国卫”工作7月8日婺源警方交警...

  2. 7月9日,在最近举行的“2019年服装物流与供应链行业年会”上,德邦快递与李宁合作推出了新的工作服,并宣布

    7月9日,在最近举行的“2019年服装物流与供应链行业年会”上,德邦快递与李宁合作推出了新的工作服,并宣布...

  3. 7月21日,三个月《全观:叶锦添艺术大展》在北京今日美术馆结束。这是叶金田2007年第一次举办个展《寂静幻?

    7月21日,三个月《全观:叶锦添艺术大展》在北京今日美术馆结束。这是叶金田2007年第一次举办个展《寂静幻?...

  4.   连续排队等候的现象,在美食这方面体现的越来越明显,或者是越来越有存在在,就像最近网上出现一个热搜

      连续排队等候的现象,在美食这方面体现的越来越明显,或者是越来越有存在在,就像最近网上出现一个热搜...

  5. 1.学习另一种语言事实上,你正在学习哪种语言并不重要,但学习另一种语言(无论你已经知道多少种语言)都会

    1.学习另一种语言事实上,你正在学习哪种语言并不重要,但学习另一种语言(无论你已经知道多少种语言)都会...

  6. 随着手机市场的不断发展,越来越多的品牌进入了我们的视野。其中一个是一个非常好的品牌,特别是最近推出的

    随着手机市场的不断发展,越来越多的品牌进入了我们的视野。其中一个是一个非常好的品牌,特别是最近推出的...

  7. “这并不是说在线教育已经成为一个口号。只有经过一些优秀的模型验证后,每个人都开始相信在线教育值得投资

    “这并不是说在线教育已经成为一个口号。只有经过一些优秀的模型验证后,每个人都开始相信在线教育值得投资...

  8.   7月3-4日,由广东省品学会主办,中国美妆网承办,广东省科学技术协会指导,并得到广州市白云区人民政府

      7月3-4日,由广东省品学会主办,中国美妆网承办,广东省科学技术协会指导,并得到广州市白云区人民政府...

  9. 大河日报是官方卫生官员,为您提供专业,全面,权威的健康信息服务。□大河报大河客户记者林辉通讯员刘东东

    大河日报是官方卫生官员,为您提供专业,全面,权威的健康信息服务。□大河报大河客户记者林辉通讯员刘东东...

  10. [精神的力量新时代的灵魂]深圳足迹:记录时代进步的创新坐标邓小平在深圳莲花山公园的青铜雕像本报记者,钟?

    [精神的力量新时代的灵魂]深圳足迹:记录时代进步的创新坐标邓小平在深圳莲花山公园的青铜雕像本报记者,钟?...

日期归档
友情链接