硬件实验四并行AD、DA实验 - 浙江大学光电信息工程学系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
\
本科实验报告
课程名称:微机原理与接口技术
林曈
姓名:
信息学院
学院:
光电系
系:
专业:信息工程(光电)
3080104612
学号:
指导教师:齐杭丽
2010年12 月25 日
实验报告
课程名称: 微机原理与接口技术 指导老师: 齐杭丽 成绩:____ ___ 实验名称:___并行AD 、DA 实验____实验类型:____综合________同组学生姓名:__________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得
硬件实验四 并行AD 、DA 实验
1.
实验目的
① 掌握采用并行接口实现外部器件的扩展方法;
② 掌握ADC0809模/数转换芯片与单片机的接口设计及ADC0809的典型应用; ③ 掌握DAC0832模/数转换芯片与单片机的接口设计及DAC0832的典型应用。 2.
预习要求
① 理解内存与IO 统一编址的外设端口地址的映射及控制; ② 理解用查询方式、中断方式完成模/数转换程序的编写方法; ③ 理解DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法。 3.
实验设备
计算机 1台; ZDGDTH -1型80C51实验开发系统 1套; 2号导线、8P 数据线 若干条; 万用表
1个;
4.
基础型实验内容
① 图4-1为ADC0809的扩展电路图,用8P 数据线将D2区80C51/C8051F020 MCU 模
块的 JD0(P0口)、JD8分别与C5区并行A/D 转换模块的JD1C5、JD2C5相连;用二号导线将D2区80C51/C8051F020 MCU 模块的WR 、RD 、P2.0、CLK 、P3.3分别与C5区并行A/D 转换模块的WR 、RD 、CS 、ALE 、EOC 相连;并行A/D 转换模块的+Vref 接+5V , AIN0接D6区可调电源模块的0—5V 端。说明AD 转换的过程,并在Keil 环境设置断点运行以下程序,可调电源分别调至两个极端,观察寄存器及内存单元的变化。
专业:__光电0803___ 姓名:_____林曈____
学号:__3080104612__ 日期:___2010/12/15___
地点:__东四606______
图4-1 ADC0809的扩展电路图
ORG 0000H
MAIN: CLR A
SETB P3.3 ;设定与EOC接口IO处于接收状态
MOV DPTR,#0FEF8H ;选择A/D端口地址
NOP
MOVX @DPTR,A ;启动AD转换
WAIT: JB P3.3,WAIT
MOVX A,@DPTR ; 读入结果
NOP
LJMP MAIN
②图4-2为DAC0832的扩展电路图,用8P数据线将D2区80C51/C8051F020 MCU模块
的 JD0(P0口)与C4区并行DA转换模块的JD1C4相连,用二号导线将D2区80C51/C8051F020 MCU模块的P2.0、WR分别与C5区并行D/A转换模块的CS、WR 模块,用万用表测量“-Vref”端的电压,手动调节电位器RW1C4,把-Vref电压调到-5V,万用表监测并行D/A转换的OUT与GND输出引脚。填写下列程序中的空白处,说明DA转换的过程,并在Keil环境运行设置断点运行该程序,调节RW1C4,观察寄存器的变化与万用表输出值的变化。
图4-2 DAC0832的扩展电路图
ORG 0100H
START: MOV DPTR,#0FEFFH ;置DAC0832的地址
LP: MOV A,#0FFH ;设定高电平
MOVX @DPTR,A ;启动D/A转换,输出高电平
LCALL DELAY ;延时显示高电平
MOV A,#00H ;设定低电平
MOVX @DPTR,A ;启动D/A转换,输出低电平
LCALL DELAY ;延时显示低电平
SJMP LP ;连续输出方波
DELAY: MOV R3,#18 ;延时子程序
D1: NOP
NOP
NOP
DJNZ R3,D1
RET
END
5.设计型实验内容
①采用中断法设计ADC0809数据采集程序,并将采集到的十六进制结果显示在LED
显示模块上。
②编程使DAC0832电路输出0.5V、1.0V、2.5V、3.0V、4.5V,并用万用表测量其实际
输出电压值。
用P2.0控制转换,循环显示5个电压,每两秒钟变1个。
6.综合型实验
①用中断方式编写A/D转换程序,每秒以100ms的间隔采集8次,求8次结果的平均
值,保存到内部RAM40H开始的单元,共采集30秒钟。计算出每秒的平均值并显示在静态数码管上。
②采用DAC0832设计一简易的信号发生器,设计流程并编写程序实现50Hz的方波、
锯齿波。
(1)编程实现50hz方波。用P2.0控制数模转换。
如果输出50hz方波,则delay程序应该延时10ms。但是在实验过程中,50hz
变化太快,难以观察。因此下框中程序的delay子程序延时了2s。
ORG 0000
LJMP 0030H
ORG 0030H
MOV DPTR, #0FEFFH
LP:MOV A,#0FFH;高电平
MOVX @DPTR, A
ACALL DELAY; DELAY 10MS
MOV A, #0
MOVX @DPTR, A
ACALL DELAY
SJMP LP
DELAY: MOV R2,#100 ;DELAY2S
L1: MOV R3, #100
L2: MOV R4, #98
L3: DJNZ R4, L3
NOP
DJNZ R3, L2
DJNZ R2, L1
RET
END
(2)编程实现50HZ锯齿波
如果要输出50hz锯齿波,则每一个数值需要delay大约78us。在实验中,为了方便观