欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 209|回复: 0

基于STC15单片机的内部8位AD程序

[复制链接]
发表于 2022-11-20 15:38:03 | 显示全部楼层 |阅读模式
/*
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上电并延时
}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2026-7-13 03:15

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表