- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430系列单片机模拟SPI串行口
MSP430系列单片机模拟SPI串行口 1、SPI总线简述 SPI(Serial Peripheral Interface串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。由于SPI系统总线一共只需3~4位数据线和控制即可实现与具有SPI总线接口功能的各种I/O器件进行接口,而扩展并行总线则需要8根数据线、8~16位地址线、2~3位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。由此可见,在MCS51系列等不具有SPI接口的单片机组成的智能仪器和工业测控系统中,当传输速度要求不是太高时,使用SPI总线可以增加应用系统接口器件的种类,提高应用系统的性能。 2、MSP430系列单片机 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。MSP430系列单片机的IO口与51系列单片机的IO口不同,其单个引脚不能独立操作,必须对整个I/O口的寄存器进行置位(如无法对P1.0进行操作,只能对修改整个P1口的值)。由此看来,对MSP430系列单片机IO口的操作要稍复杂于51系列单片机。 3、MSP430单片机模拟SPI串行口 本文介绍一种用MSP430系列单片机的IO口模拟IIC接口的方法,模拟SCL和SDA两线接口的IIC接口类型。定义MSP430的I/O端口P4.6为时钟信号线(SCL),P4.7是数据信号线(SDA)。在P4.6CLK制造一个电平变化,输出数据data的高位BIT7,data中的数据依次右移一位,再将P4.6的电平变化一次,又一次输出data的高位,这时,输出的就是原来data中的次高位BIT6位,如此重复,data右移八次就完成了一个字符的输出。代码如下: unsigned char temp; for(temp=8;temp!=0;temp--) { if(data0x80) { P4OUT=P4OUT|SDA; } else { P4OUT=P4OUT(~SDA); }; P4OUT=P4OUT|SCL; P4OUT=P4OUT(~SCL); data=data1; } 同样的原理,把P4.6CLK的输出电平拉高,制造一个高电平,检测输入脚P4.7的电平,记入data中,把P4.5CLK的输出电平拉低,就完成了一个字符位的接受,然后将P4.6CLK的输出电平拉高,制造一个高电平,再次检测输入脚P4.7的电平,记入data中,如此8次后就收到了一个字符,代码如下: unsigned char temp,rbyte=0; for(temp=8;temp!=0;temp--) { P4OUT=P4OUT|SCL; data=data1; data=data|(P4INSDA); P4OUT=P4OUT(~SCL); } 4、应用实例 24C01是一个1K位串行EEPROM,内部含有128个8位字节,24C01有一个8字节页写缓冲器,24C01有一个16字节页写缓冲器该器件通过IIC总线接口进行操作,并有一个专门的写保护功能。本文先定义写EEPROM的子函数。 bit Write24c02(unsigned char*Wdata,unsigned char RomAddress,unsigned char number) { bit SuccessOrNot=0; //SuccessOrNot为数据传输成功与否的标志,0为成功 Start(); Write8Bit(WriteDeviceAddress); SuccessOrNot=SuccessOrNot|TestAck(); //SuccessOrNot为1说明,数据传输不成功 Write8Bit(RomAddress); SuccessOrNot=SuccessOrNot|TestAck(); for(;number!=0;number--) { Write8Bit(*Wdata); SuccessOrNot=SuccessOrNot|Te
文档评论(0)