
就我个人来说,认为这个ADCIS[2:0]有可能指的就是ADC_CONTR寄存器的CHS[2:0]位域。你可以做一下试验:
① 在ADC_POWER=0的情况下,切换CHS[2:0]的值,看看对应的ADC通道有没有作为比较器的同相输入端作用;(理论上我们并不需要ADC模块真的供电工作,只是借用一下其模块前端的多路开关而已)
② 如果不行,就将ADC_POWER=1,看看此时的情况如何。
如果都不行,那就只能咨询STC的技术服务了。
首先配置它的时钟源
初始化比较器(可以设置成自动重载)
设置一个初始值
如果是向下计数的话就是从这个值开始一直减到0
开启中断
当减到0时条件满足产生比较中断
写程序的话按照这个步骤应该就可以调通了。
CMPCR1 = 0xE6 //比较器控制寄存器1
CMPCR2 = 0xE7 // 比较器控制寄存器2
使能比较器,即CMPEN置1即可
ORL CMPCR1,#80 使能比较器,CMPEN=1
下面是一个比较器输入+端接P55,-接内部电压的配置例子
MOV CMPCR1,#80H 1000 0000使能比较器CMPEN=1
MOV CMPCR2,#3FH ,比较器输入+端接P55,-接内部电压
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)