求一个。8个角stc15w204s写比较器程序视频
求一个。8个角stc15w204s写比较器程序视频这个管脚确实少啊
STC15W201S系列的比较器,可当1路ADC使用,并可作掉电检测,支持外部管脚CMP+与外部管脚CMP-进 行比较,可产生中断,并可在管脚CMPO上产生输 出(可设置极性),也支持外部管脚 CMP+与内部参考电压进行比较 若被用作比较器正极(CMP+)/负极(CMP-), 则要被设置为高阻输入
看描述好像挺容易使用的,你具体要用比较器做什么用,可以详细说说,大伙儿一起研究研究{:lol:} 你要什么样的程序?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]