sfr ADC_RES=0xBD; 声明 转换结果寄存器
转换出来的分数保存在这个寄存器里,范围0~255。
假如写程序 a=ADC_RES; a就获得转换结果了。
sfr P1ASF=0x9D 声明 P1口模拟功能寄存器
设置P1.7引脚对应的程序是: P1ASF=0x80;
sfr ADC_CONTR=0xBC 声明 模数转换寄存器
.
这个寄存器里面参数较多,不过我们只需要用该用到的就行了,别的暂时不用理会。
寄存器的后三位是引脚选择,000~111,0到7代表P1.0~P1.7引脚。
开始P1.7引脚AD转换,你可以直接设置为 1000 1111,也可以分开再相加 1000 1000+111
对应程序,可以写作 ADC_CONTR=0x8F; 也可以写作 ADC_CONTR=0x88+7;
AD转换例程
P1ASF=0x80; //设置P1.7引脚
ADC_CONTR=0x88+7; //开始P1.7引脚转换
Delay50us(); //等待AD转换完成
a=ADC_RES; //读取转换结果
转换出来的分数保存在这个寄存器里,范围0~255。
假如写程序 a=ADC_RES; a就获得转换结果了。
sfr P1ASF=0x9D 声明 P1口模拟功能寄存器

设置P1.7引脚对应的程序是: P1ASF=0x80;
sfr ADC_CONTR=0xBC 声明 模数转换寄存器

这个寄存器里面参数较多,不过我们只需要用该用到的就行了,别的暂时不用理会。
寄存器的后三位是引脚选择,000~111,0到7代表P1.0~P1.7引脚。
开始P1.7引脚AD转换,你可以直接设置为 1000 1111,也可以分开再相加 1000 1000+111
对应程序,可以写作 ADC_CONTR=0x8F; 也可以写作 ADC_CONTR=0x88+7;
AD转换例程
P1ASF=0x80; //设置P1.7引脚
ADC_CONTR=0x88+7; //开始P1.7引脚转换
Delay50us(); //等待AD转换完成
a=ADC_RES; //读取转换结果
单片机时钟为12M时,一次AD转换最慢也是45us,所以等待50us即可保证转换完成。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、