四川师范大学毕业设计
附录1:总原理图:
31
程序清单
附录:程序清单
/==================== ; 主程序 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV R4,#100 LOOP: LCALL ADCONV LCALL BCDCON LOOP1: LCALL DISPLAY DJNZ R4,LOOP1 MOV R4,#100 SJMP LOOP
;/======================== ; AD子程序
;/======================== ADCONV:
ADCS BIT P3.3 ;使能CS ADCLK BIT P3.2 ;时钟CLK ADDO BIT P3.1 ;数据输出接口 ADDI BIT P3.0 ;数据输入接口
SETB ADDI ;初始化通道选择(CH0=10) SETB ADDO SETB ADCLK
CLR ADCS ; 拉低/CS端,开始AD转换 NOP NOP SETB ADDI NOP NOP
SETB ADCLK ;拉高CLK端 NOP
32
四川师范大学毕业设计
NOP
CLR ADCLK ;:拉低CLK端,形成下降沿1 SETB ADDI
SETB ADCLK ;:拉高CLK端,形成上升沿1 NOP NOP
CLR ADCLK ;:拉低CLK端,形成下降沿1 SETB ADDI
SETB ADCLK ;拉高CLK端,形成上升沿2 NOP
CLR ADCLK ;拉低CLK端,形成下降沿2 NOP NOP CLR ADDI NOP NOP NOP
SETB ADCLK ;拉高CLK,形成上升沿3 NOP NOP
CLR ADCLK ;拉低CLK,形成下降沿3 SETB ADDI SETB ADCLK MOV R5,#8 CLR A
AD1: CLR ADCLK ;拉低CLK端,形成下降沿4,5,6,7,8,9,10,11 NOP NOP
MOV C,ADDO NOP RLC A
SETB ADCLK ;第一组AD转换数据 NOP
33
程序清单
NOP
DJNZ R5,AD1 MOV R3,A NOP CLR A CLR C MOV R5,#8
AD2: MOV C,ADDO ;第二组AD转换数据 RRC A SETB ADCLK NOP
CLR ADCLK ;形成下降沿12,13,14,15,16,17,18, NOP
DJNZ R5,AD2 NOP MOV R4,A MOV B,R3
CJNE A,B,ADCONV ;判断两组数据是否一致?否,则重新转换 SETB ADCS ;关片选 CLR ADCLK ;时钟清零 SETB ADDI ;初始化通道选择 RET
;//////ADCONV子程序结束////// ;/======================== ; 数据处理子程序
;/======================== BCDCON: MOV A,R3 MOV B,#137 SUBB A,B JC XIAOYU MOV B,#2 MUL AB MOV B,#100
34
19 四川师范大学毕业设计
DIV AB
MOV 70H,A ;百位数在A XCH A,B ;余数存A MOV B,#10
DIV AB ;十位数与个位数分开 MOV 71H,A MOV 72H,B RET
XIAOYU: MOV 70H,#10 MOV A,#137 MOV B,R3 SUBB A,B MOV B,#2 MUL AB MOV B,#10 DIV AB MOV 71H,A MOV 72H,B RET
;//////////数据处理子程序结束 /////////// ;/============================
; 显示子程序,共阳显示子程序,显示内容在78H~7AH 显示子程序
;/============================ DISPLAY: MOV A, #0FFH MOV P1,A MOV R0,#70H MOV A,@R0 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P0,A
MOV P1,#11011111B ACALL DELAY
35
程序清单
MOV A,#0FFH MOV P1,A INC R0 MOV A,@R0 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P0,A
MOV P1,#10111111B ACALL DELAY MOV A,#0FFH MOV P1,A INC R0 MOV A,@R0 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P0,A
MOV P1,#01111111B ACALL DELAY RET
TAB1: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,02H DELAY: MOV R7,#02H DELAY1: MOV R6,#0FFH DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END ;///////程序结束////////
本文由华夏论文中心(http://www.lunwenpaper.com)整理提供。
36