欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1690|回復: 1
打印 上一主題 下一主題
收起左側

關于我的單片機+ad0809模塊 EOC一直處于低電平

[復制鏈接]
跳轉到指定樓層
樓主
做學校的電子設計競賽要做一個電壓測量器,想使用ad0809模塊去做,ad0809的IN0口外接了一個ne555信號發生器,單片機使用的是STC89C52RC,輸入地址位使用模塊上的跳線帽選擇了IN0,設備的其余部分還沒有加上去,但是測試的時候發現程序一直卡在“while(EOC==0)”這個地方無法繼續運行,想請求各位大佬看看可能是什么問題,萬分感謝!

以下是單片機代碼部分
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint volt=0; //電壓值測定值
sbit CLK=P2^7; //時鐘信號
sbit START=P2^4; //轉換啟動開關
sbit EOC=P2^5;        //轉換結束標志
sbit OE=P2^6;//定義ADC0809各腳
void delay(uint x)
{
        uchar y,z;
        for(y=x;y>0;y--)
                for(z=250;z>0;z--);
                }




void ADC()
{
        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;//輸出轉換結束 (要在獲取轉換值之后)
}






void timer() interrupt 1
{
        TH0=(65536-2)/256;   //重裝計數初值
TL0=(65536-2)%256;   //重裝計數初值
CLK=!CLK;     //取反
}


void main()
{
  TMOD=0X01;  
CLK=0;   
TH0=(65536-2)/256;  
TL0=(65536-2)%256;

        ET0=1;//開定時器0中斷
        TR0=1;//開啟定時器0*/
        while(1)
        {
                ADC();//調用模數轉換程序        
}
}




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:917576 發表于 2021-5-8 18:43 來自觸屏版 | 只看該作者
求求各位大佬幫助(οο)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表