|
|
/*
15单片机内部AD程序
此程序直接使用P1口做位AD检测,程序使用必须先调用程序初始化
使用read_neibuad(通道(0—7))函数返回一个值,5V=255;0V=0;8位AD
*/
/*
本人承接毕业设计,程序设计,PCB设计, 电子产品维修,DIY设计,电子装配调试技能竞赛训练套件销售等方面
以下程序来源于本人编写,部分来源于官方,若遇到程序无法运行,或者其他问题可以随时于本人联系
*/
#include "neibuad.h"
unsigned int read_neibuad(unsigned char passageway)//读出了ADC的值,ch是通道
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | passageway | ADC_START;
_nop_(); //等待4个NOP
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));//等待ADC转换完成
ADC_CONTR &= ~ADC_FLAG; //Close ADC
return ADC_RES; //返回ADC结果
}
void init_neibuad()
{
P1ASF = 0xff; //设置P1口为AD口
ADC_RES = 0; //清除结果寄存器
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
delay_ms(10); //ADC上电并延时
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|