adcmain.c
来自「这是单片机C51典型应用设计代码」· C语言 代码 · 共 42 行
C
42 行
#include <reg509.h>
#include <stdio.h>
/*------------------------------------------------------------------------------
Read_ADC( unsigned char ): reads an analog signal from the received unsigned
char and returns the converted value
------------------------------------------------------------------------------*/
unsigned Read_ADC( unsigned char channel )
{
ADCON1 &= ~0x0F; //Clears Channel for selection
ADCON1 |= 0x0F & channel; //Selects received Channel
ADDATL |= ~ADDATL; //Write to ADDATL starts execution of ADC
while( ADCON0 & 0x10); //Wait until A to D is complete
return( ( ( (unsigned) ADDATH << 8) | ADDATL ) >> 6 );
}
/*---------------------------------------------------------
main() : Outputs the digital conversion of channels 0 - 11.
---------------------------------------------------------*/
void main( void )
{
unsigned char i;
S0CON = 0x50; // SCON: mode 1, 8-bit UART, enable rcvr
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit reload
TH1 = 221; // TH1: reload value for 1200 baud @ 16MHz
TR1 = 1; // TR1: timer 1 run
TI0 = 1; // TI: set TI to send first char of UART
while(1)
{
for( i = 0; i < 15; i++ )
{
printf("Channel %2u = %4u\n", (unsigned) i, Read_ADC( i ) );
}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?