找回密码
 立即注册

QQ登录

只需一步,快速开始

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

SCT8a8k64s4a12单片机两种不同接法光敏电阻调光Proteus仿真+代码

[复制链接]
ID:505284 发表于 2019-6-23 11:08 | 显示全部楼层 |阅读模式
        SCT8a8k64s4a12芯片两种不同接法光敏电阻进行调光      基于两种外部感光系数放大类型:npn、pnp型号放大信号下光敏电阻接收光照强度的程序编写和protues电路仿真到8位7段数码管显示,采用具有4路AD和一路DA数据采样转换器件PCF8591的集成电路主控芯片采用1路AD程序编写。其中npn采集有效强度范围为0-115;pnp型有效强度范围0-255;轮采集精确度而言,npn型电路更加接近实际。希望得到认可,并积极发言参与不如人意之处,批评指正!

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.PNG 1.PNG

单片机源程序如下:

  1. #include "display.h"
  2. #include "i2c.h"

  3. //名称:IIC协议 PCF8591 AD/DA转换 测试热敏电阻
  4. extern bit ack;
  5.         
  6. uchar ReadADC(uchar ch1)
  7. {
  8.         uchar val;
  9.         start_I2C();  //启动总线
  10.         sendbyte(addwr);   //发送器件写入地址
  11.         if(ack==0) return 0;
  12.         sendbyte(0x40 | ch1);  //发送器件子地址
  13.         if(ack==0) return 0;
  14.         start_I2C();
  15.         
  16.         sendbyte(addrd);  //发送器件读取地址
  17.         if(ack==0) return 0;
  18.         val=RCbyte();
  19.         NOAck_I2C();  //非应答信号
  20.         Stop_I2C();
  21.         return val;
  22. }

  23. void main()
  24. {
  25.         uint num=0;
  26.         init_timer0();
  27.         
  28.         while(1)
  29.         {//(此条件下的三极管类型npn)
  30.                 //此处255-140表示使光照强度值归零点
  31.                 num=(255-140)-ReadADC(0);  //值取差值,用于显示光强越小,数值越小
  32.                 //此条件下为PNP型
  33.                 //num=ReadADC(0);
  34.                 tempdata[0]=lhc_duan[num/100];
  35.                 tempdata[1]=lhc_duan[num%100/10];
  36.                 tempdata[2]=lhc_duan[num%10];
  37.                 delay(100);
  38.         }
  39.                
  40. }
复制代码
0.png
所有资料51hei提供下载:
27 热敏、光敏电阻.7z (88.31 KB, 下载次数: 27)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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