实验四ad转换-亮度测量实验

上传人:mg****85 文档编号:34009037 上传时间:2018-02-19 格式:DOC 页数:4 大小:34KB
返回 下载 相关 举报
实验四ad转换-亮度测量实验_第1页
第1页 / 共4页
实验四ad转换-亮度测量实验_第2页
第2页 / 共4页
实验四ad转换-亮度测量实验_第3页
第3页 / 共4页
实验四ad转换-亮度测量实验_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验四ad转换-亮度测量实验》由会员分享,可在线阅读,更多相关《实验四ad转换-亮度测量实验(4页珍藏版)》请在金锄头文库上搜索。

1、实验四 A/D 转换-亮度测量实验1实验目的熟悉 0809 的工作原因,掌握 A/D 转换程序的设计方法以及以 51 连接的接口电路设计方法。学习传感器件的应用。二实验内容和要求按照硬件连接图和程序流程图,编写 A/D 转换程序,通过调节 ADC0809 的 REF 与转换值之间的关系,了解光敏电阻的电气特性。光敏电阻特性:光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻,如实验电路所示 R13 光敏电阻和电阻 R16(4K7)串联,光敏电阻的阻值随环境亮度而变化,加在光敏电阻的电压也随之变化。变化的电压加分到 0809 的 IN-0 端和监视电路。单片机通过74LS373 和与非门,访

2、问 0809,对 IN-0 端电压进行 AD 转换,并将数据处理后通过数码管显示出来。数码管的显示数值满足以下公式:显示数值=IN-0/REF+X256.3实验主要仪器设备和材料:1.AMC51 单片机综合开发系统一台 2.微机一台四实验方法,步骤及结果测试1.开启 AMC51 实验装置,检查跳线,一般无需改动。2.运行 KEIL,具体操作步骤参照实验一。3.参考以下电路图和流程图编写程序。4.编译程序,把把生成的.HEX 目标文件下载到 AT89S51 运行。5.观察程序在 AMC51 实验装置的实际运行情况。(1 )同手挡住“亮度传感器 ”,改变亮度,观察数码管的数值变化。(2 )调节 A

3、DC0809 的 REF+观察 REF 和采样电压的关系。先按一下液晶屏下方的“RESET”再按一下“MODES SWITCH”按钮,液晶屏切换到 MODE1.。用一字小螺丝刀分别顺时针和逆时针扭动“亮度传感器”下方蓝色长方体的变阻器上面的螺丝。从液晶屏观察到 REF 的变化。5实验报告要求1.实验原理分析,实验现象及结果。实验原理:光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻,如实验电路所示 R13 光敏电阻和电阻 R16(4K7)串联,光敏电阻的阻值随环境亮度而变化,加在光敏电阻的电压也随之变化。变化的电压加分到 0809 的 IN-0 端和监视电路。单片机通过 74LS373和

4、与非门,访问 0809,对 IN-0 端电压进行 AD 转换,并将数据处理后通过数码管显示出来。数码管的显示数值满足以下公式:显示数值=IN-0/REF+X256.ADC0809 的工作过程首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A/D 转换,之后EOC 输出信号变低,指示转换正在进行。直到 A/D 转换完成,EOC 变为高电平,指示 A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

5、转换数据的传送 A/D 转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认 A/D 转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种 A/D 转换其来说,转换时间作为一项技术指标是已知的和固定的。例如 ADC0809转换时间为 128s,相当于 6MHz 的 MCS-51 单片机共 64 个机器周期。可据此设计一个延时子程序,A/D 转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D 转换芯片由表明转换完成的状态信号,例如 ADC0809 的 EOC 端。因此可以用

6、查询方式,测试 EOC 的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE 信号即有效,把转换数据送上数据总线,供单片机接受。实验现象:(1 )通过手挡住“亮度传感器 ”,降低亮度,数码管的逐渐数值变大,大到 255 就不再增加,因为显示数值=IN-0/REF+X256.,随着亮度的变小,光敏电阻的阻值随环境亮度变小而变大,加在光敏电阻的电压也随之变化,变化的电压加分到 0809 的 IN-0 端也

7、变大(具体数值已经通过 A/D 转换输出,可以从液晶屏直接读出) ,从而数码管的数值在参考电压REF+没有变的情况下,显示数值也增加,输入电压 IN-0 最大等于基准电压 REF+,因而显示值大约是 256,实验显示最大是 255.(2 )调节 REF+的,同理,因为显示数值 =IN-0/REF+X256.,调节 REF+,可以改变数码管的显示值,最大依然是 256,调节 REF+的具体数字也可以直接从液晶屏读出,REF+ 越大,数码管的显示值越小,基准电压 REF+越小,数码管的显示值越大,最大为 256,实验显示最大是 255.,存在一定误差。结果:通过调节 ADC0809 的参考电压 R

