13163935507 发表于 2022-12-19 19:32:07

求一个。8个角stc15w204s写比较器程序视频

求一个。8个角stc15w204s写比较器程序视频

陈家乐 发表于 2024-11-1 15:47:51

这个管脚确实少啊

VCC 发表于 2024-11-1 16:13:47

STC15W201S系列的比较器,可当1路ADC使用,并可作掉电检测,支持外部管脚CMP+与外部管脚CMP-进 行比较,可产生中断,并可在管脚CMPO上产生输 出(可设置极性),也支持外部管脚 CMP+与内部参考电压进行比较 若被用作比较器正极(CMP+)/负极(CMP-), 则要被设置为高阻输入


看描述好像挺容易使用的,你具体要用比较器做什么用,可以详细说说,大伙儿一起研究研究{:lol:}

梁工 发表于 2024-11-1 16:39:53

你要什么样的程序?STC15W系列的比较器都是通用的。


#include        "STC15Fxxxx.H"

void        Compare_Config(void);        //比较器初始化
/*************        主函数 **************/

void main(void)
{
        Compare_Config();        // 比较器初始化函数

        while (1)

        {
                if((CMPCR1 & CMPRES) > 0)        P33 = 1;        //比较结果, 1: CMP+电平高于CMP-,0: CMP+电平低于CMP-,只读
                else                                                P33 = 0;
        }
}

void        Compare_Config(void)        //比较器初始化
{
        P5n_pure_input(0x30);        //P5.4 P5.5 设置为高阻输入

        CMPCR1 = 0;
        CMPCR2 = 60;                //比较结果变化延时周期数, 0~63
        CMPCR1 |= (1<<7);        //1: 允许比较器,   0:关闭比较器
        CMPCR1 |= (0<<5);        //1: 允许上升沿中断, 0: 禁止
        CMPCR1 |= (0<<4);        //1: 允许下降沿中断, 0: 禁止
        CMPCR1 |= (0<<3);        //输入正极性选择, 0: 选择外部P5.5做正输入,         1: 由ADC_CONTR所选择的ADC输入端做正输入.
        CMPCR1 |= (1<<2);        //输入负极性选择, 0: 选择内部BandGap电压BGv做负输入, 1: 选择外部P5.4做输入
        CMPCR1 |= (0<<1);        //1: 允许比较结果输出到P1.2,0: 比较结果禁止输出到IO
        CMPCR2 |= (0<<7);        //1: 比较器结果输出P1.2取反, 0: 不取反
        CMPCR2 |= (0<<6);        //0: 允许内部0.1uF滤波,1: 关闭
}



页: [1]
查看完整版本: 求一个。8个角stc15w204s写比较器程序视频