图2.6 光电二极管电路图
使用一个光敏二极管D2,电压比较器U3为电压比较器集成芯片LM339的一个单元,电压比较器可以看作是放大倍数接近―无穷大‖的运算放大器。 2.2.3方案的比较与选择
方案一使用一个光敏电阻作为光线传感器检测环境的光照度,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。同时利用相反器和电压比较器作为放大倍数接近―无穷大‖的运算放大器,利用可调电阻用来设定与所要设定照度值对应的比较电位。方案二使用一个光敏二极管D2作为光线传感器检测环境的光照度,方案一和方案二相比较,方案一在应用中更加灵敏,效果更好,因此在本次设计中选则方案一来实现可见光检测。
3 系统硬件核心器件介绍
3.1 AT89C51单片机器件简介
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4KB闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域[1]。如图3.1为AT89C51外形图。
图3.1 AT89C51外形图
a. AT89C51主要性能参数:
与MCS-51产品指令系统完全兼容;4K字节可重擦写Flash闪速存储器1000
写周期;全静态操作:0Hz~24MHz;128×8字节内部RAM;32个可编程I/O口线;2个16位定时/计数器;6个中断源;可编程串行UART通道;低功率空闲和掉电模式。[6]
(1)AT89C51结构框图于引脚说明[10]。
图3.2 AT89C51结构框图
AT89C51结构框图如图3.2所示。 b. 引脚功能说明
Vcc:电源电压;
GND:地P0口:P0口是一组8位漏极开路型双向I/O,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写―1‖可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。 在Flash编程时,P0接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻[11]。
P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写―1‖,通过内部的上拉电阻把端口拉倒高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。
P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写―1‖,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOV A,@A+DPTR指令)时。P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(例如执行MOVX @Ri,A指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区总R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其他控制信号。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入―1‖时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能, P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号[2]。
表3.1 P3口第二功能
P3端口 P3.0 P3.1 P3.2 P3.3
第二功能 RXD TXD INT0 INT1
————————
第二功能说明 串行口输入端 串行口输出端 外部中断0输入端 外部中断1输入端
P3.4 T0 定时器/计数器0外部信号输入端