📄 adcmain.c
字号:
#include <reg505C.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 )
{
ADCON0 &= ~0x07; //Clear Input Channel
ADCON0 |= 0x7 & channel; //Set Channel input
ADST |= 0x01; //Starts the conversion with a write to the register
while( ADCON0 & 0x10 ); //Wait for conversion to end
return( (unsigned) ADDAT );
}
/*------------------------------------------------------------------------------
main() : Outputs the digital conversion of channels 0 - 11.
------------------------------------------------------------------------------*/
void main( void )
{
unsigned char i;
SCON = 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
TI = 1; // TI: set TI to send first char of UART
while(1)
{
for( i = 0; i < 8; i++ )
{
printf("Channel %2u = %4u\n", (unsigned) i, Read_ADC( i ) );
}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -