1、基于 SI 光电池的照度计设计与调试一、实验目的1、 熟练掌握光电池的性能、参数及设计应用。2、 综合运用光电技术、模拟电路、数字电路和微控制器知识,用光电池设计一个照度计。3、 熟练掌握光电信号处理系统的调试技术。二、实验仪器面包板两块;硅光电池 1 个;ADC0809 一块;1602 液晶一块;51 单片机一块;三极管一个;晶振一个;滑动变阻器、电阻、电容若干;导线若干;3、 实验原理 照度计系统框图1.硅光电池硅光电池是一种直接把光能转换成电能的半导体器件。它的结构很简单,核心部分是一个大面积的 PN 结,硅光电池的 PN 结面积比二极管的 PN 结大得多,所以受到的光照时产生的电动势和
2、电流也大得多。典型的硅光电池在可见光范围内具有较好的光谱响应特性,其光谱响应波长一般为 0.4-1.1um,峰值响应波长为 0.9um,适合作为一般情况(通常硅光电池的使用温度应该限制在 125以内)光照度检测的探测器使用。在不同光照度下,硅光电池有不同的电信号输出值,且二者之间具有单值对应关系,据此,我们通过检测其电信号输出值并根据其输出特性关系,便可以得到对应的光照度信息,已达到光照度检测的目的。2 ADC0809 芯片ADC0809 是 M 美国国家半导体公司生产的 CMOS 工艺 8 通道,8 位逐次逼近式 A/D转换器。其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号
3、,只选通 8路模拟输入信号中的一个进行 A/D 转换。是目前国内应用最广泛的 8 位通用 A/D 芯片(1 ) 主要特性1)8 路输入通道,8 位 AD 转换器,即分辨率为 8 位。 2)具有转换起停控制端。 3)转换时间为 100s(时钟为 640kHz 时),130s(时钟为 500kHz 时) 4)单个5V 电源供电 5)模拟输入电压范围 05V,不需零点和满刻度校准。 6)工作温度范围为-4085 摄氏度 7)低功耗,约 15mW。(2 ) 内部结构光电转换前置放大 A/D 转换 89S51 单片机系统LCD 显示ADC0809 是 CMOS 单片型逐次逼近式 AD 转换器,内部结构如
4、图 1322 所示,它由8 路模拟开关、地址锁存与译码器、比较器、8 位开关树型 A/D 转换器、逐次逼近(3 ) 外部特性(引脚功能)IN0IN7 : 8 路模拟量输入端。 2-12-8 :8 位数字量输出端。 ADDA、ADDB、ADDC:3 位地址输入线,用于选通 8 路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: AD 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动A/D 转换) 。 EOC: AD 转换结束信号,输出,当AD 转换结束时,此端输出一个高电平(转换期间一直为低电平) 。 OE:
5、数据输出允许信号,输入,高电平有效。当 AD 转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率 不高于 640KHZ。 REF(+) 、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。(4 ) ADC0809 的工作过程首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 AD 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 AD 转换完成,EOC 变为高电平,指示 AD 转换结束,结果数据已存入锁存器,这个
6、信号可用作中断申请。当 OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D 转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认 A/D 转换的完成,因为只有确认完成后,才能进行传送。3 89S51引脚排列及功能-P0 口8 位、开漏极、双向 I/O 口。P0 口可作为通用 I/O 口,但必须外接上拉电阻;作为输出口,每个引脚课吸收 8 个 TTL的灌电流。作为输入时,首先应将引脚置 1。在 Flash 编程时,Po 口接受代码数据;在编程校验时,P0 口输出代码字节数据(需要外接上拉电阻) 。-P1 口8 位、双向 I/O 口
7、、内部含有行拉电阻。 编程和校验时,P1 口可输入低字节地址。在串行编程和校验时,P1.0/MOSI,P1.6/OSI 和 P1.7/SCK 分别是串行数据输入、输出和移位脉冲引脚。- P2 口用作输出口时,可驱动四个 TTL 负载;用作输入口时,先将引脚置 1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外输出电流。CPU 访问外部 16 位地址的存储器时,P2 口提供高 8 位的地址。当 CPU 用 8 位地址寻址外部存储器时,P2 口为 P2 特殊功能寄存器内容。在 FLASH 并行编程和校检时,P2 口可输入高字节地址和某些控制信号。-P3 口局有内部上拉电阻
8、8 位双向口。P3.0RXD串行口输入P3.1TXD串行口输出P3.2INT0外部中断 0P3.3INT1外部中断 0 P3.4T0T0 定时器的外部计数输入 P3.5T1T1 定时器的外部计数输入P3.6WR外部数据存储器的写选通P3.7RD外部数据存储器的读选通-ALE/PROG地址锁存允许/编程脉冲信号端。-PSEN外部程序存储器读选通信号,低电平有效。-EA/Vpp外部程序存储器允许。-XTAL1 和 XTAL2XTAL1 是片内振荡器反相放大器和时钟发生器的输入端, XTAL2 是片内振荡器反相放大器的输出端。-RST复位输入段,高电平有效。-Vcc电源电压输入端。-GND电源地。
9、4.1602(1 ) Vss 电源地(GND )(2 ) Vdd 电源电压(+5V)(3 ) V0 LCD 驱动电压( 可调)(4 ) RS 寄存器选择输入端,输入 MPU 选择模块内部寄存器类型信号:RS=0,当MPU 进行写模块操作,指向指令寄存器;当 MPU 进行读模块操作,指向地址计数器;RS=1,无论MPU 读操作还是写操作,均指向数据寄存器(5 ) R/W 读写控制输入端,输入MPU 选择读/ 写模块操作信号:R/W=0 读操作;R/W=1 写操作(6 ) E 使能信号输入端,输入MPU 读/写模块操作使能信号:读操作时,高电平有效;写操作时,下降沿有效(7 ) DB0DB7 数据
10、输入/输出口, MPU 与模块之间的数据传送通道(8)A 背光的正端 +5V(9)K 背光的负端 0V四、实验内容1. 利用硅光电池设计光电转换与信号处理电路。工作原理:光电池接收光照后产生电流,经三极管放大,随着光照的变化,电流线性变化,进而电压也线性变化,从而被放大电压也可以线性变化,适当调节滑动变阻器的阻值,可实现 0-5V 的电压输出变化。2. 以 51 单片机为核心对输出电流信号进行 A/D 转换,在单片机控制程序中对采集到的数据进行一定的处理。本电路由 ADC0809 与 AT80S51 构成,模数转换电路的IN0 口作为放大信号输入端, D0-D7 为 8 个数字信号输出端,送与
11、单片机进行处理。3. 参照图进行电路连接。 (尽量避免飞线、交叉线等) 。4. 编写驱动程序,并进行仿真运行。5. 将程序烧进单片机,对电路进行调试。主要调试任务:单片机系统的运行调试;数模转换模块的调试;LCD 显示调试。五、实验过程(一)实验原始数据记录电路连接图参考程序:#include #include #define uchar unsigned char#define uint unsigned intsbit RS=P36;sbit RW=P37;sbit E=P30;sbit ST=P17; /定义START 引脚sbit EOC=P16; /定义 EOC引脚void init
12、(void);/初始化函数void write_com(char command);/写指令函数void write_data(char dat);/写数据函数uchar table18=“zhaoduji“;void delay(uchar n)int i,j;for (i=0; in; i+)for (j=0; j100; j+);void main(void) init();delay(1);while(1)ST=0;ST=1;ST=0;/启动 AD 转换开始while(EOC=0)int i,j,k,s;s=P0*2;i=s/100;j=(s%100)/10;k=s%10;write_
13、com(0xC0) ;write_data(i+0x30);write_data(0x2e);write_data(j+0x30);write_data(k+0x30);/*初始化函数*void init(void) uint i;E=0;write_com(0x38);/设置 8 位格式,2 行,5x7write_com(0x0c);/整体显示,关光标,不闪烁write_com(0x06);/设定输入方式,增量不移位write_com(0x01);/清除屏幕显示write_com(0x80);for(i=0;i8;i+)write_data(table1i);/*写指令函数*void wri
14、te_com(uchar command)RS=0;/指令RW=0;/写入P2=command;delay(5);E=1;/允许delay(10);E=0;/*写数据函数*void write_data(uchar dat)RS=1;/数据/RW=0;/写入P2=dat;delay(5);E=1;/允许delay(10);E=0;时间分配记录:查找资料:5 个小时;连接电路;8 个小时;编写程序:5 个小时;调试电路:5 个小时;写报告:4 个小时;(二)实验现象记录LCD 工作,显示为:ZHAODUJIXX.XX(三) 、实验中发现的问题1、连接电路板时导线金属接头不宜剪过短,容易造成接触不良。2、通过检查,发现有一块面包板的一排孔不能连通。3、LCD 显示时需要调节背光和对比度,否则不能看清显示数据。 六、实验结果分析(一)影响因素讨论:外界环境中电磁场的干扰、各元件的精密程度都对实验结果有一定影响(二)综合分析和结论:实验结果基本符合实验要求,可以判断实验结果正确。七、实验总结这次试验由我来编写程序,一开始我感觉非常棘手,课本上学的编写程序的知识也忘记了不少,不知道该如何下手。我从网上搜集到一些相关的驱动程序,从一点点弄懂程序每句的意思,到开始根据要求修改程序,自己学到了很多知识。编好之后我还在 Proteus 上进行仿真运行,刚开始没有结果,后来经过几次修改,才运行成功。