找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3364|回复: 1
收起左侧

多路输出ADC0809电压采集 单片机程序

[复制链接]
ID:594453 发表于 2019-8-3 10:24 | 显示全部楼层 |阅读模式

五部分

五部分


五部分组成
51hei图片20190803102112.png



主要电源芯片
51hei图片20190803102124.png

AD采集
51hei图片20190803102130.png

直流电机调速

单片机源程序如下:
  1. #include <reg52.h>
  2. #include"lcd12864.h"            //头文件
  3. #define uchar unsigned char           //宏定义无符号字符型
  4. #define uint  unsigned  int           //宏定义无符号整型
  5. uchar duan[]={"0123456789"};         //所需的段的位码0~9
  6. //uchar wei[4]={0X01,0X02,0X04,0X08};                                                                   //位控制码
  7. sbit ST=P3^0;   //A/D启动转换信号
  8. sbit OE=P3^1;   //数据输出允许信号
  9. sbit EOC=P3^2;  //A/D转换结束信号
  10. sbit CLK=P3^3;  //时钟脉冲

  11. sbit P34=P3^4;
  12. sbit P35=P3^5;
  13. sbit P36=P3^6;
  14. uint z,x,c,v,AD0809, date;        //定义数据类型
  15. /******************************************************************
  16. 延时函数
  17. ******************************************************************/
  18. void delay(uchar t)
  19. {
  20.   uchar i,j;
  21.    for(i=0;i<t;i++)
  22.    {
  23.             for(j=13;j>0;j--);
  24.          { ;
  25.          }
  26.    }
  27. }
  28. /**********************************************************************
  29.                 数码管动态扫描
  30. *********************************************************************/
  31. void xianshi() //显示函数
  32. {
  33. /*****************数据转换*****************************/
  34.   z=date/1000;
  35.   x=date/100%10;
  36.   c=date/10%10;
  37.   v=date%10;
  38. /******************数据显示*****************************/
  39.       write_com(0x93);
  40.           write_data(duan[z]);
  41.           delay(50);  
  42.       write_data(duan[x]);
  43.           hzkdis(".");
  44. //          write_com(0x94);
  45.           delay(50);  
  46.     write_data(duan[c]);
  47.           delay(50);  
  48.       write_data(duan[v]);
  49.           delay(50);  
  50.                                        

  51. }
  52. /*************************************************************************
  53.                                 CLK振荡信号        
  54. **************************************************************************/
  55. void timer0( ) interrupt 1 //定时器0工作方式1
  56. {

  57. TH0=(65536-2)/256;          //重装计数初值
  58. TL0=(65536-2)%256;          //重装计数初值
  59. CLK=!CLK;                          //取反
  60. }

  61. /*************************************************************************
  62.                                 主函数        
  63. **************************************************************************/
  64. void main()
  65. {
  66. TMOD=0X01;                          //定时器中断0

  67. CLK=0;                                  //脉冲信号初始值为0
  68. TH0=(65536-2)/256;          //定时时间高八位初值
  69. TL0=(65536-2)%256;          //定时时间低八位初值
  70. EA=1;                                  //开CPU中断
  71. ET0=1;                                  //开T/C0中断
  72. TR0=1;
  73. P34=1;
  74. P35=0;
  75. P36=0;
  76. lcdinit();
  77. Test();
  78. while(1)                           //无限循环
  79.         {
  80.         ST=0;                                //使采集信号为低
  81.         ST=1;                                //开始数据转换
  82.         ST=0;                                //停止数据转换
  83.         while(!EOC);                //等待数据转换完毕
  84.         OE=1;                                //允许数据输出信号
  85.         AD0809=P0;                    //读取数据
  86.         OE=0;                                //关闭数据输出允许信号
  87.         if(AD0809>=251)
  88.         {                //电压显示不能超过5V
  89.         AD0809=250;
  90.         }
  91.         date=AD0809*7.75;                //数码管显示的数据值,其中20为采集数据的毫安值
  92.         xianshi();                        //数码管显示函数
  93.      
  94.          
  95.     }
  96. }                                                                                                                  
复制代码

所有资料51hei提供下载:
方式二.zip (330.81 KB, 下载次数: 36)
回复

使用道具 举报

ID:328014 发表于 2019-8-3 15:39 | 显示全部楼层
程序和实物对不上吧?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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