- 打卡等级:初来乍到
- 打卡总天数:8
- 最近打卡:2024-04-30 10:11:06
中级会员
- 积分
- 425
|
本帖最后由 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;
}
}
}
|
|