项目之后小谈中颖芯片——SH79F166A

 最近刚做完一个项目,刚好用到了国产芯片中颖的SH79F166A,由于是第一次用到这款芯片,很多细节不是很清楚,其中也踩过很多坑,在这里拿出来分享给大家,希望对同样用到这款芯片的朋友遇到相似的问题有所帮助,同时也是对这段时间的一个学习总结吧,这也是我写博客的初衷!

      在这里我不过多的讲解做项目的细节,主要谈谈在使用这款芯片我踩到的一些“坑”。

  首先,看过这款芯片数据手册的朋友,如果仔细一点的话,肯定会发现,寄存器的地址分为两个区,bank0区和bank1区,大部分寄存器存放在bank0区,少部分在bank1区,但是它们存在地址重复的现象,比如你要使用bank1区E1H地址P5,如果此时指针指向的是bank0区,那么你实际使用的是P0,因为它的地址也是E1H;

所以我们每次写寄存器的时候都应该先指向相应的bank区,尤其是中断服务函数里面在进入中断之前先保存好bank区值,在退出中断时恢复bank区值,否则会导致错误。当然细心的朋友肯定会发先有些寄存器没有标明在那个区,那么这时bank区对这类寄存器没影响,INSCON寄存器可以用来更改bank区。

 

       接下来谈谈该款芯片的类eeprom,之所以叫“类”eeprom,那它肯定不是真正的eeprom,事实也是如此,本芯片带有1k的类eeprom存储空间,分四个区,每个区256个字节,谨记,在操作,写入数据时必须先擦除该区的内容,这也许是它和真正的eeprom最大的区别吧,读数据没有此要求,在写入数据过程中记得关中断,防止被打断,操作流程严格按照手册说明即可;

     最后,谈一下系统时钟配置问题,芯片的系统时钟选择通过代码选项来设置,还有一些看门狗功能,低电压复位等等都可以通过代码选项配置,在使用keil编译器时通过编译器选择。至于一些分频的配置可以通过寄存器CLKCON设置。

对于之前完全没有接触过中颖芯片的朋友应该会有所帮助,关于这款芯片的例程网上比较少,做完项目后基本该芯片所有的外设我都用到了,一些配置函数都有在这里贴上几段:

希望对大家有所帮助,如有不对之处,也烦请指正,谢谢大家!!!

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值