找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2275|回复: 1
打印 上一主题 下一主题
收起左侧

stc单片机多路AD转换,串口发送数据

[复制链接]
跳转到指定楼层
楼主
ID:449517 发表于 2020-4-29 14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机多路AD转换,串口发送数据
  1. #include        "config.h"
  2. #include        "adc.h"
  3. #include        "delay.h"
  4. #include        "soft_uart.h"


  5. /*************        功能说明        **************

  6. 本程序演示多路ADC查询采样,通过模拟串口发送给上位机,波特率9600,8,n,1。
  7. 用户可以修改为1~8路的ADC转换。

  8. ******************************************/

  9. /*************        本地常量声明        **************/


  10. /*************        本地变量声明        **************/


  11. /*************        本地函数声明        **************/



  12. /*************  外部函数和变量声明 *****************/


  13. void        ADC_config(void)
  14. {
  15.         ADC_InitTypeDef                ADC_InitStructure;                                //结构定义
  16.         ADC_InitStructure.ADC_Px        = ADC_P10 | ADC_P11 | ADC_P12;        //设置要做ADC的IO,        ADC_P10 ~ ADC_P17(或操作),ADC_P1_All
  17.         ADC_InitStructure.ADC_Speed     = ADC_360T;                        //ADC速度                        ADC_90T,ADC_180T,ADC_360T,ADC_540T
  18.         ADC_InitStructure.ADC_Power     = ENABLE;                        //ADC功率允许/关闭        ENABLE,DISABLE
  19.         ADC_InitStructure.ADC_AdjResult = ADC_RES_H8L2;                //ADC结果调整,        ADC_RES_H2L8,ADC_RES_H8L2
  20.         ADC_InitStructure.ADC_Polity    = PolityLow;                //优先级设置        PolityHigh,PolityLow
  21.         ADC_InitStructure.ADC_Interrupt = DISABLE;                        //中断允许                ENABLE,DISABLE
  22.         ADC_Inilize(&ADC_InitStructure);                                        //初始化
  23.         ADC_PowerControl(ENABLE);                                                        //单独的ADC电源操作函数, ENABLE或DISABLE
  24. }



  25. /**********************************************/
  26. void main(void)
  27. {
  28.         u8        i;
  29.         u16        j;

  30.         ADC_config();

  31.         while (1)
  32.         {

  33.                 for(i=0; i<3; i++)
  34.                 {
  35.                         delay_ms(250);

  36.                 //        Get_ADC10bitResult(i);                //参数0~7,查询方式做一次ADC, 丢弃一次
  37.                         j = Get_ADC10bitResult(i);        //参数0~7,查询方式做一次ADC, 返回值就是结果, == 1024 为错误
  38.                         TxSend('A');
  39.                         TxSend('D');
  40.                         TxSend(i+'0');
  41.                         TxSend('=');
  42.                         TxSend(j/1000 + '0');
  43.                         TxSend(j%1000/100 + '0');
  44.                         TxSend(j%100/10 + '0');
  45.                         TxSend(j%10 + '0');
  46.                         TxSend(' ');
  47.                         TxSend(' ');
  48.                 }
  49.                 PrintString("\r\n");
  50.         }
  51. }
复制代码

多路AD转换,串口发送.rar

30.86 KB, 下载次数: 27, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:502974 发表于 2021-4-6 16:35 | 只看该作者
可以移植到STC8G1K单片机上吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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