单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7 学习AD接口和DA

上传人:E**** 文档编号:89377001 上传时间:2019-05-24 格式:PPT 页数:61 大小:1.82MB
返回 下载 相关 举报
单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7  学习AD接口和DA_第1页
第1页 / 共61页
单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7  学习AD接口和DA_第2页
第2页 / 共61页
单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7  学习AD接口和DA_第3页
第3页 / 共61页
单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7  学习AD接口和DA_第4页
第4页 / 共61页
单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7  学习AD接口和DA_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7 学习AD接口和DA》由会员分享,可在线阅读,更多相关《单片机实用技术教程 教学课件 PPT 作者 杨宏丽 项目7 学习AD接口和DA(61页珍藏版)》请在金锄头文库上搜索。

1、项目7 学习A/D接口和D/A接口,任务1 用DAC0832实现方波、三角波、 锯齿波波形发生器,任务分析 任务实现 相关知识,任务分析,图7.1 信号发生器波形,任务实现,步骤1认识转换元器件,图7.2 DAC0832芯片引脚图,图7.3 DAC0832芯片的内部结构图,步骤2硬件电路设计,图7.4 波形发生器电路图,波形发生器电路元器件清单如表7.1所示。,步骤3准备元器件并制作电路板,表7.1 波形发生器电路元器件清单,图7.5 集成运放LM324芯片的引脚图,图7.6 波形发生器电路板硬件实物,锯齿波编程思路:先输出二进制最小值00H,然后按+1规律递增,当输出数据达到最大值FFH时,

2、再回到00H重复这一过程。 源程序如下:,步骤4编写波形发生程序,;* 锯齿波程序 * ;程序名:锯齿波程序PM7_1_1.asm ;程序功能:产生锯齿波信号输出 ORG 0000H AJMP START START:MOV DPTR,#7FFFH ;输入寄存器地址 AA: MOV A, #00H ;送转换初值 BB: MOVX DPTR,A ;D/A转换 NOP ;延时 NOP CJNE A,#0FFH,CC ;判断最大值到否 SJMP AA CC: INC A AJMP BB END,正弦波编程思路: 源程序如下: ;* 正弦波程序 * ;程序名:正弦波程序PM7_1_2.asm ;程序功

3、能:产生正弦波输出,周期约256ms ,幅度约2.5V ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP, #6FH PUB0:MOV R4,#00H PUB1:MOV DPTR,#TAB ;确定表首地址 MOV A,R4 MOVC A,A+DPTR ;查表取输出参数 MOV DPTR, #7FFFH PUB2: MOVX DPTR,A LCALL DELAY_1ms INC R4 CJNE R4,#00H,PUB1 ;判断一个周期到否 LJMP PUB0,TAB :DB 80H,83H,86H,89H,8DH,90H,93H,96H,99H,9CH,9FH

4、,0A2H,0A5H,0A8H,0ABH,0AEH DB 1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H,0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H 0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H,0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH

5、,0FFH,0FEH,0FDH,0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0DlH,0CFH,0CCH,0CAH,0C7H,0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H,96H,93H,90H,8DH,89H,86H,83H,80H DB 80H

6、,7CH,79H,76H,72H,6FH,6CH,69H,66H,63H,60H,5DH,5AH,57H,55H,51H DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH,38H,35H,33H,30H,2EH,2BH,29H,27H DB 25H,22H,20H,1EH,1CH,1AH,18H,16H,15H,13H,11H,10H,0EH,0DH,0BH,0AH DB 09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,01H,02H,02H

7、,03H,04H,05H,06H,07H,08H,09H DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H,16H,18H,1AH,1CH,1EH,20H,22H,25H DB 27H,29H,2BH,2EH,30H,33H,35H,38H,3AH,3DH,40H,43H,45H,48H,4CH,4EH DB 51H,55H,57H,5AH,5DH,60H,63H,66H,69H,6CH,6FH,72H,76H,79H,7CH,80H,;* 延时1ms子程序 * ;程序名:DELAY_1ms ;程序功能:延时1ms DELAY_1ms: PUSH ACC ;2494s+4s

8、 =1ms NOP CLR A PD:NOP INC A CJNE A,#0F9H,PD ;#F9H = 249D POP ACC RET END,方波编程思路: 源程序如下: ;* 方波程序 * ;程序名:方波程序PM7_1_3.asm ;程序功能:产生方波信号输出 ORG 0000H AJMP START START:MOV DPTR,#7FFFH ;输入寄存器地址 AA:MOV A, #00H ;送转换最小值00H MOVX DPTR,A ;D/A转换 LCALL DELAY_1ms ;延时1ms MOV A, #0FFH ;送转换最大值FFH MOVX DPTR,A ;D/A转换 LC

