SCT8a8k64s4a12芯片两种不同接法光敏电阻进行调光 基于两种外部感光系数放大类型:npn、pnp型号放大信号下光敏电阻接收光照强度的程序编写和protues电路仿真到8位7段数码管显示,采用具有4路AD和一路DA数据采样转换器件PCF8591的集成电路主控芯片采用1路AD程序编写。其中npn采集有效强度范围为0-115;pnp型有效强度范围0-255;轮采集精确度而言,npn型电路更加接近实际。希望得到认可,并积极发言参与不如人意之处,批评指正!
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "display.h"
- #include "i2c.h"
- //名称:IIC协议 PCF8591 AD/DA转换 测试热敏电阻
- extern bit ack;
-
- uchar ReadADC(uchar ch1)
- {
- uchar val;
- start_I2C(); //启动总线
- sendbyte(addwr); //发送器件写入地址
- if(ack==0) return 0;
- sendbyte(0x40 | ch1); //发送器件子地址
- if(ack==0) return 0;
- start_I2C();
-
- sendbyte(addrd); //发送器件读取地址
- if(ack==0) return 0;
- val=RCbyte();
- NOAck_I2C(); //非应答信号
- Stop_I2C();
- return val;
- }
- void main()
- {
- uint num=0;
- init_timer0();
-
- while(1)
- {//(此条件下的三极管类型npn)
- //此处255-140表示使光照强度值归零点
- num=(255-140)-ReadADC(0); //值取差值,用于显示光强越小,数值越小
- //此条件下为PNP型
- //num=ReadADC(0);
- tempdata[0]=lhc_duan[num/100];
- tempdata[1]=lhc_duan[num%100/10];
- tempdata[2]=lhc_duan[num%10];
- delay(100);
- }
-
- }
复制代码
所有资料51hei提供下载:
27 热敏、光敏电阻.7z
(88.31 KB, 下载次数: 27)
|