8、EF(以及亮度传感器)与转换值之间的关系,了解光敏电阻的电气特性,光敏电阻的阻值与亮度成反比,电气特性等效于一个可变电阻。2.完成思考题,修改后的程序代码清单(详细注释)程序代码如下CHENL EQU 5CH ;A/D 转换通道地址DISPLAY_BUFFER EQU 5DH ;显示缓存DS0 EQU 3FH ;数码管个位DS00 EQU 3EH ;数码管十位DS000 EQU 3DH ;数码管百位DS0000 EQU 3CH ;数码管千位ORG 0000H ;下一条指令的地址为 0000HAJMP MAIN ;跳转到 MAIN 函数ORG 0013H ;外部中断 INTIAJMP INT_1

9、 ;跳转到 INT_1 函数ORG 0030H ;下一条指令的地址为 0030H MAIN: ;初始化程序SETB IT1 ;INTI 边沿触发 SETB EX1 ;开 INTI 中断SETB EA ;CPU 开放中断MOV CHENL,#0F8H ;通道 0 口地址MOV DPH,#7FH ;ADC0809 高位地址#7FHMOV DPL,CHENL ;ADC0809 低位地址放 AD 转换数据MOV A,#0 ;A 清除数据MOVX DPTR,A ;启动 A/DLOOP_MAIN: ;等待子程序AJMP LOOP_MAIN ;等待 INTI 中断INT_1: PUSH PSW ;外部中断

10、1 程序PUSH ACC ;保护现场 PUSH DPH PUSH DPLMOV DPH,#7FH ;重新设置 ADC0809 高位地址#7FHMOV DPL,CHENL ;继续放 AD 转换数据MOVX A,DPTR ;读取 A/D 转换值MOV DISPLAY_BUFFER,A ;保存 A/D 的数值ACALL TRAN_BCD ;将 A/D 的数值转换成 BCD 码ACALL DISP ;调用串行显示子程序ACALL DELAY ;调用延时程序MOV DPH,#7FH ;再次设置 ADC0809 高位地址#7FHMOV DPL,CHENL ;再次放 AD 转换数据MOV A,#0 ;A 清

11、除数据MOVX DPTR,A ;再次 A/D 启动程序POP DPL ;恢复现场POP DPHPOP ACC POP PSW ;弹出标志位RETI ;中断返回DELAY: MOV R6,#64H ;R5,R6 为临时延时变量D22:MOV R5,#0F9H ;6M 晶振延时 0.1SD21:DJNZ R5,D21 ;R5 减为 0 继续DJNZ R6,D22 ;R6 减为 0 继续RET ;子程序返回TRAN_BCD:MOV A,DISPLAY_BUFFER ;读入缓冲MOV R7,#0AH ;R7 为 10MOV B,R7 ;送 10 到 BDIV AB ;求数码管个位MOV DS0,B ;

12、将个位数字送到显示发送缓冲MOV B,R7 ;送 10 到 BDIV AB ;求数码管十位MOV DS00,B ;将十位数字送到显示发送缓冲MOV B,R7DIV AB ;求数码管百位MOV DS000,B ;将百位数字送到显示发送缓冲MOV B,R7DIV AB ;求数码管千位MOV DS0000,B ;将千位数字送到显示发送缓冲RET ;子程序返回DISP:MOV R7,#4 ;串行显示程序( 4 位数码管)MOV R0,#DS0000 ;千位数据先放在 R0DL0: MOV A,R0 ;取待显示的数据MOV DPTR,#TAB ;查表MOVC A,A+DPTR ;查得相应的七段代码MOV

13、 SBUF,A ;启动串行口发送数据DL1:JNB T1,DL1 ;等待一帧发送结束CLR TI ;清串行口中断标志INC R0 ;指向下一个数据DJNZ R7,DL0 ;R7 为零继续RET ;共阴七段数码管代码表TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H ;(0-6 段码)DB 0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CH ;(7-9 A B C 段码)DB 7AH,9EH,8EH ;(D-F 段码)END 思考题1.在 0809 的 IN-1 段已接入热敏电阻,要测量温度的变化应将原程序如何修改?答:将 MOV DPH,#7FH;通道 0 口地址 改为通道 1 口地址,使其通道一接受数据并进行 AD 转化。通道 1 口地址暂时不会求。2.为何从数码管观察到,在亮度没有变化的情况下,随着 ADC0809 的 REF+的变化,AD 转化结果发生变化。 答:因为 D 转化结果显示数值 =IN-0/REF+X256.,随着 ADC0809 的 REF+的变化,调节REF+,可以改变数码管的显示值,最大依然是 256,调节 REF+

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号