北京赛车历史开奖号,北京赛车pk10历史记录有限公司欢迎您!

MSP430单片机IO端口控制特点

作者:admin    来源:未知    发布时间:2019-12-21 00:33    浏览量:

  的I/O端口可能达成双向的输入、输出;已毕极少非常效力如:驱动LCD、A/D转换、搜捕较量等;达成I/O各类断绝。采用了守旧的8位端口办法确保其兼容性,即每个I/O端口职掌8个I/O引脚。为了达成对I/O端口每一个引脚的纷乱职掌,MSP430中的每个I/O口都对应一组8位的职掌寄存器(如图1)。寄存器中的每一位对应一个I/O引脚,达成对该引脚的独立职掌。寄存器的效力和数量是由该I/O口所能已毕的效力以及类型确定的。[2]

  图1为MSP430的一个I/O端口的职掌布局示企图。看待最基础的只可已毕输入、输出效力的I/O端口其职掌寄存器惟有3个。个中,输入寄存器存在输入形态;输出寄存器存在输出的形态,倾向寄存器职掌对应引脚的输入、输出形态。本文顶用来达成I2C总线都属于这类的端口。其它,有些I/O端口不光可能用作基础的输入输出,并且可能用作其他用处,比方可能动作LCD的驱动职掌引脚。这类端口的职掌效力寄存器达成引脚效力形态的切换。再者,有一类端口不光可能已毕上述两种端口的效力,并且可能达成断绝效力。该类端口具有图1中一齐的寄存器,断绝触发的办法以及断绝的障蔽性都可能通过相应的寄存器职掌。本文中利用的P2.0就属于该类端口,使用它来给与LM92发出的断绝。

  通过上述的职掌布局,MSP430的I/O端口可能达成很足够的效力。不只如斯,个中极少I/O口还可能与MSP430中的非常模块相连接已毕更为纷乱的职业。如与搜捕较量模块相连接可能达成串行通讯,与A/D模块连接达成A/D转换等。其它,MSP430 I/O端口的电器个性也相当特出,简直一齐的I/O口都有20mA的驱动才能,看待大凡的LED、蜂鸣器可能直接驱动无需辅帮电途。很多端口内部都集成了上拉电阻,可能便当与表围器件的接口。

  通过上述的先容体会了MSP430中I/O口的极少职掌特质。以下先容怎么使用这些特质达成I2C总线C总线的时序同步信号;利用P6.7已毕I2C总线的串行数据输入输出;使用P2.0给与LM92形成的断绝信号。基于I2C总线设定区别的器件所在,两个器件可能共用SCL、SDA。2.1 I/O端口引脚职掌

  与8031区别,MSP430没有位空间,也没有特意推广位操作的职掌电途。那么看待一个指定的I/O端它是怎么举行职掌的呢?MSP430中相合位操作的指令都是通过逻辑运算达成的。[3]比如:

  该例中的置位指令BISB是用原操作数(01000010)与主意操作数(P1OUT)做逻辑或运算取得的。是以该号令与第二行的指令是等效的。固然,如许的职掌手腕比起8031略显纷乱,但它的职掌才能有所加强。从例子中不难看出,这种办法可能同时职掌多个端口位。

  家喻户晓,达成I2C总线契约首要是职掌SDA、SCL使其形成契约所法则的各类时序。要职掌P6.7、P6.6形成I2C总线请求的各类时序,就要频仍利用到输入、输出以及倾向寄存器。而要省略代码的量,简化接口职掌,最直接的手腕便是省略相合寄存器操作次数。要达成这一念法需求软硬件连接,弥漫使用I/O口的特质以及I2C总线契约的特质。

  留意察看图3的基础数据操作时序[1]可能觉察:第一,I2C总线正在多数据传输时均处于高电平形态;第二,SDA引脚是数据的输入输出端,北京赛车历史开奖号它的形态改观最为纷乱,职掌它需求频仍的利用P6IN、P6OUT、P6DIR三个寄存器。

  图2中的R1、R2是上拉电阻,其阻值由选用的I2C总线器件的电器个性确定。正在本文中这两个电阻不光起上拉的效用,另有帮于治理第一个题目。当P6.6、P6.7处于给与形态时,上拉电阻可能将该点的电平拉升为VCC,从而确保总线空闲时有褂讪的高电平。

  延续以上的思绪可能觉察,倾向寄存器相应位为输入时,就等于给I2C从器件发送了逻辑1。那么怎么发送逻辑0呢?将对应的倾向职掌位设为输出,然后输出寄存器相应身分为0就可能达成。再进一步,要是将输出寄存器对应为设为0,只职掌倾向寄存器的改观就可能发送两种逻辑电平。如许,正在发送数据时只需求职掌倾向寄存器。看待SDA需求频仍切换输入输出形态的特质,本手腕可能省略15%阁下的代码量,并使次第更懂得。如许就为第二个题目找到了很好的治理手腕。

  以上讲述了I2C总线C总线中的各类操作都是由这些基础操作组合已毕的。因为I2C总线器件的类型、效力、布局不尽好像,是以每一种器件的确职掌时序有所区别。图4是AT2402读取指定字节数据职掌时序。从图中可能看出一个读取操作中要利用到开始、发送字节、治理回应、给与字节、甩手这些基础操作。附录中的代码就达成了这个时序。看待AT2402另有其他职掌的时序,如字节写时序、数据页读时序、所在读取时序等等[1]。附录中代码对基础操作划分编写为子次第。看待区别的效力时序,可能通过子次第的移用来达成。

  LM92是一种高精度的温度传感器,它也采用I2C总线是该器件读取温度数据的时序。由于它的效力和布局与AT2402有很大的区别,是以二者职掌时序不尽好像。如图4和图5,固然都是达成读取操作,然则二者时序区别很大,LM92的职掌时序昭彰要纷乱的多。但是留意理解可能看出这些时序也都是由极少基础操作组合达成的。如许就可能正在上述手腕的根蒂上完好LM92所需求的基础操作子次第,进而按照时序需求调整子次第达成对LM92的各类职掌。

  综上所述,要达成I2C总线的职掌时序,需求留意理解各类器件的时序请求及特质,修建一齐的基础操作,并依时序请求合理调整基础操作。

  运用上述的计划手腕和电途,达成了MSP430与I2C总线器件的接口,很好的职掌AT2402和LM92,到达了预期的对象。实验表明该手腕对达成I2C总线器件职掌尽头有用,并且利用该手腕编造的次第代码量幼,推广恶果高。该手腕为MSP430与I2C总线接供词给了一种可行的计划。

相关新闻推荐

Copyright 2019 北京赛车历史开奖号_北京赛车pk10历史记录网站地图