找回密码
 立即注册

QQ登录

只需一步,快速开始

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

模块化STC12C5A60S2单片机自带AD源程序 12864显示电流值

[复制链接]
ID:387487 发表于 2018-8-18 10:27 | 显示全部楼层 |阅读模式
单片机源程序如下:
  1. #include"AD.H"
  2. //UINT8 code tongdao[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};                 //通道选择0-7
  3. int getad(UINT8 tongdao);
  4. void ad_init()
  5. {
  6. P1M0=0xff;
  7. P1M1=0xff;                        //P1口设置成开漏模式
  8. ADC_CONTR=0xe0;                //开A/D控制寄存器  ADC_POWER(AD电源控制位) SPEED1、SPEED0(为转换速率选择位(都为1时)速度最快为210个时钟/次) ADC_FLAG 转换结束标志位 ADC_START:ADC转换器的启动控制位 CHS2、CHS1、CHS0:模拟量信号输入通道选择位
  9. delay(2000);
  10. }

  11. int getad(UINT8 tongdao)                  //转换函数
  12. {
  13. UINT8 jieshu=0;
  14. int jieguo;
  15. ADC_CONTR|=tongdao;
  16. ADC_CONTR|=0x08;
  17. while(jieshu==0)
  18. {
  19. jieshu=(ADC_CONTR&0x10);
  20. }
  21. //jieguo=(ADC_DATA<<2)+ADC_LOW2;   //5410ad单片机用数据调取
  22.          jieguo=ADC_RES;                                  //60s2单片机用数据调取
  23. ADC_CONTR&=0xef;
  24. return (jieguo);
  25. }

  26. float qiuzhi(UINT8 tongdao)                           //滤波求值函数
  27. {
  28. float junzhi=0;
  29. UINT8 i;
  30. for(i=15;i>0;i--)
  31. {
  32. junzhi+=getad(tongdao);
  33. }
  34. junzhi/=15.0;
  35. junzhi=((junzhi*5.0)/0.256)+5;
  36. //junzhi=junzhi*0.13-30.0;
  37. //junzhi=junzhi/6.5536;
  38. junzhi=(2507-junzhi)/0.86;

  39. return (junzhi);

  40. }
复制代码

所有资料51hei提供下载:

12864液晶中文资料.doc

1.5 MB, 下载次数: 24, 下载积分: 黑币 -5

12864点阵型液晶显示屏的基本原理与使用方法.doc

622.5 KB, 下载次数: 24, 下载积分: 黑币 -5

模块化 AD 12864显示电流值.zip

58.65 KB, 下载次数: 72, 下载积分: 黑币 -5

回复

使用道具 举报

ID:412814 发表于 2019-1-26 21:15 | 显示全部楼层
下载了研究下,谢谢楼主
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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