实验4、A/D转换实验
2020-01-15 10:10
393 查看
实验内容
基础部分:
1编写实验程序,将DAC单元中提供的0V~5V信号源作为ADC0809的模拟输入量,进行A/D转换,转换结果通过8位LED进行显示。
拓展部分:
2分别用延时、查询和中断三种方式实现本实验的实验内容。
代码
基础
采用下面的一种方式即可
延时
A8255 EQU 0600H B8255 EQU 0602H C8255 EQU 0604H CON8255 EQU 0606H A0809 EQU 0640H B0809 EQU 0642H CODE SEGMENT ASSUME CS:CODE START: MOV DX, CON8255 MOV AL, 90H ;A--IN,B--OUT OUT DX, AL MI: MOV DX,B0809 MOV AL,01H OUT DX,AL ;启动1通道 MOV DX, A0809 ;启动A/D采样 OUT DX, AL CALL DELAY IN AL, DX ;读A/D采样结果 MOV DX, B8255 OUT DX,AL ;送入8255B口 JMP MI DELAY: PUSH CX PUSH AX MOV CX,0FFFFH; L1: LOOP L1 POP AX POP CX RET CODE ENDS END START
查询
A8255 EQU 0600H B8255 EQU 0602H C8255 EQU 0604H CON8255 EQU 0606H ;0809使用IOY1片选信号 A0809 EQU 0640H B0809 EQU 0642H CODE SEGMENT ASSUME CS:CODE START: MOV DX, CON8255 MOV AL, 90H ;A--IN,B--OUT OUT DX, AL X3: MOV DX,B0809 MOV AL,01H OUT DX,AL ;启动1通道 MOV DX, A0809 OUT DX, AL ;启动AD采样 X1: MOV DX,A8255 IN AL,DX ;从8255A口读入EOC状态 TEST AL,80H ;如果是不是高电平,表示未完成转换 JNZ X1 X2: MOV DX,A8255 IN AL,DX ;从8255A口读入EOC状态 TEST AL,80H JZ X2 ;如果是高电平,表示装换未完成 MOV DX,A0809 IN AL,DX ;从ADC0809读入转换完成的数据 MOV DX, B8255 OUT DX,AL ;从8255B口输出转换完成的数据 JMP X3 ;循环转换 CODE ENDS END START
中断
A8255 EQU 0600H B8255 EQU 0602H C8255 EQU 0604H CON8255 EQU 0606H A0809 EQU 0640H B0809 EQU 0642H CODE SEGMENT ASSUME CS:CODE START: MOV DX, CON8255 MOV AL, 90H OUT DX, AL ;设置中断向量 MOV AX, OFFSET MIR6 ;ADC0809的EOC引脚连接MIR6 MOV SI, 0038H MOV [SI], AX MOV AX,CS MOV SI,003AH MOV [SI], AX ;设置ICW1~ICW4和OCW1 CLI MOV AL, 11H OUT 20H, AL MOV AL, 08H OUT 21H, AL MOV AL,04H OUT 21H, AL MOV AL, 07H OUT 21H, AL MOV AL, 2FH OUT 21H, AL STI AA1: CLI ;关中断 MOV DX,B0809 MOV AL,01H OUT DX,AL ;启动1通道 MOV DX, A0809 ;启动AD采样 OUT DX, AL CALL DELAY ;延时一小段时间之后开中断,保证每一次AD转换中断只响应一次 STI JMP AA1 MIR6: ;STI MOV DX,A0809 ;读入AD转换之后的值 IN AL,DX MOV DX, B8255 ;从8255B口输出 OUT DX, AL IRET DELAY: PUSH CX PUSH AX MOV CX,0FFFH L1: LOOP L1 POP AX POP CX RET CODE ENDS END START
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 数据压缩原理 实验二 图像文件的读写和转换
- 【c++】实验说明“转换构造函数”是如何转换的
- OJ期末刷题 C语言实验——转换字母(顺序结构)
- 数据压缩 实验报告一 彩色空间转换
- JAVA语言实验——转换字母(顺序结构)
- 数据压缩第一次实验报告(rgb与yuv的转换)
- Packet Tracer 5.2实验(十五) 网络端口地址转换NAPT配置
- Packet Tracer 5.2实验(十五) 网络端口地址转换NAPT配置
- 第4章实验题:小写字母转换为大写字母
- Appv4.6转换appv5.0实验手册(一)
- 实验项目3-6:表达式转换(中缀表达式转后缀表达式)
- WinCE 编程实验(第九章 执行绪在队列之间的转换分析)
- 《第二周实验报告1-1》---递归函数将十进制数转换成二进制
- sqlserver 数据类型转换小实验
- Spark基础转换及行动操作(python实验)
- C语言实验——温度转换
- 实验一 彩色空间转换实验
- 实验二 图像文件的读写和转换(BMP转YUV)
- 数据压缩实验二 图像文件的读写和转换(bmp转yuv)
- 实验二:大小写的转换