【STC系列】AD采集-P14端口模拟量数值发送到串口

【STC系列】采集AD-P14端口模拟量数值发送到串口


  • 自制开发板,所展示的开发板已经全部开源,感兴趣学习和制作的请看往期文章。
    在这里插入图片描述
  • 实验对象开发板:STC15F2K60S2-28I-PDIP40
    在这里插入图片描述
    -实际调试串口输出的数据动态显示
    在这里插入图片描述

接线说明

  • 我选择的是P1.4,当然你可以支持ADC的任意个IO引脚。
    在这里插入图片描述
    在这里插入图片描述

主程序

/*--------------------------------------------------------------------------------
 * 项目名称:

     AD模拟量采集测试程序 V1.0.0

 * 功能描述:

     1、采集ADC口的数据发送到串口显示


 * 配置说明:
     MCU:             STC15F2K60S2
     开发板:       	  STC15F2K60S2开发板
     晶振:      	 外部时钟:11.0592MHz
     扩展模块:  	  --10K可调定位器
 * 备注:
     - 将开发板的串口与电脑串口连接
-------------------------------------------------------------------------------------*/
/************************包含头文件***************************************************/

#include<STC15W.h>
#include<USART.h>
#include<ADC.h>

//定义要采集AD通道
#define ch	4		//即P1.4端口

//sfr P1M1 = 0x91;    //PxM1.n,PxM0.n     =00--->Standard,    01--->push-pull
//sfr P1M0 = 0x92;    //                  =10--->pure input,  11--->open drain

/************************主函数******************************************************/
void main()
{
    unsigned int res=0;
    unsigned char result[4]= {0};
//将P1口设置为双向口模式
    P1M1=0;
    P1M0=0;

    InitSerialPort(); 		//初始化串口,波特率9600,8bit数据位,1停止位,无校验
    OpenADC_CHx(ch);

    while(1)
    {
        //发送数据采集结果
        SendByte('\t');
        SendString("AD_Value = ");
        GetADCResult_Char(ch,result);
        SendString(result);
        //SendByte(GetADCResult_High(ch));
        //SendByte(GetADCResult_Low(ch));
        //换行
        SendByte('\n');
        //延时
        Delay(30);
    }
}
/*********************************The End****************************************/

程序打包下载

链接:https://pan.baidu.com/s/16gwMG9VD8l605iN7ZLJrUg 
提取码:tqky

版权声明:本文为CSDN博主「perseverance52」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42880082/article/details/122703598

生成海报
点赞 0

perseverance52

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

ESP8266 无限重启踩坑

最近做了一个电子墨水屏万年历,在移植屏幕代码时遇到了esp8266无限软复位的问题,如果你的串口打印是以下图片所示,那么恭喜你问题解决了。 造成软复位的原因是因为,程序里有死循环&#xf

Lin总线通信在STM32作为主机代码以及从机程序

距离上次做资料准备已经过去六天了。最近在学车,上周末就没有开电脑。这周开始进行了Lin通信的代码整理,目前是可以正常通信的了,采用的是增强型校验方式。后期再进一步跟进研究。。。更新一博,留