MBI5026使用说明最新教材完美版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MBI5026恒流驱动源的使用 MBI5026功能说明 这次做一个配电控制器,其中用到了MBI5026GF,用于控制连通电路的继电器。MBI5026将16位的串行数据变换为并行数据,16路I/O为取反的恒定电流输出,最大输出为90mA。这意味着串行数据中某一位为1对应的输出低电平。为0对应输出高电平。MBI5026默认最先接受的字节为高字节,每字节最先接收到的位为高位,所以在进行SPI初始设置时最好设置字节发送方式为MSB,这样就可以将发送的字节和5026的输出对应起来。比如发送字节的0位就是5026状态的0位。 MBI5026接线原理图 MBI5026注意事项 电源电压范围比较宽,我试过5V和3.3V都可以,但是有一点必须注意,MBI5026接受的高电平为0.8VDD—VDD,也就是说当VDD为5V的时候,SPI信号必须大于0.8*5V=4V才能认为是高电平。 R_EXT引脚要对地接一个下拉电阻,用途是调整输出电流的大小,这个外部电阻不能太大,手册中给出的最大值为3.5K欧姆。 在使用时LE必须输入高电平,否则数据不能进入锁存寄存器(虎风认为如果你在某个时候不想让MBI5026的状态再改变,则可以把LE引脚拉低,这样发送数据就不会影响片子的输出状态)。 在使用时OE必须输入低电平,这样输入的数据状态才能反映到片子的引脚上。如果OE为高电平,5026的引脚输出将关闭,引脚上没有输出(虎风认为之所以有这样一个功能是因为MBI5026时为LED显示屏所设计的芯片,当一个屏幕输出完毕切换下一个屏幕的时候关闭当前状态可以使显示效果更加清晰)。 LE应该对地接下拉电阻,作用是当没有输入的时候LE可以保持稳定的低电平,拒绝数据输入。 OE应该对VDD接上拉电阻,作用是当没有输入的时候OE可以保持稳定的高电平,拒绝引脚输出。 上面两个电阻的阻值标准为500K欧姆(手册上说的)。 SDO引脚输出上次输入的数据,可以用于级联。 MBI5026例程 #define M5026_OE (110) //P0.10,MBI5026输出使能管脚,为高时MBI5026没有输出,所有输出管脚关闭,为低时将锁存寄存器状态输出到各个端口 #define M5026_LE (124) //P1.24,MBI5026数据锁存管脚,为高时数据可以写入锁存寄存器,为低时锁存寄存器锁定,数据不能输入 int main (void) {// add user source code uint8 i=0; //SPI发送数组,作用是将MBI5026输出端口0-9依次点亮 uint8 arr[20]={0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00}; //ARM管脚功能设置 PINSEL0 = 0 PINSEL1 = 0 PINSEL2 = 0 //ARM管脚方向和状态设置 IO0DIR = 0xFFFFFFFF; IO1DIR = 0xFFFFFFFF; IO0CLR = 0xFFFFFFFF; IO1CLR = 0xFFFFFFFF; //设置OE为低,这样给入的数据才能从5026管脚反映出来 IO0CLR = M5026_OE; //设置LE为高,这样数据才能给入 IO1SET = M5026_LE; SPI_Init(); DelayNS(2000); while(1) { for(i=0; i20; i++) { SPI_SendData(arr[i]); i++; SPI_SendData(arr[i]); //设置一段长的延时,以便观察结果 DelayNS(10000); } } return 0; } MBI5026总结 感觉还是自己太菜了,弄这么一个简单的功能居然搞了三天。嘎嘎……

文档评论(0)

文库创作者 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档