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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1933|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

中穎單片機(jī)79H1612A采集不到數(shù)據(jù)是怎么回事?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:582708 發(fā)表于 2019-7-20 16:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 qiangrenliwei 于 2019-7-20 18:48 編輯

請(qǐng)教各位朋友,
中穎單片機(jī)79H1612A單片機(jī)AD采集不到數(shù)據(jù)是怎么回事?
下面是我的程序:


#include <SH79F1612A.H>
#include <intrins.h>
#include <config.h>

typedef unsigned char      uint8;                  
typedef signed   char      int8;                    
typedef unsigned short     uint16;                  
typedef signed   short     int16;                  
typedef unsigned long      uint32;                  
typedef signed   long      int32;                  

uint16 adval;



void delay(uint16 i)
{
        while(i--);
}


void Init_IO()
{
                P4M0 = 0x00;
                P4M1 = 0x04;
                P3M0 = 0x00;
                P3M1 = 0x04;
}



uint16 Sample_AD(uint8 ch,uint8 smdt)
{
         uint16 adval;
         
   if(smdt==0)
   {
      ADT=Bin(00000000);   
   }
   else
   {
      ADT  =Bin(11101111);  
   }        

   switch(ch)
   {
      case 0:       //AN0
               ADCH=Bin(00000001);
         ADCON=Bin(10000001);  
               break;
      case 1:       //AN1
               ADCH=Bin(00000010);
         ADCON=Bin(10000011);
               break;
      case 2:       //AN2
               ADCH=Bin(00000100);
         ADCON=Bin(10000101);  
               break;
      case 3:       //AN3
               ADCH=Bin(00001000);
         ADCON=Bin(10000111);  
               break;      
      case 4:       //AN4
               ADCH=Bin(00010000);
         ADCON=Bin(10001001);  
               break;
      case 5:       //AN5
               ADCH=Bin(00100000);
         ADCON=Bin(10001011);
               break;  
      case 6:       //AN6
               ADCH=Bin(01000000);
         ADCON=Bin(10001101);   
               break;  
      case 7:       //AN7
               ADCH=Bin(10000000);
         ADCON=Bin(10001111);  
               break;
      default:
               break;
   }

   while((ADCON&Bin(01000000))==0)
   {
      _nop_();
   }           

   adval=ADDH*4+ADDL;
   ADCON=Bin(00000000);   
   
   return(adval);
}               
/*********************************************************************************************

** oˉêyÃû3Æ: main
** oˉêyÃèêö: Ö÷oˉêy
** êäèë2Îêy: ÎT
** êä3ö2Îêy: ÎT
*********************************************************************************************/
void main()
{        
                P4_2 = 1;
                Init_IO();
                //Init_AD();
while(1)
{
Sample_AD(1,1);
                //GetADCH_8();
                //GetADCL_8();
                //GetADC_16();
                if(adval >1001001110)
                {
                         P4_2 = 0;
                         P3_2 = 0;
                         delay(50000);
                   P3_2 = 1;
                   delay(50000);

          }
         else
         {
                   P4_2 = 1;
         }
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:582708 發(fā)表于 2019-7-20 18:46 | 只看該作者
問(wèn)題補(bǔ)充:adval=ADDH*4+ADDL,這句看不明白為什么ADDH*4,這款單片機(jī)是10位的AD
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表