ADC0809模数转换与显示(第四次实验)
华侨大学 08自动化
实验目的:
1. 掌握ADC的使用控制方法。 实验内容: 基本要求:设计一程序采集ADC0809第3通道的电压值,将其转换为数字量,并在数码管上显示;5V显示为255, 0V显示为000。 扩展要求:将转换结果以两位小数精确显示,5V显示5.00,2.3V显示2.30,依次推广之。
一、实验原理图:
二、程序流程图:
1
开始 定时器初始化,对ADC0809初始化,选择通道3 给START一个脉冲,启动信号输入端 判断EOC是否为0 N Y 将OE置1 读P3口数字 数字处理,调用显示 OE置0 返回 三、源程序
1、基本要求:
OE EQU P1.0 MOV SP,#60H EOC EQU P1.1 MOV TMOD,#02H
ST EQU P1.2 MOV TH0,#14H CLK EQU P1.3 MOV TL0,#00H SHU EQU 30H MOV IE,#82H TEMP EQU 31H SETB TR0
ORG 0000H MOV A,#3FH AJMP MAIN MOV P1,A ORG 000BH
MOV SHU,#0 CPL CLK SCAN:
RETI CLR ST
ORG 0100H
SETB ST
MAIN:
CLR ST
2
M0: JNB EOC,M0
SETB OE
MOV A,#0FFH
MOV P3,A M1: MOV A,P3 MOV SHU,A LCALL CHANGE LCALL DISP
CLR OE
AJMP SCAN DISP:
MOV R0,#TEMP MOV R2,#00H DISP1:MOV A,R2 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P2,A MOV A,@R0 MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A MOV R5,#5
ACALL DELAY INC R0
INC R2
2、扩展部分:
OE EQU P1.0
EOC EQU P1.1 ST EQU P1.2 CLK EQU P1.3 SHU EQU 30H TEMP EQU 20H ORG 0000H AJMP MAIN ORG 000BH CPL CLK RETI
ORG 0100H
MAIN:
MOV SP,#60H
CJNE R2,#3,DISP1 MOV P0,#00H RET CHANGE:
MOV A,SHU MOV B,#100 DIV AB MOV TEMP,A MOV A,B MOV B,#10 DIV AB
MOV TEMP+1,A MOV TEMP+2,B
RET
DELAY: MOV R6,#1 DELAY0:
MOV R7,#100 DJNZ R7,$ DJNZ R6,DELAY0 DJNZ R5,DELAY RET TAB:
DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
TAB1: DB 0FDH,0FBH,0F7H END
MOV TMOD,#02H MOV TH0,#14H MOV TL0,#00H MOV IE,#82H SETB TR0 MOV A,#3FH MOV P1,A
MOV SHU,#0
SCAN:
CLR ST SETB ST
CLR ST
M0: JNB EOC,M0
3
SETB OE
MOV A,#0FFH
MOV P3,A
M1: MOV A,P3 MOV SHU,A LCALL HUAN LCALL DISP CLR OE
AJMP SCAN
DISP:
MOV R0,#TEMP
MOV R2,#00H DISP1:
MOV A,R2 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P2,A MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A MOV R5,#5 ACALL DELAY INC R0
INC R2
CJNE R2,#3,DISP1 MOV P0,#00H RET
HUAN: MOV A,SHU MOV B,#51 DIV AB
ADD A,#10
MOV TEMP,A MOV A,B MOV B,#2 DIV AB MOV B,#10 MUL AB MOV B,#25 DIV AB MOV TEMP+1,A
MOV A,B MOV B,#2 DIV AB MOV B,#10 MUL AB MOV B,#25 DIV AB MOV TEMP+2,A
RET
DELAY: MOV R6,#1 DELAY0:
MOV R7,#100 DJNZ R7,$ DJNZ R6,DELAY0 DJNZ R5,DELAY RET TAB:
DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
TAB1: DB 0FDH,0FBH,0F7H END
4