找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5315|回复: 2
打印 上一主题 下一主题
收起左侧

关于STC15W408AS的比较器问题

[复制链接]
跳转到指定楼层
楼主
ID:72088 发表于 2018-8-29 12:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 新乡家电维修 于 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



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:387733 发表于 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为比较器的负极输入源。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:72088 发表于 2018-8-30 12:09 | 只看该作者
sxhwdz 发表于 2018-8-29 19:42
P5.4口默认是正常IO口,如果要作为比较器负输入端,需要预先配置特殊寄存器CMPCR1。该寄存器的BIT2是NIS,   ...

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

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表