宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409
Fax: 0755-82944243
INT8U get_AD_result(INT8U channel)
{
INT8U AD_finished
ADC_DATA
=
0;
// 存 A/D
志
=
0;
ADC_CONTR = channel;
delay(1);
//
//使 入
//0000,1000 令 ADC_START = 1, 启 A/D
A/D 当前通道
达到 定
ADC_CONTR |= 0x08;
AD_finished = 0;
while ( AD_finished == 0 )
{
//等待A/D
束
AD_finished = (ADC_CONTR & 0x10); //0001,0000, ADC_FLAG ==1
A/D
束否
}
ADC_CONTR &= 0xF7;
return (ADC_DATA);
// 1111,0111 令 ADC_START = 0, 关 A/D
,
// 返回 A/D
果
}
void main()
{
initiate_RS232();
P1 P1
=
|
0x63; // 0110,0011,要 置 A/D
的P1.x口,先
高
P1_ADC_EN = 0x63;
//0110,0011, P1 的P1.0,P1.1,P1.5,P1.6 置 A/D
// 断开P1.0,P1.1,P1.5,P1.6内部上拉 阻
入脚
while(1)
{
Send_Byte(get_AD_result(0)); //P1.0
delay(0x200);
A/D 当前通道, 量并 送 果
A/D 当前通道, 量并 送 果
A/D 当前通道, 量并 送 果
A/D 当前通道, 量并 送 果
送 4 个 00H, 便于 察 出 示
Send_Byte(get_AD_result(1)); //P1.1
delay(0x200);
Send_Byte(get_AD_result(5)); //P1.5
delay(0x200);
Send_Byte(get_AD_result(6)); //P1.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);
// 延
}
}
宏晶科技:
片机/存 器供 商 www.MCU-Memory.com STC 增 型8051 片机中文指南(RC/RD+系列)
34