单片机多功能人体秤设计 第10页
MOV T-MIN,A
MOV DPTR,2004H;将时数据放到T-HOUR
MOV A,@DPTR
MOV T-HOUR,A
MOV DPTR,2007H;将日数据放到T-DAY
MOV A,@DPTR
MOV T-DAY,A
MOV DPTR,2008H;将月数据放到T-MON
MOV A,@DPTR
MOV T-MON,A
MOV DPTR,2009H;将日数据放到T-YEAR
MOV A,@DPTR
MOV T-YEAR,A
RET ;返回
串行通信子程序
Sout:MOV TMOD,#20H ;设置定时器T1为模式2
MOV TL1,#F3H ;送初值
MOV TH1,#F3H ;
SETB TR1 ;启动定时器
MOV SCON,#0D0H ;设置串行口为模式3,允许接收
MOV PCON,#50H ;设SMOD=1
MOV R0, #40H ;发送数据首地址到R0
MOV R7, #0DH ;数据块长度为送R7
TRS:MOV A, @R0 ;区数据到A中
MOV C, P ;奇偶标志放入C中
MOV TB8,C ;根据奇偶标志PS设置TB8
MOV SBUF,A ;数据送到SBUF,启动发送
WAIT:JBC TI, CONT ;查询TI=1,跳转并清TI为0
SJMP WAIT ;否则TI=0未发送完毕
CONT:INC R0 ;修改数据地址
DJNZ R7,TRS ;一组数据未发送完,继续
RET ;发送完,子程序返回
测量身高子程序
TIME EQU 60H
TIME1 EQU 61H
TIME2 EQU 62H
TIME3 EQU 63H
TIME4 EQU 64H
TIME5 EQU 65H
数据存储在40H-42H缓冲区中
MAIN:SETB P1.7;使L297工作
SETB P1.6;控制步进电机正转
LOOP:SETB P1.5;发送脉冲
LCALL DELAY1MS
MOV 73H,#00H;计脉冲数
www.751com.cn
CLR P1.5
LCALL DELAY1MS
JB P1.4,LOOP;压头板是否到头部,不到跳转,否则顺序执行
SEVEN:MOV TIME,#07H;脉冲数乘以0.7的压头板下降距离
MOV A,73H
MOV 75H,A
MOV A,74H
MOV 76H,A
MOV A,73H
ADDC A,75H
MOV 75H,A
MOV A,74H
ADDC A,76H
MOV 76H,A
DJNZ TIME,SEVEN
MOV TIME,#0A0H
TE: MOV A,75H
SUBB A,73H
MOV 75H,A
MOV A,76H
SUBB A,74H
MOV 76H,A
DJNZ TIME,TE
MOV A,#07H;2000毫米减压头板下降距离的人身高
MOV 78H,A
MOV A,#0D0H
MOV 77H,A
MOV A,77H
SUBB A,75H
MOV 77H,A
MOV A,78H
SUBB A,76H
MOV 78H,A
MOV A,#03H;将身高数据转化成BCD码送缓冲区
MOV 7AH,A
MOV A,#0E8H
MOV 79H,A
MOV A,#64H
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>