STC15W402AS,怎么比较没反应呢?
本帖最后由 rzsnb 于 2023-11-24 09:53 编辑如题,用STC15W402AS做了一个简单传感器,光电芯片输出通过单片机第五通道(ADC5)输入,和片内1.27V基准电压比较,单片机IO口输出产生高或低电平,比较没反应,帮忙看看什么原因,
void main()
{
P0M0 = 0x00; //PxM1.n,PxM0.n =00--->Standard, 01--->push-pull
P0M1 = 0x00; // =10--->pure input,11--->open drain
P1M0 = 0x02;
P1M1 = 0x20;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x81;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x20;
P5M1 = 0x00;
P6M0 = 0x00;
P6M1 = 0x00;
P7M0 = 0x00;
P7M1 = 0x00;
P5 = 0x20;
// InitUart(); //初始化串口
// InitADC(); //初始化ADC
// IE = 0xa0; //使能ADC中断
//开始AD转换
Delay(1);
ADC_CONTR=0x85;
CMPCR1=0;
CMPCR2=0;
CMPCR1|= 0x08;
CMPCR1&=~0x04;
CMPCR1&=~0x02;
CMPCR2&=~0x80;
CMPCR2&=~0x40;
CMPCR2|= 0x7F;
while (1)
{
CMPCR1|=0x80;
while(!(CMPCR1&0x40));
CMPCR1&=~0x40;
if(CMPCR1&0x01)
{
P1&=~0x02;
P3|= 0x81;
}
else
{
P1|= 0x02;
P3&=~0x81;
}
}
}
先将ADC结果通过串口传给电脑串口助手看看。板上有显示也可以直接显示出来。 本帖最后由 rzsnb 于 2023-11-24 14:52 编辑
梁工 发表于 2023-11-24 12:27
先将ADC结果通过串口传给电脑串口助手看看。板上有显示也可以直接显示出来。 ...
正常了,用了例程
页:
[1]