找回密码
 立即注册
楼主: 神***

视频讲解:比较器,STC8H系列数据手册 比较器 内容

[复制链接]

该用户从未签到

551

主题

9252

回帖

1万

积分

管理员

积分
13987
 楼主| 发表于 2023-9-26 19:19:51 | 显示全部楼层
17.4.6                 新版比较器的多路复用应用(比较器+ADC输入通道)
由于比较器的正极可以选择ADC的模拟输入通道,因此可以通过多路选择器和分时复用可实现多个比较器的应用。
注意:当比较器正极选择ADC输入通道时,请务必要打开ADC_CONTR寄存器中的ADC电源控制位ADC_POWERADC通道选择位ADC_CHS
C语言代码

//测试工作频率为11.0592MHz
#include "stc8h.h"
#include "intrins.h"
void main()
{
         P_SW2 |= 0x80;                                                                            //使能访问XFR
         P0M0 = 0x00;
         P0M1 = 0x00;
         P1M0 = 0x00;
         P1M1 = 0x00;
         P2M0 = 0x00;
         P2M1 = 0x00;
         P3M0 = 0x00;
         P3M1 = 0x00;
         P4M0 = 0x00;
         P4M1 = 0x00;
         P5M0 = 0x00;
         P5M1 = 0x00;
         P1M0 &= 0xfe;                                                                             //设置P1.0为输入口
         P1M1 |= 0x01;
         ADC_CONTR = 0x80;                                                                 //使能ADC模块并选择P1.0ADC输入脚
         CMPEXCFG = 0x00;
//       CMPEXCFG &= ~0x03;                                                           //P3.7CMP+输入脚
//       CMPEXCFG |= 0x01;                                                                 //P5.0CMP+输入脚
//       CMPEXCFG |= 0x02;                                                                 //P5.1CMP+输入脚
         CMPEXCFG |= 0x03;                                                                 //ADC输入脚为CMP+输入脚
         CMPEXCFG &= ~0x04;                                                            //P3.6CMP-输入脚
//       CMPEXCFG |= 0x04;                                                                 //内部1.19V参考电压为CMP-输入脚
         CMPCR2 = 0x00;
         CMPCR1 = 0x00;
         CMPCR1 |= 0x02;                                                                        //使能比较器输出
         CMPCR1 |= 0x80;                                                                        //使能比较器模块
         while (1);
}

汇编代码

;测试工作频率为11.0592MHz
P_SW2                DATA                  0BAH
CMPCR1            DATA                  0E6H
CMPCR2            DATA                  0E7H
ADC_CONTR    DATA                  0BCH
P1M1                  DATA                  091H
P1M0                  DATA                  092H
P0M1                  DATA                  093H
P0M0                  DATA                  094H
P2M1                  DATA                  095H
P2M0                  DATA                  096H
P3M1                  DATA                  0B1H
P3M0                  DATA                  0B2H
P4M1                  DATA                  0B3H
P4M0                  DATA                  0B4H
P5M1                  DATA                  0C9H
P5M0                  DATA                  0CAH
CMPEXCFG      XDATA               0FEAEH
                            ORG                   0000H
                            LJMP                  MAIN
                            ORG                   0100H
MAIN:
                            MOV                   SP, #5FH
                            ORL                    P_SW2,#80H                                  ;使能访问XFR
                            MOV                   P0M0, #00H
                            MOV                   P0M1, #00H
                            MOV                   P1M0, #00H
                            MOV                   P1M1, #00H
                            MOV                   P2M0, #00H
                            MOV                   P2M1, #00H
                            MOV                   P3M0, #00H
                            MOV                   P3M1, #00H
                            MOV                   P4M0, #00H
                            MOV                   P4M1, #00H
                            MOV                   P5M0, #00H
                            MOV                   P5M1, #00H
                            ANL                    P1M0,#0FEH                                 ;设置P1.0为输入口
                            ORL                    P1M1,#01H
                            MOV                   ADC_CONTR,#80H                      ;使能ADC模块并选择P1.0ADC输入脚
                            MOV                   DPTR,# CMPEXCFG
                            CLR                    A
;                           ANL                    A,#NOT 03H                                  ; P3.7CMP+输入脚
;                           ORL                    A,#01H                                           ; P5.0CMP+输入脚
;                           ORL                    A,#02H                                           ; P5.1CMP+输入脚
                            ORL                    A,#03H                                           ;ADC输入脚为CMP+输入脚
                            ANL                    A,#NOT 04H                                  ; P3.6CMP-输入脚
;                           ORL                    A,# 04H                                          ;内部1.19V参考信号源为CMP-输入脚
                            MOVX                @DPTR,A
                            MOV                   CMPCR2,#00H
                            MOV                   CMPCR1,#00H
                            ORL                    CMPCR1,#02H                              ;使能比较器输出
                            ORL                    CMPCR1,#80H                              ;使能比较器模块
