标题: 关于STC15W408AS的比较器问题 [打印本页]

作者: 新乡家电维修    时间: 2018-8-29 12:24
标题: 关于STC15W408AS的比较器问题
本帖最后由 新乡家电维修 于 2018-8-30 12:20 编辑

P5.5是比较器正输入端,
P5.4是比较器负输入端,
如果比较器负端选择了内部的参考电压1.27V,那么P5.4现在还能作为一个正常IO口使用吗?
有高人用过吗,回答下
解决了,经过实验程序测试,负端选择内部参考电压,不影响P5.4口作为正常IO口使用,


;汇编比较器使用(中断方式,中断入口00ABH)
CMPCR1        DATA         0E6H        ;比较器控制寄存器1
CMPEN        EQU         080H        ;B7,比较模块使能位,1允许,0禁用
CMPIF        EQU         040H        ;B6,中断标志位,1是有中断,必须手动清零(有中断此位置1,需要手动清零)
PIE                EQU         020H        ;B5,上升沿使能位,1允许,0禁用
NIE                EQU                010H        ;B4,下降沿使能位,1允许,0禁用
PIS                EQU         008H        ;B3,+极选择位,1选ADCIS,0选P5.5+
NIS                EQU         004H        ;B2,-极选择位,1选P5.4,0选内部BGV
CMPOE        EQU         002H        ;B1,1输出P1.2,0禁止到P1.2
CMPRES        EQU                001H        ;B0,比较结果,只读(+端高于-端输出1,+端低于-端输出0,直接反应比较器结果,不受软件控制,只读)

CMPCR2        DATA        0E7H        ; 比较器控制寄存器2
INVCMPO  EQU        080H        ;B7,1取反后输出到P1.2,0正常输出
DISFLT           EQU        040H        ;B6,1无0.1us延时输出,0有0.1us延时输出
LCDTY           EQU        03FH        ;B5-B0,输出抖动时间控制(防止误触发)00000表示没有延时

附上我的测试程序,修改过的,官网推荐程序复杂繁琐,下面是我修改过的,只有短短几行,
稍加改动就能实际应用,我打算用于停机保存数据到EEPROM。
测试成功程序:
        ORG        00H
        LJMP        MAIN
        ORG         00ABH        ;比较器中断入口
        LJMP        INT_8
;===============================
        ORG        0100H
MAIN:
        MOV        0E6H,    #10010000B
        MOV        0E7H,#0
        SETB        EA
        SJMP        $
;===========================================
INT_8:
        MOV        A,0E6H
        MOV        P1,A
        RETI
        END




作者: sxhwdz    时间: 2018-8-29 19:42
P5.4口默认是正常IO口,如果要作为比较器负输入端,需要预先配置特殊寄存器CMPCR1。该寄存器的BIT2是NIS,  复位后NIS=0,P5.4是正常IO口, NIS置1后,P5.4口是比较器负输入端。

CMPCR1 : 比较器控制寄存器1
SFR name   Address   bit      B7        B6      B5     B4     B3     B2      B1         B0
CMPCR1      E6H        name  CMPEN CMPIF PIE    NIE    PIS    NIS    CMPOE   CMPRES

NIS: 比较器负极选择位
NIS = 1, 选择内部管脚P5.4为比较器的负极输入源; ;
NIS = 0, 选择内部BandGap电压BGV为比较器的负极输入源。
作者: 新乡家电维修    时间: 2018-8-30 12:09
sxhwdz 发表于 2018-8-29 19:42
P5.4口默认是正常IO口,如果要作为比较器负输入端,需要预先配置特殊寄存器CMPCR1。该寄存器的BIT2是NIS,   ...

解决了,我将在主贴上回复说明




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1