⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dfg.c

📁 单片机DA转换源码
💻 C
字号:
#include<reg52.h>
#include<intrins.h>
sfr P1_ADC_EN  = 0x97;
sfr ADC_CONTR  = 0xC5;
sfr ADC_DATA   = 0xC6;
typedef   unsigned char INT8U;
typedef   unsigned int  INT16U;


//延时子程序
void delay(INT8U delay_time)
{
     INT8U     n;
     INT16U    m;
     for (n=0; n<delay_time; n++)
     {
         for (m=0; m<10000; m++); 

      }
}



//初始化川口
void initiate_RS232 (void)
{
  ES=0;
  SCON=0x50;
  T2CON=0x34;
  RCAP2H=0xFF;
  RCAP2L=0xDB;
  ES=1;
  }



//发送字符
void Send_Byte(INT8U one_byte)



{
     TI = 0;
     SBUF = one_byte;
     while (TI == 0)
	 {
	 ;
	 }
	 TI = 0;
}





 //AD
INT8U get_AD_result(INT8U channel)
{
   INT8U AD_finished    =    0;	
   ADC_DATA    =   0;
   ADC_CONTR  = channel;
   delay(1);
   ADC_CONTR  |= 0x08;
   AD_finished = 0;
   while ( AD_finished == 0 ) 
   {
        AD_finished = (ADC_CONTR & 0x10);
    }
    ADC_CONTR &= 0xF7;
    return (ADC_DATA);
}




void main()
{
     initiate_RS232();


     P1    =    P1   |    0x63;
     P1_ADC_EN = 0x63;
     while(1)
     {
         Send_Byte(get_AD_result(0));
         delay(0x200);

         Send_Byte(get_AD_result(1));  
         delay(0x200);

         Send_Byte(get_AD_result(5));  
         delay(0x200);

         Send_Byte(get_AD_result(6));  
         delay(0x200);

         Send_Byte(0);
         Send_Byte(0);
         Send_Byte(0);
         Send_Byte(0);
 
         delay(0x200);
         delay(0x200);
         delay(0x200);
         delay(0x200);
         delay(0x200);
         delay(0x200);
      }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -