北航微机原理实验之四(数模转换)
- 格式:doc
- 大小:157.50 KB
- 文档页数:6
2011- 2012 学年第一学期
微机原理实验四:数/模转换班级392311学院高等工程姓名李柏学号3903·2415
2011年12月17日
1.实验目的
了解数模转换的原理,学习数模转换芯片的使用方法,掌握利用数模转换芯片产生方波及正弦波的方法。
2.实验内容
在数据段中存放好对应于产生方波和正弦波的数字量,正弦波要求20个值。编写程序将数据段中的数字量送到DAC0832的输出端产生方波和正弦波,本实验只需CS与290H连接。
3.程序清单
正弦波生成代码
PORTA EQU 0EF00H-280H+290H
STACK SEGMENT STACK
DB 100 DUP()
STACK ENDS
DA TA SEGMENT
X1 DB 128,163,203,232,250,255,250,232,203,168
DB 128,88,53,24,6,0,6,24,53,88
X2 DB 'PLEASE INPUT NUMBER$'
DA TA ENDS
CODE SEGMENT
ASSUME CSCODE,DSDA TA,SSSTACK
MAIN PROC
MOV AX, DA TA
MOV DS, AX
MOV DX, OFFSET X2
MOV AH,9
INT 21H
NEXT1 MOV DX, PORTA
MOV CX, 20
MOV SI, OFFSET X1
NEXT2 MOV DX,PORTA
MOV AL,[SI]
OUT DX,AL
INC SI
NEXT4 MOV DL,0FFH
MOV AH,6
INT 21H
JNZ NEXT3
JMP NEXT4
NEXT3 LOOP NEXT2
JMP NEXT1
MOV AH, 4CH
INT 21H
MAIN ENDP
CODE ENDS
MAIN ENDS
方波生成代码
PORTCS EQU 0EF00H-280H+290H STACK SEGMENT STACK
DW 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK MAIN PROC
NEXT:
MOV DX,PORTCS
MOV AL,0
OUT DX,AL
CALL DELA Y
MOV AH,1
INT 21H
MOV AL,0FFH
OUT DX,AL
CALL DELA Y
MOV AH,1
INT 21H
MOV DL,0FFH
MOV AH,6
INT 21H
JZ NEXT
MOV AH,4CH
INT 21H
MAIN ENDP
DELA Y PROC
PUSH CX
MOV CX,1000
NEXT1:
LOOP NEXT1
POP CX
RET
DELA Y ENDP
CODE ENDS
END MAIN
三角波
INADRESS EQU 0EFF0H-280H+290H
STACK SEGMENT STACK
DW 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE;SS:STACK MAIN PROC
MOV AL,0
NEXT1: MOV DX,INADRESSS
OUT DX,AL
CALL DELA Y
INC AL
JNZ NEXT1
NEXT2: DEC AL
OUT DX,AL
CALL DELA Y
JNZ NEXT2
MOV DL,0FFH
MOV AH,6
INT 21H
JZ NEXT1
MOV AH,4CH
INT 21H
MAIN ENDP
DELA Y PROC
PUSH CX
MOV CX,1000
NEXT3: LOOP NEXT3
POP CX
RET
DELA Y ENDP
CODE ENDS
END MAIN
正弦波:
2.3mv 1.559v 2.924v 4.05v4.76v 4.95v 4.76v 4.05v 2.924v 1.559v 3mv -1.536v -2.889v -4.00v -4.70v -4.00v -2.889v -1.536v
方波:
高4.95v 低-4.98v
4.收获与心得
这次实验的硬件连线比较容易。在实验过程中,很快就得到了实验结果。但实验过程中的一个环节还是给了我一些启示。实验过程中有一个步骤是要在输出端测输出电压。刚开始我测试数据的时候发现万用表测出的数据一直是变动中的,无法获得稳定的电压值。我开始认为是连线接触不良导致的这种情况,又重新检查了一下程序,并回忆老师上课讲过的一些实验中会遇到的问题,我突然想到是因为程序中少了一段延时程序才导致输出电压无法测出。再加入了一个延时子程序后果然顺利的得到了稳定的电压值。这次实验我最大的收获就是明白了理论如何转化成正确的实践成果。老师课堂上并没有讲过输出要延时一段时间,但是具体实践却要求我们必须这样做才能获得正确的结果。这就需要我们自己具备这种分析问题,并结合实际情况改进理论指导的能力。