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

📄 przetwornikac.c

📁 LPC2103 - preasure measurement.
💻 C
字号:
/******************************************************************************/
/* PrzetwornikAC.c                                                            */
/******************************************************************************/

#include <LPC2103.H>                   //Definicje dla procesora LPC2103.

#ifndef __PrzetwornikAC_c			   //Zabezpieczenie przed wielokrotnym wczytaniem pliku.
#define __PrzetwornikAC_c

void inicjalizujPrzetwornikAC(void)    //Inicjalizuje przetwornik A/C.
  {									  
   PINSEL1 |= 0x0000F000; 			   //P0.22 -> AD0.0,P0.23 -> AD0.1.
   ADCR    = 0x00200400;               //AD0 taktowany z f=3MHz (PCLK/(4+1)),
                                       //konwersje robione programowo, 11 clock'體/10bitow.
  }

void zmierzNapiecia(unsigned int *a,unsigned int *b)
  {
   unsigned int i;				       //Zmiena pomocnicza.
   
   ADCR  = 0x00200401;                 //Probkowany bedzie kanal AD0.0. 
   ADCR |= 0x01000000;                 //Rozpoczecie pomiaru.
    
   do
     {
      i = ADGDR;                      //Odczyt z Global Data Register.
     }
   while ((i & 0x80000000) == 0);     //Czekanie na koniec pomiaru.

   *a = (i >> 6) & 0x03FF;            //Bity 6..15 zawieraja wartosc zmierzona.

   ADCR &= ~0x01000000;               //Zatrzymaie przetworika.

   ADCR  = 0x00200402;                //Probkoway bedzie kanal AD0.1. 	 
   ADCR |= 0x01000000;                //Rozpoczecie pomiaru.
    
   do
     {
      i = ADGDR;                      //Odczyt z Global Data Register.
     }
   while ((i & 0x80000000) == 0);     //Czekanie na koniec pomiaru.
    
   *b = (i >> 6) & 0x03FF;            //Bity 6:15 zawieraja wartosc mierzona.
	
   ADCR &= ~0x01000000;               //Zatrzymanie przetwornika.
  }

 #endif // __PrzetwornikAC_c

⌨️ 快捷键说明

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