pic的eccp其中关于半桥,全桥是什么意思,通俗讲下

pic的eccp其中关于半桥,全桥是什么意思,通俗讲下,第1张

PWM输出驱动一个MOS管的叫半桥;那么宴慎PWM如果铅册有同相和反相输出,然后驱动上下两个MOS管的就叫全桥。如果再来一组全桥的PWM组合就成为H桥。如果要驱动三相的直流无刷电机晌激敬则需要3个全桥结构。

INDF 和 FSR两个寄存器构成了一个间接寻址的作用。

FSR有点像C语言中的指针,INDF是一个虚拟的寄存器,对它 *** 作其实是对FSR锁指向的内存单元 *** 作。

简单的说,当20h这个数赋给了FSR,那么就是FSR作为指针指向了内存中地址为20h的这个单元(以下就用<20h>来表示这个单元,以区别十六进制的20h这个数值),此时INDF就被映射到<20h>。游销

从头说起:

1:W被赋值20h这个数;2:FSR被赋值和W寄存器相同的数20H,此时FSR指向了<20h>;3:此时W寄存器因为没被改变过,所以其数值依然是十六进制的20h那么MOVWF 20H其实就是把W里的数据赋值给<20h>这个内存单元 也就是 <20h>= 20H;

4:重点来了 INCF INDF,让INDF自加1。神稿游前面说了对INDF *** 作敬耐其实就是对FSR所指向的单元 *** 作,也就等同于 INCF <20h>(真正程序里不能这么写的,因为<20h>这杨写法是错误的) 类似C与语言中的<20h>++

5:FSR自加1,FSR内部的值等于21h所以FSR指向了<21h>这个内存单元。

6:<20h>单元的数值高4位和低4位转换一下数据。所以 <20h>= 02h

7:把<20h>的内容赋值给W寄存器,所以w = 02h

8:FSR此时 等于21h ,把21h和W的02h做与运算,结构 0 赋值给FSR。

我绝友看你程序中只用到了Array0,将其余的不用Array1、2、3注释掉,编译并洞槐可以通过。

可能是由于RAM空间太小了,你定义变量占用空间太多了

建议:仔颤脊细看看datasheet关于空间管理部分


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8192967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存