9、ALL DELAY_1ms ;延时1ms AJMP AA END,将硬件电路板和单片机开发系统连接好,进行以下操作。 输入源程序。 编译源程序。 将输出Vo与示波器连接。 运行程序,用示波器观察输出电压波形。,步骤5调试并运行程序, 锯齿波、正弦波、方波程序的流程图如图7.7、图7.8、图7.9所示。,步骤6程序分析总结,图7.7 锯齿波程序的流程图,图7.8 正弦波程序的流程图,图7.9 方波程序的流程图,相关知识,1D/A转换器的性能指标 (1)分辨率 (2)建立时间 2D/A转换器芯片DAC0832功能,图7.10 运算放大器接法,3接口方式与编程,(1)直通方式,图7.11 直通方式接

10、线的原理示意图,【例7.1】 DAC0832芯片直通方式下的信号发生器。 用采用直通方式连接的DAC0832芯片产生一个周期为1kHz的方波信号。 (1)题意分析 在直通方式下,直接将要转换的二进制数输出即可获得相应的模拟电压。 因此,先输出二进制最小值00H,延时0.5ms,再输出二进制最大值FFH,延时0.5ms,然后不断重复这一过程即可产生方波。,(2)程序设计 用汇编语言实现的程序如下: ;*直通方式下的方波信号发生器* ;程序名:DAC0832芯片直通方式的方波信号发生器EX7_1.asm ;程序功能:1kHz的方波信号发生器 ORG 0000H AJMP START START:M

11、OV P1, #00H ;送转换最小值00H LCALL DELAY1 ;延时0.5ms MOV P1, #0FFH ;送转换最大值FFH LCALL DELAY1 ;延时0.5ms AJMP START,;* 延时0.5ms子程序* ;程序名:DELAY1 ;程序功能:延时0.5ms DELAY_1ms:PUSH ACC ;1244s+4s =0.5ms NOP CLR A PD: NOP INC A CJNE A,#7BH,PD ;#7BH = 124D POP ACC RET END,(2)单缓冲方式,图7.12 DAC 0832单缓冲方式接口1,图7.13 DAC 0832单缓冲方式接

12、口2,(3)双缓冲方式,图7.14 DAC 0832芯片双缓冲方式连接图,【例7.2】 DAC0832芯片双缓冲方式下的信号发生器。 假定图7.14所示的电路中输入寄存器地址为FEH,DAC寄存器地址为FFH。 请利用该电路设计一个任意周期的锯齿波发生器。 (1)题意分析 先输出二进制最小值00H,然后按+1规律递增,当输出数据达到最大值FFH时,再回到00H重复这一过程。 由于输入寄存器地址为FEH,DAC寄存器地址为FFH,因此在程序中使用MOVX R0 , A和 MOVX R1 , A 两条传送指令,才能完成一个数字量的模拟转换。,(2)程序设计 源程序如下: ;* 锯齿波程序 * ;程

13、序名:DAC0832芯片双缓冲方式的锯齿波程序EX7_2.asm ;程序功能:产生锯齿波信号输出 ORG 0000H AJMP START START:MOV R0,#0FEH ;装入输入寄存器地址 MOV R1,#0FFH ;装入DAC寄存器地址 AA:MOV A, #00H ;送转换初值 BB:MOVX R0 , A ;转换数据送输入寄存器 MOVX R1 , A ;数据通过DAC寄存器 CJNE A,#0FFH,CC ;判断最大值到否 SJMP AA CC: INC A AJMP BB END,任务2 用ADC0809实现数字电压表,任务分析 任务实现 相关知识,任务分析,图7.15 数

14、字电压表电路框图,任务实现,步骤1认识转换元器件,图7.16 ADC0809芯片的引脚图,表7.2 通道选择表,表7.3 简易数字电压表元器件清单,步骤2硬件电路设计 步骤3准备元器件并制作电路板,图7.17 简易数字电压表电路图,图7.18 数字电压表电路板硬件实物,源程序如下: ;* 简易数字电压表程序 * ;程序名:简易数字电压表程序PM7_2.asm ;程序功能:显示0.05.0V测量电压值,分辨率0.1V ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP, #60H LP: LCALL ADCHN ;调用取A/D转换电压数据子程序 LCALL DA

15、TAPR ;调用数据处理子程序 LCALL DISP1 ;调用显示子程序 AJMP LP END,步骤4编写控制程序,;* A/D 转换子程序ADCHN * ;子程序名:ADCHN ;功能:读取A/D转换电压值 ;入口参数:无 ;出口参数:A,存放转换后8位数字量 ADCON:SETB P0.2 NOP NOP CLR P0.2 ;A/D转换器清0 NOP NOP SETB P0.2 ;A/D转换启动 JB P0.3, $ ;查询转换是否结束? CLR P0.2 ;允许读取转换结果 NOP NOP MOV P1, #0FFH MOV A, P1 ;从P1端口读取转换数据 RET,(1)单片机与A/D转换器接口子程序ADCHN设计思路,;* 显示数据处理子程序 DATAPR *

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

当前位置:首页 > 高等教育 > 大学课件

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