用ADC0809做A/D转换器,编制程序,将模拟量变成数字量,并用数码管显示其结果.用汇编语言.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 18:05:15

用ADC0809做A/D转换器,编制程序,将模拟量变成数字量,并用数码管显示其结果.用汇编语言.
用ADC0809做A/D转换器,编制程序,将模拟量变成数字量,并用数码管显示其结果.
用汇编语言.

用ADC0809做A/D转换器,编制程序,将模拟量变成数字量,并用数码管显示其结果.用汇编语言.
0809利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果.
PORT EQU 0CFA0H
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START:MOV DPTR,#PORT ;启动通道0
MOVX @DPTR,A
MOV R0,#0FFH
LOOP1:DJNZ R0,LOOP1 ;等待中断
MOVX A,@DPTR
MOV R1,A
DISP:MOV A,R1 ;从R1中取转换结果
SWAP A ;分离高四位和低四位
ANL A,#0FH ;并依次存放在50H到51H中
MOV 50H,A
MOV A,R1
ANL A,#0FH
MOV 51H,A
LOOP:MOV DPTR,#0CFE9H ;写显示RAM命令字
MOV A,#90H
MOVX @DPTR,A
MOV R0,#50H ;存放转换结果地址初值送R0
MOV R1,#02H
MOV DPTR,#0CFE8H ;8279数据口地址
DL0:MOV A,@R0
ACALL TABLE ;转换为显码
MOVX @DPTR,A ;送显码输出
INC R0
DJNZ R1,DL0
SJMP DEL1
TABLE:INC A
MOVC A,@A+PC
RET
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL1:MOV R6,#255 ;延时一段时间使显示更稳定
DEL2:MOV R5,#255
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
LJMP START ;循环
END