问答

汇集网友智慧,解决技术难题

1169006721

TA的家园币:10  

  • 我的ad0809模块EOC一直处于低电平

    做学校的电子设计竞赛要做一个电压测量器,想使用ad0809模块去做,ad0809的IN0口外接了一个ne555信号发生器,单片机使用的是STC89C52RC,输入地址位使用模块上的跳线帽选择了IN0,设备的其余部分还没有加上去,但是测试的时候发现程序一直卡在“while(EOC==0)”这个地方无法继续运行,想请求各位大佬看看可能是什么问题,万分感谢!#include#defineuintunsignedint#defineucharunsignedcharuintvolt=0;//电压值测定值sbitCLK=P2^7;//时钟信号sbitSTART=P2^4;//转换启动开关sbitEOC=P2^5;//转换结束标志sbitOE=P2^6;//定义ADC0809各脚voiddelay(uintx){uchary,z;for(y=x;y>0;y--)for(z=250;z>0;z--);}voidADC(){EA=1;//开中断OE=0;//确保进入正常AD转换状态START=0;delay(10);START=1;delay(10);START=0;//ad开始转换while(EOC==0);OE=1;EA=0;//关中断volt=P0;//获取转换值保存到volt中,(P0为转换后数据)volt=volt*196;OE=0;//输出转换结束(要在获取转换值之后)}voidtimer()interrupt1{TH0=(65536-2)/256;//重装计数初值TL0=(65536-2)%256;//重装计数初值CLK=!CLK;//取反}voidmain(){TMOD=0X01;CLK=0;TH0=(65536-2)/256;TL0=(65536-2)%256;ET0=1;//开定时器0中断TR0=1;//开启定时器0*/while(1){ADC();//调用模数转换程序}}

    ad0809 电平 ST start dc While

    2021-05-08 0