标题:
AD转换测电压
[打印本页]
作者:
daniu
时间:
2014-12-27 18:13
标题:
AD转换测电压
;=================================================================
;程序编写人:兰建文
;编写地点:51hei培训机构
;时间:6月10日下午 星期三
;功能:本程序实现液晶的信息功能,显示数模转换读
;来处理后的数据,精确到0.5。
;=======================开始初始化================================
CS BIT P3.2 ;设置使能口
SCLK BIT P3.4 ;设置时钟脉冲口
ADOUT BIT P3.5 ;设置数据输出口
PIANXUAN EQU P2 ;设置片选口
;========================系统程序==================================
ORG 0000H
JMP MAIN
ORG 30H
;=========================主程序===================================
MAIN:
MOV A,#0H
SETB ADOUT
SETB SCLK
CLR SCLK
CLR CS
CALL READ
SETB CS
CALL HBCD
CALL DISPLAY
JMP MAIN
;=========================读子程序===========================
;输入条件:待转化的单字节十六进制整数在累加器A中。
;输出信息:转化后的BCD码(十位和个位)仍在累加器A中,百位在R3中。
;影响资源:PSW、A、B、R3 堆栈需求:2字节
;============================================================
READ:
MOV R1,#08H
LL:SETB SCLK ;设置下降沿
MOV C,ADOUT
RLC A
CLR SCLK
DJNZ R1,LL
RET
;=====================BCD转化子程序=========================
;输入:"R2、R3、R6"
;输出:"P0口"
;实现的功能:把R2、R3、R6的数输出到P0口显示
;============================================================
HBCD:
MOV B,#25
DIV AB
MOV B,#5
MUL AB
MOV B,#100 ;分离百位,放在R3中
DIV AB
MOV R3,A
MOV A,#10 ;继续分离十位和个位
XCH A,B
DIV AB
MOV R2,A
MOV R6,B
RET
;========================显示子程序==========================
;输入:"A"
;输出:"P0口"
;实现的功能:把A的数输出到P0口显示
;============================================================
DISPLAY:MOV R0,#50
CC: MOV A,R3
MOV DPTR,#TAB0
MOVC A,@A+DPTR
MOV P0,A ;显示百位
MOV PIANXUAN,#03H
CALL DELAY
MOV P0,#0FFH
MOV A,R2
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P0,A ;显示十位
MOV PIANXUAN,#04H
CALL DELAY
MOV P0,#0FFH
MOV A,R6
MOV DPTR,#TAB0
MOVC A,@A+DPTR
MOV P0,A ;显示个位
MOV PIANXUAN,#05H
CALL DELAY
MOV P0,#0FFH
DJNZ R0,CC
RET
;========================延时程序============================
;输入;无
;输出: 无
;实现的功能:延时一段时间
;============================================================
DELAY:MOV R4,#5
MOV R5,#200
D1: NOP
DJNZ R5,$
DJNZ R4,D1
RET
;=======================共阳查表数据==========================
TAB0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
TAB1:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
;=========================程序结束=================================
END
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1