微型计算机原理与接口技术实验报告班级:_____________________________实验一A/D转换实验一、实验目的了解模/数转换基本原理,掌握ADC0809勺使用方法。
二、实验内容利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
三、实验接线图图1-1四、编程指南1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR故启动A/D转换只须如下两条指令:;ADC0809端口地址 ;发CS 和WR 言号并送通道地址2. 用延时方式等待 A/D 转换结果,使用下述指令读取 A/D 转换结果: MOV DX, ADPORT ;ADC0809端口地址IN AL, DX3. 循环不断采样 A/D 转换的结果,边采样边显示 A/D 转换后的数字量五、 实验程序框图图 1-2六、 实验步骤1. 断电连接导线,将0809 CS4插孔连到译码输出FF80H 插孔,将通道0模 拟量输入端IN0连电位器 W1的中心插头AOUT1(0- 5V)插孔, 8MHZ> T ; 2. 在PC 机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为 .asm 文件); 3. 编译下载;4. 全速运行,运行程序;5. 按RST 键退出。
七、 实验程序DATA SEGMENT BUF DB 6 DUP(0) DATA1: DB0c0h,0f9h,0a4h,0b0h,99h,DB 92h,82h,0f8h,80h,90h, DB88h,83h,0c6h,0a1h,86h,DB8eh,0ffh,0ch,89h,0deh,DB0c7h,8ch,0f3h,0bfh,8fh DATA ENDSCODE SEGMENTASSUME CS: CODE,DS: DATA ADC EQU 0FF80H ;ADC0809端口地址 PA EQU 0FF20HMOV DX, ADPORT OUT DX, ALPB EQU 0FF21HPC EQU 0FF22H MAIN PROC FAR START: MOV AX, DATAMOV DS, AX MOV ES, AX ADC_S:MOV AX, 00HMOV DX, ADC OUT DX, AL MOV CX, 0500H DELAY:LOOP DELAYMOV DX, ADPORT IN AL, DX CALL CONVERS CALL DISP JMP ADC_S MAIN ENDPCONVERS PROC NEARMOV AH, AL AND AL, 0FHMOV BX, OFFSET BUF MOV [BX+5], AL MOV AL, AH AND AL, 0F0H MOV CL, 04H SHR AL, CL MOV [BX+4], ALRET CONVERS ENDP DISP PROC NEARMOV AL, 0FFH MOV DX, PA OUT DX, AL MOV CL, 0DFHMOV BX, OFFSET BUF DIS1: MOV AL, [BX]MOV AH, 00H PUSH BXMOV BX, OFFSET DATA1 ADD BX, AX MOV AL, [BX] ; 字位口 ; 字形口 ; 键入口 ; 启动转换 ; 延时等待转换完成 ; 读取转换结果 ; 调用数据处理子函数八、 实验结果调节电位器,ADC0809^够实时测量电位器电压并在数码管上显示九、 实验中遇到的问题及解决方式问题: 编程完成后,数码管显示乱码。
解决: 暂未解决,但是更换实验平台后,重新用另一台电脑编译下载能够 成功显示。
; 调用显示子函数; 循环 ; 截取低四位 ; 放入 BUF 截取高四位 ; 将高四位值右移至低四位 ; 放入 BUF ; 显示子程序POP BX MOV DX,PB OUT DX, AL MOV AL, CL MOV DX, PA OUT DX, 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实验二 D/A 转换实验(一)、实验目的了解数/模转换的基本原理,掌握 DAC0832芯片的使用方法。
、实验内容利用0832通过D/A 转换交替产生方波和锯齿波。
三、实验接线图OUT DX,AL2. 产生波形信号的周期由延时常数确定。
五、实验程序框图图2-2六、实验步骤1. 断电连接导线,0832片选信号CS5插孔和译码输出FF80H 插孔相连'2. 在PC 机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为.asm 文件); 3. 编译下载;4. 全速运行,运行程序。
图2-1DA0832四、编程1.首先 信号确定量 的端口地址, 个数CIQ DU DI2 PI3 EI4 EI5 DI6 DI7I0UT1IOUT2JXZ JXO;------------- m指南15I* U* D711741据通典型程序如MOV-680DXQAPORTMOVAL,DATA据到0832须由CS 片选 DAC 寄存器然后锁存一过0832输出, 下:;0832 口地址;输出数FF80ILE VCC十=11V七、实验程序CODE SEGMENT ASSUMECS:CODEMAIN PROC FARSTART: MOV CX, 4FANG: PUSH CXMOV DX, 0FF80HMOV AL, 00HOUT DX, ALCALL DELAYMOV DX, 0FF80HNOT ALOUT DX, AL CALLDELAYPOP CX循环显示4次方波压入堆栈,保护循环次数0832 口地址首先输出方波低电平部分延时取反输出方波高电平部分延时弹出方波次数LOOP FANGMOV CX, 03FCHMOV DX, 0FF80HMOV AL, 00HJUCHI: OUT DX, ALINC ALLOOP JUCHIJMP STARTMAIN ENDPDELAY PROC NEARMOV CX, 0100HDELAY1:LOOP DELAY1RETDELAY ENDPCODE ENDSEND MAIN;循环;锯齿波循环显示4次;0832 口地址;锯齿波初值;加1;循环;显示完成,重新开始;延时函数八、实验结果图2-3九、实验中遇到的问题及解决方式问题:程序运行时,发现显示四个方波但是只显示 3 个锯齿波。
解决:忘记了在结束方波输出循环后将AX=OOH导致少输出一个锯齿波。
实验三 D/A 转换实验(二)、实验目的进一步掌握数/模转换的基本原理、实验内容通过0832D/A 转换输出一个从0V 开始逐渐升至5V,再从5V 降至0V 的 可变电压输出三、实验接线图OUT DX,AL2.产生波形信号的周期由延时常数确定五、实验程序框图图2-2六、实验步骤1. 断电连接导线,0832片选信号CS5插孔和译码输出FF80H 插孔相连'2. 在PC 机和实验系统联机状态下,新建实验程序,编辑完成后进行保存(保存后缀为.asm 文件); 3. 编译下载;4. 全速运行,运行程序。
图3-1四、编程1.首先 信号确定量 的端口地址, 个数据通典型程序如MOVDXQAPORT MOV+L?V]9DA0832cs XFER ILE VCCCIO DU DI2 CI 3 EI4 DI 5 DI& DI 7 RFBJX2指南须由CS 片选 DAC 寄存器 然后锁存一过0832输出,下:;0832 口地址;输出ALQATA imi M27741I OUT! IOUT2-11VAl据到0832七、 实验程序CODE SEGMENT ASSUMECS:CODE MAIN PROC FARSTART: MOV DX, 0FF80H MOVAL, 00HUP: OUT DX, ALINC ALCMP AL, 0FFH JNZ UPDOWN: OUT DX, ALDEC AL CMP AL, 00H JNZ DOWN; 0832 口地址八、 实验结果图 2-3; 三角波初值 ; 输出到 0832 ; 数据加 1 ; 是否到上限 ; 判断; 输出到 0832 ; 数据减 1 ; 是否到下限 ; 判断JMP UPCODE ENDS END MAIN ; 开始执行下一周期。