搜索

SH79F166A的PWM01互补输出不成功

[复制链接]
943|1
sszxxm|  楼主 | 2013-8-8 12:26 | 显示全部楼层 |阅读模式
使用166A中,PWM0通道可以正常输出PWM波,但是PWM01,也就是那个互补通道死活调不出,没有任何脉冲出来,请大侠出招,谢谢!

IO端口初始化:
        P0                = 0xfd;
        P0CR        = 0x2f;
        P0PCR        = 0xc0;
PWM初始化:
PWMLO = 0x55;
        PWMEN = 0x09;                        // PWM0使能
        PWMEN1 = 0x00;                         
               
        PWM0C = 0x00;                       
        PWM0PL = 0xff;                        // 周期4096
        PWM0PH = 0x0f;
        PWM0DL = 0xff;                        // 默认1/2占空比(临时设置,实际后期调整)
        PWM0DH = 0x07;
        PWM0DT = 0x00;
sszxxm|  楼主 | 2013-8-8 21:34 | 显示全部楼层
终于找到PWM01不能正常工作的原因了,是中颖这个芯片的特殊寄存器较多,引入了BANK这个概念,虽然大部分与常规52兼容,但是仍有很多特殊寄存器被放在一个特殊的BANK1,访问操作这些寄存器,必须先切换INSCON寄存器里的标志位。我没弄这个,直接操作了T5,结果TH5与PWMEN
在地址上重叠,等于是修改了PWMEN寄存器,而实际数字正好是0xb1,PWM01再也出不来了。

分页是麻烦事,不细看手册,太容易中招了

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 wolfe_yu 得到打赏 ¥170.00
  • 2 小叶三千 得到打赏 ¥160.00
  • 3 最美葫芦娃 得到打赏 ¥155.00
  • 4 呐咯密密 得到打赏 ¥115.00
  • 5 hk386 得到打赏 ¥80.00
  • 6 laocuo1142 得到打赏 ¥80.00
  • 7 wzx1994 得到打赏 ¥60.00
  • 8 年轻的国王 得到打赏 ¥60.00
  • 9 bjs1688 得到打赏 ¥55.00
  • 10 木野臻 得到打赏 ¥55.00
在线客服 快速回复 返回顶部 返回列表