A/D与D/A转换实验
电子科技大学中山学院学生实验报告 院别:电子信息学院 课程名称:微处理器实验
班级:09电子科学与技术 姓名:保灵童 学号:29010201054 实验名称:实验五 A/D与D/A转换实验 实验时间:2011年11月10日 成绩: 教师签名: 批改时间: 一、实验原理与目的
实验目的
1、了解系统设计的基本概念;
2、掌握A/D 芯片ADC0809 与单片机的接口
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
及ADC0809 芯片性能;
3、掌握D/A芯片DAC0832与单片机的接口方法及ADC0832芯片的性能;
4、了解单片机实现数据采集的方法。
实验原理
本实验是一个综合性的实验,首先利用A/D变换器采集输入电压来控制蜂鸣器的音调,可以通过改变电压值来实时控制蜂鸣器的音调。需要注意的是蜂鸣器的音调是通过改变输出脉冲的频率改变的。然后了解单片机系统中扩展D/A转换的基本方法,使用D/A转换器产生一个正弦波形。
二、实验仪器
1、PC 机一台;
2、DP-51PRO 单片机综合仿真实验仪一台;
三、实验内容与分析
1、电路连接:
1)使用导线把A2 区的J60 接口A0,A2与B4 区的J1 接口ADDA~ ADDC 对应相连;
2)使用导线把A2 区的J63 接口的A15 与B4 区J1 接口的/CS 相连;
3)使用导线把A2 区的J58 接口的INT0 与B4 区J1 接口的/EOC 相连;
4)使用导线把A2 区的J58 接口的T1 与D4 区的J8 接口的BUZZ 相连;
5)使用导线把B4 区的J1 接口的+Vref、-Vref 分别与C1区J49的VCC、GND 相连;
6)使用导线把B4 区的J44 接口的IN0 与D2 区的J18 中间接口相连;
7)ADC0809 的时钟从B2 区的时钟源获取,选用时钟源的1/32 分频(也可以通过D触发器将单片机ALE 信号分频获取),将B2 区J112 的1/32 分频与B4 区J1 的CLK 连接,短接B2 区JP20 跳线,X2上接上晶振;使用短路片把W2 电位器与VCC、GND 相连;
2、编写一段程序,使P3.5 口输出不同频率的脉冲,控制蜂鸣器发出不同的音调,并且输入0~255 用以改变蜂鸣器的音调;将P3.5和J8相连接。
图3-4 蜂鸣器驱动原理图
DAC DATA 30H
ORG 0000H
LJMP MAIN
ORG 0100H MAIN: MOV DAC,#44 LOOP: MOV R7,DAC
SETB P3.5 //T1 LOOP1: MOV R6,#3
DJNZ R6,$
DJNZ R7,LOOP1
MOV R7,DAC
CLR P3.5
LOOP2: MOV R6,#3
DJNZ R6,$
DJNZ R7,LOOP2
AJMP LOOP
END
改变DAC的值,观察声调的变化。
3、编写一段程序,通过ADC0809 实现单片机对电位器模拟电压的采集,使用采集到的数据控制
蜂鸣器的声调。
图3-5 A/D芯片的连接
AD0809 DATA 7000H DAC DATA 30H
TIME0H EQU 00H
TIME0L EQU 00H
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP ZEX0
ORG 000BH
LJMP ZINT0
ORG 0100H MAIN: MOV SP,#60H
SETB IT0
SETB EX0
SETB EA
MOV DPTR,#AD0809
MOVX @DPTR,A
MOV TMOD,#01H
MOV TH0,#TIME0H
MOV TL0,#TIME0L
MOV DAC,#44
SETB ET0
SETB TR0
LOOP: MOV R7,DAC
SETB P3.5
LOOP1: MOV R6,#3
DJNZ R6,$
DJNZ R7,LOOP1
MOV R7,DAC
CLR P3.5
LOOP2: MOV R6,#3
DJNZ R6,$
DJNZ R7,LOOP2
AJMP LOOP ZEX0: PUSH PSW
PUSH ACC
MOV DPTR,#AD0809
MOVX A,@DPTR
MOV DAC,A
POP ACC
POP PSW
RETI
ZINT0: MOV TH0,#TIME0H
MOV TL0,#TIME0L
MOV DPTR,#AD0809
MOVX @DPTR,A
RETI
END
4、由于DAC0832为电流输出,为了取得电压输出,需要在电流输出端Iout1、Iout2分别接上运算放大器LM324的B-、B+;使Rfd与LM324的BOUT联接,Rfd即为运算放大器的负反馈电阻端;由于Vref=5v,所以由运算放大器输出的电压(测试点BOUT)为负电压(0~5v)。下图为实验箱运放区电路。按照以下步骤连接电路:
1)使用导线把A2区J58接口的/WR引脚与B6区的J37接口的WR1、WR2相连
2)使用导线把A2区J63接口的A15引脚与B6区的J1接口的/CS、XFER相连;
3)使用导线把B6区J10接口的ILE.Vref和VCC相连;
4)使用导线把B6区J11接口的IOUT1与C9区J71接口的B-相连;
5)使用导线把B6区J11接口的IOUT2与C9区J71接口的B+相连,同时也与GND相连;
6)使用导线把B6区J10接口的Rfb与C9区J71接口的BOUT相连;
7)使用导线把C9区J71接口的V+与C9区J19接口的+12V相连;
8)使用导线把C9区J72接口的V-与C9区J19接口的-12V相连;
图3-6 LM324运放电路图
5、编写一段程序,使用实验仪上的DAC0832D/A转换器,产生一个正弦波形,使用示波器观察LM324的BOUT口的输出波形。下图为实验箱上的并行D/A转换模块电路。
图3-7 DAC0832电路图
参考程序:
DAC0832 EQU 6000H
ORG 0000H
AJMP START
ORG 0100H
START: MOV SP,#60H
MOV R0,#0
MOV R1,#0
LOOP: MOV A,R0
MOV DPTR,# SINE_DATA
CJNE R1,#1,LOW_TAB
INC DPH
LOW_TAB: MOVC A,@A+DPTR;
MOV DPTR,#DAC0832
MOVX @DPTR,A ;
INC R0 ;
CJNE R1,#1,INC_LOW
CJNE R0,#105,INC_OK
MOV R0,#0 ;
MOV R1,#0
SJMP INC_OK
INC_LOW: CJNE R0,#0,INC_OK ;
MOV R1,#1
INC_OK: ACALL DELAY ;
AJMP LOOP
DELAY: MOV R7,#10
DJNZ R7,$
RET
SINE_DATA: DB 128, 130, 132, 135, 137, 139, 141, 144, 146, 148
DB 150, 152, 155, 157, 159, 161, 163, 165, 168, 170
DB 172, 174, 176, 178, 180, 182, 184, 186, 188, 190
DB 192, 194, 196, 198, 200, 201, 203, 205, 207, 209
DB 210, 212, 214, 215, 217, 219, 220, 222, 223, 225
DB 226, 227, 229, 230, 232, 233, 234, 235, 237, 238
DB 239, 240, 241, 242, 243, 244, 245, 246, 247, 247
DB 248, 249, 250, 250, 251, 252, 252, 253, 253, 254
DB 254, 254, 255, 255, 255, 255, 255, 255, 255, 255
DB 255, 255, 255, 255, 255, 255, 255, 255, 255, 254
DB 254, 254, 253, 253, 252, 252, 251, 250, 250, 249
DB 248, 247, 247, 246, 245, 244, 243, 242, 241, 240
DB 239, 238, 237, 235, 234, 233, 232, 230, 229, 227
DB 226, 225, 223, 222, 220, 219, 217, 215, 214, 212
DB 210, 209, 207, 205, 203, 201, 200, 198, 196, 194
DB 192, 190, 188, 186, 184, 182, 180, 178, 176, 174
DB 172, 170, 168, 165, 163, 161, 159, 157, 155, 152
DB 150, 148, 146, 144, 141, 139, 137, 135, 132, 130
DB 128, 126, 124, 121, 119, 117, 115, 112, 110, 108
DB 106, 104, 101, 99, 97, 95, 93, 91, 88, 86
DB 84, 82, 80, 78, 76, 74, 72, 70, 68, 66
DB 64, 62, 60, 58, 56, 55, 53, 51, 49, 47
DB 46, 44, 42, 41, 39, 37, 36, 34, 33, 31
DB 30, 29, 27, 26, 24, 23, 22, 21, 19, 18
DB 17, 16, 15, 14, 13, 12, 11, 10, 9, 9
DB 8, 7, 6, 6, 5, 4, 4, 3, 3, 2
DB 2, 2, 1, 1, 1, 0, 0, 0, 0, 0
DB 0, 0, 0, 0, 0, 0, 1, 1, 1, 2
DB 2, 2, 3, 3, 4, 4, 5, 6, 6, 7
DB 8, 9, 9, 10, 11, 12, 13, 14, 15, 16
DB 17, 18, 19, 21, 22, 23, 24, 26, 27, 29
DB 30, 31, 33, 34, 36, 37, 39, 41, 42, 44
DB 46, 47, 49, 51, 53, 55, 56, 58, 60, 62
DB 64, 66, 68, 70, 72, 74, 76, 78, 80, 82
DB 84, 86, 88, 91, 93, 95, 97, 99, 101, 104
DB 106, 108, 110, 112, 115, 117, 119, 121, 124, 126
DB 128
;
END
四、实验心得
此次实验比较简单,只需简单的连线就可以很快的完成,但在连线过程中一定要仔细认真,第二
个程序调节电位器,改变电压,从而改变频率,在程序中改变的是LOOP,在循环过程中,每次减1若
不等于1则跳转,否则进入下一步,每循环一次,周期变大,频率变小。