2311|2

14

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

CH554的电压比较器能不能产生中断 [复制链接]

CH554的电压比较器能不能产生中断呢?在PDF里似乎没有明确的描述。CMP0是比较器的输出, CMP_IF这一位能在输出结果改变的时候置1。实验代码如下:
  1. void main() {
  2.         EA = 0;
  3.        
  4.         P1_DIR_PU &=~ 0x30;        // P1.4, P1.5 to open-drain
  5.        
  6.         ADC_CFG |= bCMP_EN | bADC_EN | bADC_CLK;        // Enable Comparator
  7.         ADC_CHAN1 = 1;        // P1.5 AIN2  +        (0V or 5V)
  8.         ADC_CHAN0 = 0;
  9.         CMP_CHAN = 0;                // P1.4 AIN1        - (0.55V)

  10.         CMP_IF = 0;
  11.         IP_EX |= bIP_ADC;
  12.         IE_ADC = 1;
  13.        
  14.         EA = 1;

  15. while(1);
  16. }

  17. void ADCInterruptEntry(void) interrupt INT_NO_ADC {
  18.         CMP_IF=0;
  19.         qaq=0;
  20. }
复制代码

P1.4外部接一个RC分压分得0.55V,P1.5外接一个10k电阻到地,外接一个按钮到Vcc(5V)。当按下按钮时P1.5电压大于P1.4,CMPO和CMP_IF都被置1了,这个验证过,但是并没有触发中断。是硬件根本不支持比较器产生中断还是有其他原因呢?
还有一个问题,CH554的比较器参数如何,比如速度失调电压之类的x
此帖出自51单片机论坛

最新回复

比较器使用和中断,参考wch.cn的554最新的例子,现在比较器有单独的使用文件,包含中断方式。  详情 回复 发表于 2018-4-16 09:18
点赞 关注
个人签名DCDC DCAC ACDC
STM32 STM8 51
C C# Java
Minecraft Mod开发
 

回复
举报

63

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
比较器使用和中断,参考wch.cn的554最新的例子,现在比较器有单独的使用文件,包含中断方式。
此帖出自51单片机论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
已经从最新的例子里面看到辣w
感谢~
看了例程发现ADC的中断应该是不停进入的,然后在里面Poll比较器结果改变的flag(CMP_IF),这样会大量的CPU时间浪费在中断上,并不是>真<比较器中断喵
嘛 作为一款主打USB的单片机CH55x还是非常成功哒~
此帖出自51单片机论坛
 
个人签名DCDC DCAC ACDC
STM32 STM8 51
C C# Java
Minecraft Mod开发
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表