单片机实验
光线强弱检测
一、实验目的
A/D 转换器是单片机控制系统常用的数据采集器件,利用A/D 转换器件可以使单片机
处理模拟信号。本实验中,单片机使用串行A/D 转换芯片ADC0832 和光电池实现对光线
强弱的检测和判断,并把检测结果用数码管显示。通过实验需掌握以下知识要点:
1.掌握串行A/D 转换器的使用方法。
2.掌握单片机系统中A/D 转换器的作用
3.掌握光电池模块的使用方法
二、预备知识
1.光电池模块
光电池模块由光电池和放大电路组成。光电池的输出电压与光线强度成正比,但其输
出电压较小,且输出电压范围与A/D 转换器的参考电压范围不匹配。放大电路对光电池的
输出电压进行放大,使其输出电压的变化范围为0~5V。光电池模块的电路如下图所示:
图3-16 光电池模块电路图
图中BT1 是光电池,运放U1A 是电压跟随器,用于阻抗匹配。U1B 实现电压放大,调
整Rx,能调整电路放大倍数,可以在规定光线强度内,使输出电压的范围为0-5V。C1、C2
用于旁路高频干扰信号,抑制干扰。
2.串行A/D 转换芯片ADC0832
A/D 转换芯片是单片机系统中常用的数模接口芯片,用于将单片机不能直接处理的模
拟量转换为数字量。A/D 转换芯片按输出方式分,有串行输出和并行输出两种类型。并行
A/D 与单片机连接时需要占用较多的I/O 口,但编程较简单;串行A/D 与单片机连接只需
占用2-3 个普通I/O 口。
ADC0832 是美国模拟器件公司生产的8 位串行模数转换芯片,它有两个输入通道,可
以输入两路模拟电压。其数据输出采用SPI 串行输出,与单片机连接时只需要占用三个普
通I/O 口。ADC0832 的引脚定义和在“旋风”小车中的连接如下图所示:
图3-17 ADC0832 的引脚定义和连接
ADC0832 的引脚功能如下表:
表3-5 ADC0832 的引脚及连接
引脚序号 标号 功能 在“旋风”小车上的连接
1 CS 片选,低电平有效 接P2.0
2 CH0 模拟量输入端0 通过跳线接J3
3 CH1 模拟量输入端1 通过跳线接J4
4 GND 电源负极 接电源负极
5 DI 串行数据输入端 与DO 端共接P3.6
6 DO 串行数据输出端 与DI 端共接P3.6
7 CLK 时钟脉冲输入端 接P3.7
8 VCC 电源正极(5V) 接+ 5V
ADC0832 的实例程序如下:
1、TLC0832 的软件接口程序
ORG 0000H
ADCDIO BIT P3.6 ;ADC0832 的DI 和DO 端接P3.6
ADCLK BIT P3.7 ;ADC0832 的CLK 端接P3.7
CS0832 BIT P2.0 ;ADC0832 的片选端接P2.0
AD: MOV R7 , #08
CLR ADCLK
CLR CS0832 ;ADC0832 有
SETB ADCDIO ;第一个脉冲下降沿前,DI 端必须为“1”
SETB ADCLK
NOP
CLR ADCLK ;脉冲下降沿
SETB ADCDIO ;输出“1”选择单极性输出
SETB ADCLK
NOP
CLR ADCLK ;脉冲下降沿,数据输出
CLR ADCDIO ;输出“0”选择CH0 通道
SETB ADCLK
NOP
CLR ADCLK ;脉冲下降沿,数据输出
NOP
SETB ADCLK
NOP
SETB ADCDIO
AD0: CLR ADCLK ;逐位读入A/D 转换结果
NOP
SETB ADCLK
MOV C,ADCDIO ;把ADC0832 的数据读入标志位C
RLC A ;用移位指令,把数据移入累加器ACC 中
DJNZ R7,AD0 ;读取8 次
SETB CS0832
MOV 30H,A ;转换结果存在30H 中
……
以上程序段对ADC0832 的CH0 端输入的模拟电压进行转换,并将结果存放在30H 单元。
三、硬件连接
1.连接按键显示模块。
2.把光电池模块插在J3 插座上,并将JP6 的右端短接。
四、实验内容
1.根据硬件连接要求连接硬件线路
2.编程实现以下功能:
用A/D 转换器把光电池模块输出的模拟电压转换为一个字节的数据,并将该数据直接
显示数码管上。程序流程图如下:
图3-18 A/D 转换及显示程序流程图
3.分别把光电池置于暗处和光线较强处,观察记录显示的数据。
五、扩展内容
1.控制小车原地转动一圈,然后再转动到光线最强的方向停止。
注:① 为了使光电池检测光的方向性更强,可以在光电池上套一个黑色的塑料筒。
② 编程思路:
先让小车慢速旋转一圈以上,在旋转过程中连续用A/D 转换器采集光电池模块输出电
压,并只保留其最大值。这样就确定了光线最强处的数值,然后让小车继续旋转,直到采
集的数据大于等于最大值是小车停止。整个过程小车旋转的圈数不应超过两圈。
六思考题
1.小车上采用串行A/D 转换器有何优点?
2.查阅资料,列出ADC0832 芯片的 技术参数。
3.在本实验的基础上,把显示的结果修改为照度单位,应如何修改?
全部0条评论
快来发表一下你的评论吧 !