简易光照度计的设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉理工大学《开放性实验》设计说明书 PAGE 1 目录 TOC \o 1-3 \u 1 实验任务 1 2 设计原理 1 2.1 基本理论 1 2.2 系统框图 1 2.3 程序设计流程图 2 3 实现方案 3 3.1 硬件电路图 3 3.2 原理图说明 3 3.2.1 光电前置放大电路 3 3.2.2 AD转换电路 4 3.2.2 显示电路 4 3.3 硬件程序 4 4 调试过程及结论 10 4.1 调试过程 10 4.2 结论 11 5 心得体会 13 6 参考文献 14 利用硅光电池的简易照度计设计 1 实验任务 利用硅光电池为信号输入电路,以AT89C51单片机芯片设计控制电路,制作一个简易照度计,可以通过LCD显示屏显示照度值。 设计原理 2.1 基本理论 硅光电池是一种能将光能直接转换成电能的半导体器件,它实质上是一个大面积的半导体PN结,其工作原理是光生伏特效应。当光照射在硅光电池的PN结区时,会在半导体中激发出光生电子-空穴对。PN结两边的光生电子-空穴对在内电场作用下,多数载流子的不能穿越阻挡层,而少数载流子却能穿越阻挡层,结果,P区的光生电子进入N区,N区的光生空穴进入P区,使每个区中的光生电子-空穴对分割开来。光生电子在N区的集结使N区带负电,光生电子在P区的集结使P区带正电。P区和N区之间产生光生电动势。当硅光电池接入负载后,光电流从P区经负载流至NE,负载中就会有功率输出。 利用AT89C51芯片实现控制电路,用ADC0809模数转换器实现模拟信号和数字信号的转换。当光电池接入负载,将输出的信号通过三极管放大,通过模数转换器ADC0809转换为数字信号,通过单片机控制电路将信号输入LCD显示屏,在显示屏上显示当前的照度值。 2.2 系统框图 系统框图如下: 光电转换前置放大A/D模数转换 光电转换前置放大 A/D模数转换 LCD显示单片机控制电路 LCD显示 单片机控制电路 图 图1 照度计设计系统框图 2.3 程序设计流程图 开始 程序流程图如下: 开始 初始化 初始化 信号输入 信号输入 A/D A/D转换 LCD LCD显示 图 图2 程序设计流程图 实现方案 3.1 硬件电路图 图 图3 照度计硬件原理图 原理图说明 光电前置放大电路 利用三级管的的放大作用,将带负载的光电池电路输出的电流放大,为了保证信号有更好的线性关系,所以将三极管接成电流转换为电压的形式。经过测量,电压放大的范围大概为0.2V到2.3V。 3.2.2 AD转换电路 采用ADC0809模数转换芯片和AT89C51单片机,将光电池接收的光信号转换后放大的电压模拟信号转换为数字信号,然后通过单片机的控制电路将数字信号送到LCD显示屏。 显示电路 此处显示电路采用了1602A液晶显示模块。 当光直射光电池时,放大的电压信号通过三极管的发射极送入AD转换器的IN0端口。因为AD的ADD A、ADD B、ADD C都接地,所以ADC0809就采集IN0端口的信号。模拟信号经过转换后向OUT-1~OUT8传送数字信号。数字信号经过总线传送到AT89C51的P1口,并读入累加器A,经过AT89C51计算后通过P0端口输出,然后控制LCD显示屏的输出。 硬件程序 #include reg52.h #define uchar unsigned char #define uint unsigned int sbit lcden=P2^1; sbit lcdrs=P2^0; sbit lcdrw=P2^2; sbit adwr=P3^7; //sbit adcs=P3^0; //oe ==gnd sbit eoc=P2^3; uchar code table[]=the illustion is; uchar code table1[]=lx; uint num,a,d,qian,bai,shi,ge,num1; uint illusion,temp; void init(void); //初始化函数 void delay(uint a); //延时函数 void write_com(uchar com); //写指令函数 void write_data(uchar date); //写数据函数 void display(uint d); //显示函数 void main() { void init();

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档