H_CLK BIT P3.4 同上,将P3.4命名为H_CLK
?PR?DELAY30US SEGMENT CODE 函数DELAY30US声明
PUBLIC DELAY30US
RSEG ?PR?DELAY30US
abc XDATA 0A00H
35.8US
DELAY30US:函数体
PUSH 05H 2因为函数用到R5,所以将进入函数之前的R5压入堆栈,返回前提出
MOV r5,#5025 为R5赋饥稿值
DE30S1:
DJNZ r5,DE30S1 2*14=28 对R5减一,判断不等于零跳到DE30S1等于零退出
POP 05h 2把进入函数前的R5恢复
RET函数返回
******************************************************************
?PR?DELAY10US SEGMENT CODE 声明DELAY10US函数
PUBLIC DELAY10US
RSEG ?PR?DELAY10US
16.3US
DELAY10US: DELAY10US函数体
PUSH 05H 2因为函数用到R5,所以将进入函数之前的R5压入堆栈,返回前提出
MOV r5, #20 10为R5赋值
DE10S1:
DJNZr5, DE10S1 5*2=10对R5减一,判断不等于零跳到DE10S1等于零退出
POP 05H 2把进入函数前的R5恢复
RET函数返回
?PR?CLSSIGNAL SEGMENT CODE 声明函数CLSSIGNAL
PUBLIC CLSSIGNAL
RSEG ?PR?CLSSIGNAL
CLSSIGNAL:
WHEN SYSTEM SEND INFORMATION TO PINPAD, SEND STOP BIT AT END, THEN NEXT A
SEND OPERATION. SO WAITTING STOP BIT FINISHED.
CLSL1:
PUSH05H因为函数用到R5,所以将进入函数之前的R5压入堆栈,返回烂段孝前提出
CLSL1_U:
MOV R5, #6EH对R5赋值
CLSL2: JNB H_DATA, CLSL1_U判断p3.2不为零跳转,继续赋初值
JNB H_CLK, CLSL1_U判断p3.4不为零,继续赋初值
DJNZR5, CLSL2如果两个输入都为零对r5减一,燃脊不为零跳到clsl2
POP 05H
RET
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)