找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1930|回复: 0
收起左侧

51单片机基于pcf8594的AD电压采集程序

[复制链接]
ID:385217 发表于 2019-2-25 10:03 | 显示全部楼层 |阅读模式
基于pcf8594编写的一套AD,DA转换程序,主要是基于i2c总线的操作,
不仅可以学到AD转换的知识,还能进一步学习到i2c总线的操作过程。

硬件连接

硬件连接

模块功能介绍

模块功能介绍


单片机源程序如下:
  1. //****************************PCF8591 AD DA转换实验************************
  2. //
  3. //AD转换结果由uart0送上位机显示  115200bps
  4. //*************************************************************************
  5. #include "stc89c51rc.h"
  6. #include "PCF8591_MCS51.H"


  7. uint ii;
  8. ulong ad_result=0;
  9. uchar da_val=0;


  10. //*************** 函数定义 ******************
  11. void delay1ms(unsigned int j);

  12. void senddata_uart0(uchar dc);
  13. void sendstring_uart0(uchar *dd);
  14. void senduint_uart0(uint dd,uchar* dec_hex);


  15. //*************** 主程序 ********************
  16. void main(void)
  17. {
  18.   //////////////将这段代码嵌入到程序中////////////////
  19.   if((PCON&0x10)==0)  //如果POF位=0
  20.   {
  21.     PCON=PCON|0x10;   //将POF位置1
  22.     ISP_CONTR=0x60;   //软复位,从ISP监控区启动
  23.   }
  24.   else
  25.   {
  26.     PCON=PCON&0xef;   //将POF位清零
  27.   }
  28.   ////////////////////////////////////////////////////
  29.   

  30.   delay1ms(100);

  31. /*  for(ii=0;ii<256;ii++)
  32.   {
  33.     pcf8591_da_write(ii);
  34.     delay1ms(15);
  35.   }

  36.   for(ii=254;ii!=0;ii--)
  37.   {
  38.     pcf8591_da_write(ii);
  39.     delay1ms(15);
  40.   }/*//dac输出模拟量

  41.   while(1)
  42.   {
  43.     pcf8591_ad_write(0x40);
  44.     ad_result=pcf8591_ad_read();

  45.     ad_result=(ad_result*5)/256;//得到的电压值

  46.     pcf8591_da_write(da_val);//DA输出

  47.     delay1ms(500);
  48.   }
  49. }

  50. //*************************延时 n*1ms********************
  51. void delay1ms(unsigned int j)
  52. {
  53.   unsigned int i;
  54.   for (;j>0;j--)
  55.   {
  56.     for (i=0;i<124;i++)
  57.     {;}
  58.   }
  59. }
复制代码

所有资料51hei提供下载:
keil uvison2 (1).rar (49.49 KB, 下载次数: 15)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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