八路输入模拟信号的数值显示电路设计 一、 设计任务及要求 采用8088CPU作主控制器,0809作A/D转换器。开机后能自动依次轮流显示8路输入的模拟电压值,每采集一个通道则立即显示该通道经A/D转换后的数值。输入模拟电压在0—5V范围内,显示值在0—255范围内。四个LED分别显示通道号(0-8)、百位数、十位数、个位数。 要求: 1.四个LED均为共阴极型,采用动态显示法。 2.采用直接地址译码方法,给0809芯片,段选端口,位选端口分配地址。其中段选端口,位选端口均采用74LS273芯片。 3.采用无条件传送方式即启动转换后等待超过100微秒读取转换结果。 4.画出连接线路图或功能模块引脚连接图 二:硬件连接图 总体效果图
(1)ADC0808 ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
(2)显示部分 采用共阴极接法, 8088在访问存储器或I/O设备时,首先将存储单元或I/O端口的地址发送到地址线上,由于8088的低八位地址和数据共享着AD7-AD0八条引线,所以无法同时传送数据和地址,若不将8088先送出的第八位地址锁存,则必然丢失,故用8088组建系统,必然用地址锁存器,此处用74ls373 
将220V电压转换为0~5V电压 (5)74ls138 E1,E2,E3是使能端,负责选通74LS138,A,B,C的作用是选通Y0~Y7哪一个工作 - 结果

在刚上电时,数码管显示值都为0000,当进行一次测量后,将显示出A/D转換值。数据显示时间在1秒左右。主程序在调用显示程序和测试程之间循环 采用动态扫描法实现四位数码管的数值显示。测量所得的 A/D转換数据放在70H-77H内存单元中,测量数据在显示时需经过转換成为十进制 BCD码放在78H-7BH中,寄存器 用来作8路循环控制 A/D转換由集成电路 0808完成, 0808具有8路模拟输入端口, 地址线(23-25脚)可决定对哪一路模拟输入作 A/D转換, 22脚为地址锁存控制, 当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个高电平脉冲时,就开始 A/D转換, 7脚为 A/D转換结束标志,当 A/D转換结束时, 7脚输出高电平。9脚为A/D转換数据输出允许控制,当0E脚为高电平时, A/D转換数据从端口输出 。10脚为 0808的时钟输入端,单片机的 P1、 P3端口作四位 LED数码管显示控制,P0端口作A/D读入用。模拟量送人寄存器,转换成数字量,将其与输入的模拟量进行比较,逐次逼近直到生成量等于输入量,ADC0809对8个通道进行进行循环采集,然后对采集的数据进行转换,转换为非压缩的BCD码放入数据缓冲区,然后对其分别依次输出采集的通道号、百位、十位和个位。用不同的地址完成输出采集的代码。 
- STACK SEGMENT STACK
- DW 32 DUP(?)
- STACK ENDS
- CODE SEGMENT
- OBUF DB 3 DUP(0)
- assume CS:CODE,SS:STACK
- PA EQU 60H
- PB EQU 62H
- PC EQU 64H
- PD EQU 66H
- MODE EQU 80H 8255a方式控制字10000000,A,B,C做输出口
- START PROC
- MOV AL,MODE
- MOV DX,PD
- OUT DX,AL
- MOV SI,0300H
- S:MOV AX,255H
- MOV DX,SI
- OUT DX,AL
- CALL DELAY
- IN AL,DX
- MOV AH,0
- MOV CL,64H
- DIV CL
- MOV OBUF+2,AL
- MOV AL,AH
- AAM
- MOV OBUF+1,AH
- MOV OBUF,AL
- MOV DX,PC
- OUT DX,AL
- MOV DX,PB
- MOV AL,OBUF+1
- OUT DX,AL
- MOV DX,PA
- MOV AL,OBUF+2
- OUT DX,AL
- INC SI
- CMP SI,0307H
- JNA S
- MOV SI,0300H
- JMP S
- ret
- START ENDP
- DELAY PROC FAR
- PUSHF
- PUSH BX
- PUSH CX
- PUSH SI
- MOV BX,180H
- LP2: MOV CX,176H
- LP1: PUSHF
- POPF
- LOOP LP1
- DEC BX
- JNZ LP2
- POP SI
- POP CX
- POP BX
- POPF
- RET
- DELAY ENDP
- CODE ENDS
- END START
复制代码
五:实验小结
此次设计做的不是很顺利,首先是8255的用法没有很好的学习好,导致用的时候没有融会贯通,其次在程序的理解和设计上还有困难,总值最大的问题是学习上的理论知识不是非常扎实,而这次设计让我学到了很多,特别是编程方面,多亏有同学的帮助让我明白了很多课堂上学不到的东西,但愿以后能够有更大的进步吧
完整的Word格式文档51黑下载地址: |