LOOP:
                            JMP                    LOOP
                            END


回复 支持 反对 送花

使用道具 举报

该用户从未签到

551

主题

9252

回帖

1万

积分

管理员

积分
13987
 楼主| 发表于 2023-9-26 19:25:21 | 显示全部楼层
17.4.7                 比较器作外部掉电检测(掉电过程中应及时保存用户数据到EEPROM
截图202309261920492592.jpg

上图中电阻R1和R2对稳压块7805的前端电压进行分压,分压后的电压作为比较器CMP+的外部输入与内部1.19V参考信号源进行比较。
一般当交流电在220V时,稳压块7805前端的直流电压为11V,但当交流电压降到160V时,稳压块7805前端的直流电压为8.5V。当稳压块7805前端的直流电压低于或等于8.5V时,该前端输入的直流电压被电阻R1和R2分压到比较器正极输入端CMP+,CMP+端输入电压低于内部1.19V参考信号源,此时可产生比较器中断,这样在掉电检测时就有充足的时间将数据保存到EEPROM中。当稳压块7805前端的直流电压高于8.5V时,该前端输入的直流电压被电阻R1和R2分压到比较器正极输入端CMP+,CMP+端输入电压高于内部1.19V参考信号源,此时CPU可继续正常工作。
内部1.19V参考信号源即为内部BandGap经过OP后的电压REFV芯片在出厂时,内部参考信号源调整为1.19V。具体的数值要通过读取内部1.19V参考信号源在内部RAM区或者Flash 程序存储器(ROM)区所占用的地址的值获得。对于STC8系列,内部1.19V参考信号源值在RAM和Flash 程序存储器(ROM)中的存储地址请参考 “存储器中的特殊参数”章节

要保证时间足够,就是调整外部电压偏低检测中断的提前量,如
1, 交流220V, 7805稳压电路前端输入是 11V;

2, 交流210V, 7805稳压电路前输入是 10.5V;
3, 交流200V, 7805稳压电路前
输入是 10V;
4, 交流190V, 7805稳压电路前输入是 9.5V;
5, 交流180V, 7805稳压电路前输入是 9V;
6, 交流170V, 7805稳压电路前输入是 8.5V;
7, 交流160V, 7805稳压电路前输入是 8V;
===你这个要提前的量放在 11V/10.5V/10V/9.5V/9V/8.5V ?
===哪个电压点产生外部电压偏低检测中断时间充分的一个实践测试选择

回复 支持 反对 送花

使用道具 举报

该用户从未签到

551

主题

9252

回帖

1万

积分

管理员

积分
13987
 楼主| 发表于 2023-9-27 12:55:38 | 显示全部楼层
先占个高层楼层,好补充内容
回复 支持 反对 送花

使用道具 举报

该用户从未签到

551

主题

9252

回帖

1万

积分

管理员

积分
13987
 楼主| 发表于 2023-9-27 12:55:48 | 显示全部楼层
先占个高层楼层,好补充内容
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    2024-4-17 14:04
  • 签到天数: 98 天

    [LV.6]常住居民II

    3

    主题

    49

    回帖

    413

    积分

    中级会员

    积分
    413
    发表于 2024-1-14 11:31:00 | 显示全部楼层
    本帖最后由 萌芽MENGYA 于 2024-1-14 11:52 编辑

    感觉比较器,不是很容易上手。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9252

    回帖

    1万

    积分

    管理员

    积分
    13987
     楼主| 发表于 2024-1-14 11:43:18 | 显示全部楼层
    STC8H4K64TL,  没旧版,只有 新版

    截图202401141150485695.jpg


    截图202401141151114190.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-17 14:04
  • 签到天数: 98 天

    [LV.6]常住居民II

    3

    主题

    49

    回帖

    413

    积分

    中级会员

    积分
    413
    发表于 2024-1-14 11:49:30 | 显示全部楼层
    神农鼎 发表于 2024-1-14 11:43
    STC8H4K64TL,  没旧版,只有 新版

    好。一时间忘记了,型号直接区分新版旧版。之前以为是同一个型号区分新旧版
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-7 11:08
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    4

    主题

    5

    回帖

    54

    积分

    注册会员

    积分
    54
    发表于 2024-3-14 15:45:31 | 显示全部楼层
    CHYS这个怎么用 把这个能连到负端最好
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9252

    回帖

    1万

    积分

    管理员

    积分
    13987
     楼主| 发表于 2024-3-14 16:25:05 | 显示全部楼层
    截图202403141625028936.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 15:28
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    0

    主题

    76

    回帖

    236

    积分

    中级会员

    积分
    236
    发表于 前天 14:33 | 显示全部楼层
    回复 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-1 10:13 , Processed in 0.072732 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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