一、实验目的1、学习ADC0809、8279A与微机8088系统的接口方法,以及8088CPU用查询方式对键值扫描的编程方法,了解并掌握LED数码管显示的原理和编程方法。2、掌握ADC0809和微机接口方法工作方式和编程原理。并且学会用8255A并行口传输数据的方法。3、通过自己编写汇编程序和在实验箱上的调试,学会8086/8088的编程原理和方法,和各芯片与其的连接原理和方法,并学会通过编程协调各芯片的正常工作。二、实验内容说明通过编程,本实验要求通过温度传感器向ADC0809芯片中输入模拟信号,通过ADC0809输出数字信号后,由8086CPU处理,在数码管上显示十进制的温度数值。由于实验室没有温度传感器的放大电路,于是温度传感器和放大电路由一个0-5V滑动变阻器代替。三、ADC0809的介绍ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。1.主要特性1)8路8位A/D转换器,即分辨率8位。2)具有转换起停控制端。3)转换时间为100μs4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准。6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。2.内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近3.外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。下面说明各引脚功能。IN0~IN7:8路模拟量输入端。2-1~2-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START:A/D转换启动信号,输入,高电平有效。EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。四、实验原理接线图根据图示,在DVCC8086试验箱上按要求连接线路图。五、实验程序的编写1、程序的编写思路通过ADC0809芯片将输入的模拟量转化为2位16进制数,数值为0-FFH,共256个数,要求输出温度为0-100°C。所以根据要求,将ADC0809所得数据乘以100再除以FFH,再对所得数据进行16进制向10进制转换,并通过8279A从数码管输出。2、实验程序CODESEGMENT;定义代码段ASSUMECS:CODEADPORTEQU0060H;定义0809端口地址CONTPORTEQU00DFH;定义8279命令口地址DATAPORTEQU00DEH;定义8279数据口地址START:JMPADCONTORL;无条件跳转至ADCONTORLDATA1EQU0583H;定义DATA1地址为0583HDATA2EQU0500H;定义DATA2地址为0500HADCONTORL:CALLFORMAT;调用FORMATMOVCX,4;设CX为4MOVBX,0;设BX为0A0:MOVWORDPTRDS:[BX+0584H],0000H;0584-0588无任何显示(对应数码管前四个)ADDBX,2;BX加2再给BXLOOPA0;循环A0四次ADCON:MOVAX,00;AX清零MOVDX,ADPORT;通道值送0809端口OUTDX,AL;启动本次A/D转换MOVCX,0500H;将0500H送入CXDELAY:LOOPDELAY;延时MOVDX,ADPORT;读取A/D转换结果INAL,DXCALLCONVERS;调用显示转换程序CALLLEDDISP;调用显示子程序JMPADCON;跳转至ADCONCONVERS:MOVBL,100;进行显示转换,将100送入BLMULBL;A/D转换结果乘100再给到AXMOVBL,0FFH;将FFH给到BLDIVBL;AX中数据除FFH,商在AL中,余数在AH中MOVAH,0;余数清零A1:MOVBL,100;显示温度值百位数,将100送入BLMOVSI,DATA1;SI指向0582HDIVBL;AX中数据除100,商在AL中,余...