1、 微型计算机原理与接口技术实验报告 班 级 : 学 号 : 姓 名 : 指导老师 : 朱亚萍 实验名称 : A/D转换实验 D/A转换实验(一) D/A转换实验(二) 2015年12月30日 A/D转换实验 实验一 A/D转换实验 一、实验目的 了解模/
2、数转换基本原理,掌握ADC0809的使用方法。 二、实验内容 利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程 序,将模拟量转换为数字量,通过数码管显示出来。 三、实验接线图 图 1-1 四、编程指南 1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址 的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D 采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两 条指令: 10 MOV DX, ADPORT OUT DX, AL ;ADC0809端口地址 ;发CS和WR信号并
3、送通道地址 2. 用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果: MOV DX, ADPORT 3. 循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。 IN AL, DX ;ADC0809端口地址 五、实验程序框图 图 1-2 六、实验步骤 1. 断电连接导线, 将0809 CS4插孔连到译码输出FF80H插孔,将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔, 8MHZ→T; 2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为.asm文件);
4、3. 编译下载; 4. 全速运行,运行程序; 5. 按RST键退出。 七、实验程序 DATA SEGMENT BUF DB 6 DUP(0) DATA1: DB 0c0h,0f9h,0a4h,0b0h,99h, DB 92h,82h,0f8h,80h,90h, DB 88h,83h,0c6h,0a1h,86h, DB 8eh,0ffh,0ch,89h,0deh, DB 0c7h,8ch,0f3h,0bfh,8fh DATA ENDS CODE SEGMENT ASSUME CS:
5、 CODE,DS: DATA ADC EQU 0FF80H ; ADC0809端口地址 PA EQU 0FF20H PB EQU 0FF21H PC EQU 0FF22H MAIN PROC FAR START: MOV AX, DATA MOV DS, AX MOV ES, AX ADC_S:MOV AX, 00H MOV DX, ADC OUT DX, AL MOV CX, 0500H DELAY:LOOP DE
6、LAY MOV DX, ADPORT IN AL, DX CALL CONVERS CALL DISP JMP ADC_S MAIN ENDP CONVERS PROC NEAR MOV AH, AL AND AL, 0FH MOV BX, OFFSET BUF MOV [BX+5], AL MOV AL, AH AND AL, 0F0H MOV CL, 04H SHR AL,
7、 CL MOV [BX+4], AL RET CONVERS ENDP DISP PROC NEAR MOV AL, 0FFH MOV DX, PA OUT DX, AL MOV CL, 0DFH MOV BX, OFFSET BUF DIS1: MOV AL, [BX] MOV AH, 00H PUSH BX MOV BX, OFFSET DATA1 ADD BX, AX MO
8、V AL, [BX] ;字位口 ;字形口 ;键入口 ;启动转换 ;延时等待转换完成 ;读取转换结果 ;调用数据处理子函数 ;调用显示子函数 ;循环 ;截取低四位 ;放入BUF 截取高四位 ;将高四位值右移至低四位 ;放入BUF ;显示子程序 POP BX MOV DX, PB OUT DX, AL MOV AL, CL MOV DX, PA OUT DX,
9、 AL PUSH CX DIS2: MOV CX, 00A0H LOOP $ POP CX CMP CL, 0FEH JZ LX1 INC BX ROR CL, 1 JMP DIS1 LX1: MOV AL, 0FFH MOV DX, PB OUT DX, AL RET DISP ENDP CODE ENDS END MAIN
10、 八、实验结果 调节电位器,ADC0809能够实时测量电位器电压并在数码管上显示。 九、实验中遇到的问题及解决方式 问题:编程完成后,数码管显示乱码。 解决:暂未解决,但是更换实验平台后,重新用另一台电脑编译下载能够 成功显示。 D/A转换实验(一) 实验二 D/A转换实验(一) 一、实验目的 了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。 二、实验内容 利用0832通过D/A转换交替产生方波和锯齿波。 三、实验接线图 图 2-1 四、编程指南
11、 1.首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数 据通过0832输出,典型程序如下: MOV DX,DAPORT MOV AL,DATA OUT DX,AL ;0832口地址 ;输出数据到0832 2. 产生波形信号的周期由延时常数确定。 五、实验程序框图 图 2-2 六、实验步骤 1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。 2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为.asm文件); 3. 编译下载; 4. 全速运行,运行程序。 七
12、实验程序 CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: MOV CX, 4 FANG: PUSH CX MOV DX, 0FF80H MOV AL, 00H OUT DX, AL CALL DELAY MOV DX, 0FF80H NOT AL OUT DX, AL CALL DELAY POP CX ;循环显示4次方波 ;压入堆栈,保护循环次数 ; 0832口地址 ;首先输出方波低电平部分 ;延时 ;取反输出方波高电平部分 ;延时 ;弹
13、出方波次数 LOOP FANG MOV CX, 03FCH MOV DX, 0FF80H MOV AL, 00H JUCHI: OUT DX, AL INC AL LOOP JUCHI JMP START MAIN ENDP DELAY PROC NEAR MOV CX, 0100H DELAY1:LOOP DELAY1 RET DELAY ENDP CODE ENDS END MAIN ;循环 ;锯齿波循环显示4次 ; 0832口地址 ;锯齿波初值 ;加1 ;循环 ;显示完成,重新开始
14、 ;延时函数 八、实验结果 图 2-3 九、实验中遇到的问题及解决方式 问题:程序运行时,发现显示四个方波但是只显示3个锯齿波。 解决:忘记了在结束方波输出循环后将AX=00H,导致少输出一个锯齿波。 D/A转换实验(二) 实验三 D/A转换实验(二) 一、实验目的 进一步掌握数/模转换的基本原理。 二、实验内容 通过0832D/A转换输出一个从0V开始逐渐升至5V,再从5V降至0V的 可变电压输出。 三、实验接线图 图 3-1 四、编程指南 1.首先须由CS片选信号确定量DAC寄存
15、器的端口地址,然后锁存一个数 据通过0832输出,典型程序如下: MOV DX,DAPORT MOV AL,DATA OUT DX,AL ;0832口地址 ;输出数据到0832 2. 产生波形信号的周期由延时常数确定。 五、实验程序框图 图 2-2 六、实验步骤 1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。 2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为.asm文件); 3. 编译下载; 4. 全速运行,运行程序。 七、实验
16、程序 CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: MOV DX, 0FF80H MOV AL, 00H UP: OUT DX, AL INC AL CMP AL, 0FFH JNZ UP DOWN: OUT DX, AL DEC AL CMP AL, 00H JNZ DOWN ; 0832口地址 ;三角波初值 ;输出到0832 ;数据加1 ;是否到上限 ;判断 ;输出到0832 ;数据减1 ;是否到下限 ;判断 JMP UP CODE ENDS END MAIN ;开始执行下一周期 八、实验结果 图 2-3 D/A转换实验(二)
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818