📄 adcmain.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -