zoukankan      html  css  js  c++  java
  • 中颖电子AD操作

    #define		ADC_DIS		0
    #define		ADC_ENB		1
     
     
    //ADC通道号定义
    #define		ADC_Chanel0			(unsigned char)(0x00<<1)
    #define		ADC_Chanel1			(unsigned char)(0x01<<1)
    #define		ADC_Chanel2			(unsigned char)(0x02<<1)
    #define		ADC_Chanel3			(unsigned char)(0x03<<1)
    #define		ADC_Chanel4			(unsigned char)(0x04<<1)
    #define		ADC_Chanel5			(unsigned char)(0x05<<1)
    #define		ADC_Chanel6			(unsigned char)(0x06<<1)
    #define		ADC_Chanel7			(unsigned char)(0x07<<1)
    
    //*************************************
    // 函数名称:Init_AD
    // 函数功能:对AD初始化,开启或关闭ADC电路 
    // 入口參数:ADC电路使能參数
    // 出口參数:无
    /***************************************/
    void Init_AD(uint8 Mode)
    {
    //     0  1  2  3  4  5   6   7 相应转换时钟为
    //Fsys/2 /4 /6 /8 /12 /16 /24 /32
    	Bank0;
    	if(Mode == ADC_ENB)
    	{
    		ADCON = 0X80 ;	 //打开ADC模块
    		ADT = 0 ;
    		ADT |= (2<<5) ; //Fsys/6 转换时钟
    		ADT |= 5 ; //採样时间设置 0-15
    	}
    	else 
    	{
    		ADCON &= ~0x80 ; //关闭ADC模块 
    	}	
    
    }
    
    
    //*************************************
    // 函数名称:AdcSwitch
    // 函数功能: 在单通道模式下转换某一通道的AD值
    //					 在(扫描模式下)连续转化1-Chanel的
    
    AD值
    // 入口參数:要转换的AD通道号
    // 出口參数:无
    /***************************************/
    void AdcSwitch(uint8 Chanel)
    {	
    	uint8 i = 0 ;
    
    	for(i=20;i>0;i--) ;
    	Bank0; ;
    //	ADCON = 0X80 ;	 //打开ADC模块
    	ADCON = (ADCON & ~(7<<1)) | Chanel ; //选择通道
    	ADCON |= 0x01 ; //開始转换AD
    	while(ADCON & 0x01); //等待转换结束
    
    	return ;
    }
    
    //*************************************
    // 函数名称:INIT_AD
    // 函数功能: AD初始化
    // 入口參数:要转换的AD通道号
    // 出口參数:无
    /***************************************/
    
    void INIT_AD(void)
    {
    	Init_AD(ADC_ENB) ;
    	ADCH = (SETB0) ;	//P4.1作为AD输入
    }
    
    //*************************************
    // 函数名称:ReadAD
    // 函数功能: 读AD
    // 入口參数:要转换的AD通道号
    // 出口參数:无
    /***************************************/
    uint16 ReadAD(void)
    {
    	AdcSwitch(ADC_Chanel0) ;//选择通道0 并进行AD转换
    	return (uint16)(ADDH<<8+ADDL);//返回AD值
    	
    }
    

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
    JQUERY UI Datepicker Demo
    Official online document, install svn server in centOS
    JAVE not work in linux
    AMR 转mp3 失败
    XD, XR, DR 股票
    Linux 下MySql 重置密码
    Difinition Of Done
    Apache, Tomcat, JK Configuration Example
    Linux 安装tomcat
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4843312.html
Copyright © 2011-2022 走看看