打印
[其它应用]

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

[复制链接]
4823|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
      这段时间刚做完一个项目,用到了中颖的SH79F166A芯片,之前也没有接触过中颖芯片,前期查阅了很多资料,也常常在21ic翻看前人足迹,有找到遇到相同问题的,但也有很多没有提及的,比较零碎,自己做完项目之后就把这些遇到过的问题,踩过的一些坑拿来和大家分享,希望对大家有所帮助,同时不对之处希望大家不吝赐教!
      下面是我拷贝自己在博客园写的相关**。
      最近刚做完一个项目,刚好用到了国产芯片中颖的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设置。


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






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

沙发
黑夜之狼| | 2017-5-20 00:18 | 只看该作者
当初刚入门的时候,也踩到bank0和bank1这个坑

使用特权

评论回复
板凳
电子绝对爱好者|  楼主 | 2017-5-22 10:05 | 只看该作者
黑夜之狼 发表于 2017-5-20 00:18
当初刚入门的时候,也踩到bank0和bank1这个坑

使用特权

评论回复
地板
瓜木| | 2017-6-7 19:09 | 只看该作者
虽然没用过,但还是必须顶一下楼主的

使用特权

评论回复
5
sopc12| | 2017-11-30 14:09 | 只看该作者
图片看不见

使用特权

评论回复
6
电子绝对爱好者|  楼主 | 2017-12-4 19:34 | 只看该作者
7
hanbing0898| | 2021-12-13 18:12 | 只看该作者
不错

使用特权

评论回复
8
rankey| | 2021-12-13 19:10 | 只看该作者
很聪明,居然关掉了看门狗~~没踩到狗屎~

使用特权

评论回复
9
域微| | 2022-3-16 22:46 | 只看该作者
进中断,压栈,出中断,出栈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

45

帖子

2

粉丝